Automated Application Layering among Core and Edge Computing Sites

By using the Analytic Hierarchy Process (AHP) method in an information processing system, dynamically assessing application characteristics and workload status of edge computing sites, solving the problem of optimal managed location decisions between the core and edge computing sites, improving resource utilization and processing efficiency.

CN115994026BActive Publication Date: 2025-07-08DELL PROD LP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202111223891.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-10-20
Publication Date
2025-07-08
Estimated Expiration
2041-10-20

AI Technical Summary

Technical Problem

In cloud-based information processing systems, it is difficult to effectively manage and decide the optimal hosting location between the core computing site and the edge computing site, resulting in uneven resource utilization and inefficient processing.

Method used

Using the Analytic Hierarchy Process (AHP) approach, based on the application's characteristics and the workload status of the edge computing site, dynamically evaluate and adjust the application's processing location, and determine the application's hosting location at the core site or edge site by generating scores and weight rankings.

Benefits of technology

It realizes more accurate application processing location decisions, improves resource utilization and processing efficiency, and ensures on-demand processing and balanced resource allocation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115994026B_ABST
    Figure CN115994026B_ABST
Patent Text Reader

Abstract

A device includes a processing device configured to obtain information associated with an application and determine a value associated with a metric characterizing the suitability of hosting the application at an edge computing site of an information technology infrastructure, at least in part based on the obtained information. The processing device is further configured to generate a score for the application, at least in part based on the determined value, and analyze a workload state of the edge computing site. The at least one processing device is further configured to select whether to host the application at a core computing site or at the edge computing site of the information technology infrastructure, at least in part based on the score of the application and the workload state of the edge computing site, and host the application at a selected one of the core computing site and the edge computing site.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This field generally relates to information processing, and more particularly to techniques for managing information processing systems. Background Art

[0002] Information processing systems increasingly utilize reconfigurable virtual resources to meet diverse user needs in an efficient, flexible, and cost-effective manner. For example, cloud computing and storage systems implemented using virtual resources such as virtual machines have been widely adopted. Other virtual resources now widely used in information processing systems include Linux containers. Such containers can be used to provide at least a portion of the virtualized infrastructure of a given cloud-based information processing system. However, significant challenges can arise in service management in cloud-based information processing systems. Summary of the Invention

[0003] Exemplary embodiments of the present disclosure provide techniques for automated application layering among core and edge computing sites.

[0004] In one embodiment, a device includes at least one processing device, the at least one processing device including a processor coupled to a memory. The at least one processing device is configured to perform the following steps: obtain information associated with an application, determine values associated with two or more metrics characterizing the suitability of hosting the application at one or more edge computing sites of an information technology infrastructure, at least in part based on the obtained information. The at least one processing device is further configured to perform the following steps: generate a score for the application, at least in part based on the determined values associated with the two or more metrics characterizing the suitability of hosting the application at the one or more edge computing sites, and analyze the workload status of the one or more edge computing sites. The at least one processing device is further configured to perform the following steps: select whether to host the application at a core computing site of the information technology infrastructure or at the one or more edge computing sites, at least in part based on the score of the application and the workload status of the one or more edge computing sites, and host the application at a selected one of the core computing site and the one or more edge computing sites.

[0005] These and other exemplary embodiments include, but are not limited to, methods, devices, networks, systems, and processor-readable storage media. Brief Description of the Drawings

[0006] Figure 1 is a block diagram of an information processing system configured for automated application layering among core and edge computing sites in an exemplary embodiment.

[0007] Figure 2 is a flowchart of an exemplary process for automating application layering among core and edge computing sites in an illustrative embodiment.

[0008] Figure 3 Shows the process flow of the hierarchical analysis process in an illustrative embodiment.

[0009] Figure 4 Shows the structure of the hierarchical analysis process in an illustrative embodiment.

[0010] Figure 5 Shows a table of the relative importance scores of elements in the hierarchical analysis process in an illustrative embodiment.

[0011] Figure 6 Shows the workflow of the application data processing location decision-making algorithm in an illustrative embodiment.

[0012] Figure 7 Shows a table of the application score range and the associated processing location selection in an illustrative embodiment.

[0013] Figure 8 Shows the workflow of the application processing location decision-making algorithm in an illustrative embodiment.

[0014] Figure 9A and Figure 9B Shows the distribution of applications among edge sites and core sites before and after executing the application processing location decision-making algorithm in an illustrative embodiment.

[0015] Figure 10 Shows an example of an application scenario and the associated processing location placement and migration strategy in an illustrative embodiment.

[0016] Figure 11 and Figure 12 Shows an example of a processing platform that can be used to implement at least a portion of an information processing system in an illustrative embodiment. Detailed Description

[0017] Exemplary information processing systems and associated computers, servers, storage devices, and other processing devices will be described herein to illustrate illustrative embodiments. However, it should be understood that the embodiments are not limited to use with the specific illustrative system and device configurations shown. Accordingly, the term "information processing system" as used herein is intended to be construed broadly so as to encompass, for example, processing systems that include cloud computing and storage systems, as well as other types of processing systems that include various combinations of physical and virtual processing resources. Thus, an information processing system may include, for example, at least one data center or other type of cloud-based system that includes one or more clouds that host tenants with access to cloud resources.

[0018] Figure 1 FIG. 100 illustrates an information processing system 100 configured according to an illustrative embodiment. It is assumed that the information processing system 100 is built on at least one processing platform and provides functionality for automated application layering among a core computing site 102 and a set of edge computing sites 104-1, 104-2... 104-N (collectively referred to as edge computing sites 104). As used herein, the term "application" is intended to be construed broadly to include applications, microservices, and other types of services. It is assumed that the core computing site 102, also referred to as the core data center 102, includes a plurality of core devices or core nodes ( Figure 1 not shown in FIG. 100) that run core-hosted applications 108-C. It is assumed that each of the edge computing sites in the edge computing sites 104 includes a plurality of edge devices or edge nodes ( Figure 1 not shown in FIG. 100) that run edge-hosted applications 108-1, 108-2... 108-N (collectively referred to as edge-hosted applications 108-E). The core-hosted applications 108-C and the edge-hosted applications 108-E are collectively referred to as applications 108.

[0019] The information processing system 100 includes a plurality of client devices coupled to each of the edge computing sites in the edge computing sites 104. A group of client devices 106-1-1 …… 106-1-M (collectively referred to as client devices 106-1) are coupled to the edge computing site 104-1, a group of client devices 106-2-1 …… 106-2-M (collectively referred to as client devices 106-2) are coupled to the edge computing site 104-2, and a group of client devices 106-N-1 …… 106-N-M (collectively referred to as client devices 106-N) are coupled to the edge computing site 104-N. The client devices 106-1, 106-2 …… 106-N are collectively referred to as client devices 106. It should be understood that the specific number "M" of client devices 106 connected to each of the edge computing sites in the edge computing sites 104 may be different. In other words, the number M of client devices 106-1 coupled to the edge computing site 104-1 may be the same as or different from the number M of client devices 106-2 coupled to the edge computing site 104-2. Additionally, a particular client device 106 may be connected or coupled to only a single edge computing site in the edge computing sites 104 at any given time, or may be coupled to multiple edge computing sites in the edge computing sites 104 at any given time, or may be connected to different edge computing sites in the edge computing sites 104 at different times.

[0020] The client devices 106 may include, for example, physical computing devices in any combination, such as Internet of Things (IoT) devices, mobile phones, laptop computers, tablet computers, desktop computers, or other types of devices utilized by enterprise members. Such devices are examples of what are more generally referred to herein as "processing devices". Some of these processing devices are also generally referred to herein as "computers". The client devices 106 may also or alternatively include virtualized computing resources, such as virtual machines (VMs), containers, and the like.

[0021] In some embodiments, the client devices 106 include corresponding computers associated with a particular company, organization, or other enterprise. Additionally, at least some portions of the system 100 may also be referred to herein as collectively including an "enterprise". As will be appreciated by those skilled in the art, numerous other operational scenarios involving various different types and arrangements of processing nodes are possible.

[0022] Assume that the network coupling the client device 106, the edge computing site 104, and the core computing site 102 includes a global computer network such as the Internet, but other types of networks can be used, including wide area networks (WANs), local area networks (LANs), satellite networks, telephone or wired networks, cellular networks, wireless networks (such as WiFi or WiMAX networks), or portions or combinations of these and other types of networks. In some embodiments, a first type of network (e.g., a public network) couples the client device 106 to the edge computing site 104, while a second type of network (e.g., a private network) couples the edge computing site 104 to the core computing site 102.

[0023] In some embodiments, the core computing site 102, the edge computing site 104, and the core together provide at least a portion of the information technology (IT) infrastructure operated by an enterprise, where the client device 106 is operated by a user of the enterprise. Thus, the IT infrastructure including the core computing site 102 and the edge computing site 104 can be referred to as an enterprise system. As used herein, the term "enterprise system" is intended to be broadly construed to include any group of systems or other computing devices. In some embodiments, the enterprise system includes cloud infrastructure, which includes one or more clouds (e.g., one or more public clouds, one or more private clouds, one or more hybrid clouds, combinations thereof, etc.). The cloud infrastructure can host at least a portion of the core computing site 102 and / or the edge computing site 104. A given enterprise system can host assets associated with multiple enterprises (e.g., two or more different merchants, organizations, or other entities).

[0024] Although not explicitly shown in Figure 1 one or more input / output devices such as keyboards, displays, or other types of input / output devices can be used to support one or more user interfaces to the core computing site 102 and the edge computing site 104, and to support communication between the core computing site 102, the edge computing site 104, and other related systems and devices not explicitly shown.

[0025] As described above, the core computing site 102 hosts the core-hosted application 108-C, and the edge computing site 104 hosts the edge-hosted application 108-E, where the core-hosted application 108-C and the edge-hosted application 108-E are collectively referred to as the application 108. The client device 106 sends a request to access the application 108 to the edge computing site 104 (e.g., to an edge computing device or its edge node). If a given request from one of the client devices in the client device 106 (e.g., the client device 106-1-1) involves one of the edge-hosted applications in the edge-hosted application 108-1 at the edge computing site 104-1, the edge computing device or edge node at the edge computing site 104-1 will serve the given request and provide a response (if applicable) to the requesting client device 106-1-1. If the given request involves one of the core-hosted applications in the core-hosted application 108-C, the edge computing device or edge node at the edge computing site 104-1 will forward the given request to the core computing site 102. The core computing site 102 will serve the given request and provide a response (if applicable) back to the edge computing site 104-1, and the edge computing site 104-1 will in turn provide the response back to the requesting client device 106-1-1.

[0026] Different applications in the application 108 may have different required performance or other characteristics. Therefore, based on the required performance, metrics, or other characteristics of the application 108, it may be more beneficial to host some of the applications in the application 108 at one or more of the edge computing sites in the core computing site 102 or the edge computing site 104. Additionally, the required performance, metrics, or other characteristics of the application 108 may change over time, such that a given application currently hosted on one of the edge computing sites in the edge computing site 104 may be better suited to be hosted by the core computing site 102, or vice versa. In an illustrative embodiment, the edge computing site 104 and the core computing site 102 implement corresponding instances of application tiering logic 110-1, 110-2... 110-N and 110-C (collectively referred to as application tiering logic 110). The application tiering logic 110 provides dynamic allocation of processing locations for the application 108 at the core computing site 102 and the edge computing site 104. The application processing location can be set when the application 108 is initiated and can be improved or dynamically adjusted over time in response to various conditions (e.g., a request to perform rebalancing from one of the client devices in the client device 106, a change in application requirements, a periodic change, a change in the workload of different edge computing sites in the edge computing site 104, or a related workload change, etc.).

[0027] The application layering logic 110 is configured to obtain information associated with an application 108 hosted in an IT infrastructure including a core computing site 102 and an edge computing site 104. The application layering logic 110 is further configured to determine values associated with two or more metrics characterizing the suitability of hosting the application 108 at the edge computing site 104, at least in part based on the obtained information. The application layering logic 110 is further configured to generate a score for the application 108, at least in part based on the determined values associated with two or more metrics characterizing the suitability of hosting the application 108 at the edge computing site 104. The application layering logic 110 is further configured to analyze the workload state of the edge computing site 104 and select, at least in part based on the score of the application 108 and the workload state of the edge computing site 104, the corresponding application among the applications 108 to be hosted at the core computing site 102 or at the edge computing site 104.

[0028] In some embodiments, information associated with the application 108 (e.g., various metrics) and information about the load at the edge computing site 104 may be stored in a database or other data store. The database or other data store may be implemented using one or more of the storage systems in a storage system that is part of or otherwise associated with one or more of the core computing site 102, the edge computing site 104, and the client device 106. The storage system may include a scale-out all-flash content-addressable storage array or other type of storage array. Thus, the term "storage system" as used herein is intended to be interpreted broadly and should not be considered limited to content-addressable storage systems or flash-based storage systems. A given storage system as the term is used broadly herein may include, for example, network-attached storage devices (NAS), storage area networks (SAN), direct-attached storage devices (DAS), and distributed DAS, as well as combinations of these and other storage types (including software-defined storage devices). Other specific types of storage products that may be used to implement the storage system in illustrative embodiments include all-flash and hybrid flash storage arrays, software-defined storage products, cloud storage products, object-based storage products, and scale-out NAS clusters. Combinations of multiple storage products among these and other storage products may also be used to implement a given storage system in illustrative embodiments.

[0029] Although shown as elements of the core computing site 102 and the edge computing site 104 in this embodiment, the application layering logic 110 in other embodiments may be implemented at least partially external to the core computing site 102 and the edge computing site 104 as, for example, a stand-alone server, a server group, or other types of systems coupled to the core computing site 102 and / or the edge computing site 104 via one or more networks. In some embodiments, the application layering logic 110 may be implemented at least partially within one or more of the client devices 106.

[0030] Assume Figure 1 The core computing site 102 and the edge computing site 104 in the embodiment are implemented using at least one processing device. Each such processing device generally includes at least one processor and an associated memory, and implements at least a part of the functionality of the application layering logic 110.

[0031] It should be understood that Figure 1 The specific arrangements of the core computing site 102, the edge computing site 104, the client devices 106, the applications 108, and the application layering logic 110 illustrated in the embodiment are presented only by way of example, and alternative arrangements may be used in other embodiments. As discussed above, for example, the application layering logic 110 may be implemented external to one or both of the core computing site 102 and the edge computing site 104. At least some parts of the application layering logic 110 may be implemented at least partially in the form of software stored in a memory and executed by a processor.

[0032] It should be understood that Figure 1 The specific group of elements shown for automated application layering among the core computing site 102 and the edge computing site 104 is presented only by way of illustrative example, and in other embodiments, additional or alternative elements may be used. Thus, another embodiment may include different arrangements of additional or alternative systems, devices, and other network entities, as well as modules and other components.

[0033] As will be described in more detail above and hereinabove, the core computing site 102, the edge computing site 104, the client devices 106, and other parts of the system 100 may be part of a cloud infrastructure.

[0034] Figure 1 The core computing site 102, the edge computing site 104, the client devices 106, and other components of the information processing system 100 in are assumed to be implemented using at least one processing platform including one or more processing devices, each processing device having a processor coupled to a memory. Such processing devices may illustratively include a specific arrangement of computing, storage, and network resources.

[0035] The core computing site 102, the edge computing site 104, and the client device 106 or their components may be implemented on respective different processing platforms, but numerous other arrangements are possible. For example, in some embodiments, at least some portions of the client device 106 and the edge computing site 104 are implemented on the same processing platform. One or more of the client devices in the client device 106 may thus be implemented at least partially within at least one processing platform that implements at least a portion of the edge computing site 104 and / or the core computing site 102.

[0036] As used herein, the term "processing platform" is intended to be construed broadly to cover, by way of illustration and not limitation, multiple sets of processing devices and associated storage systems that are configured to communicate over one or more networks. For example, a distributed implementation of the system 100 is possible, where certain components of the system reside in one data center at a first geographic location, while other components of the system reside in one or more other data centers at one or more other geographic locations that may be remote from the first geographic location. Thus, in some implementations of the system 100, the core computing site 102, the edge computing site 104, and the client device 106 or portions or components thereof may reside in different data centers. Many other distributed implementations are possible.

[0037] The following will be combined with Figure 11 and Figure 12 to more specifically describe additional examples of processing platforms utilized in the illustrative embodiments to implement the core computing site 102, the edge computing site 104, the client device 106, and other components of the system 100.

[0038] It should be understood that these and other features of the illustrative embodiments are presented by way of example only and should not be construed as limiting in any way.

[0039] An exemplary process for automated application layering among the core and edge computing sites will now be described in more detail with reference to Figure 2 the flowchart of. It should be understood that this particular process is merely an example, and additional or alternative processes for automated application layering among the core and edge computing sites may be used in other embodiments.

[0040] In this embodiment, the process includes steps 200 to 210. It is assumed that these steps are executed by the core computing site 102 and the edge computing site 104 that utilize the application tiered logic 110. The process begins at step 200, obtaining information associated with the application. In step 202, values associated with two or more metrics characterizing the suitability of hosting the application at one or more edge computing sites in the information technology infrastructure are determined based on the information obtained in step 200. The two or more metrics may include at least two of: the time sensitivity of the application data generated by the application, the security of the application data generated by the application, the bandwidth cost associated with the application data generated by the application, and the complexity of the application data generated by the application.

[0041] In step 204, a score for the application is generated based at least in part on the determined values associated with two or more metrics characterizing the suitability of hosting the application at one or more edge computing sites. Step 204 may utilize an analytic hierarchy process algorithm that has the goal of determining scores for different types of applications, uses two or more metrics as criteria, and uses application types as alternatives. In step 206, the workload status of one or more edge computing sites is analyzed.

[0042] In step 208, it is selected whether to host the application at the core computing site in the information technology infrastructure or at one or more edge computing sites based at least in part on the score of the application and the workload status of one or more edge computing sites. Step 208 may include: in response to the score of the application being greater than a high watermark threshold, selecting to host the application at one or more edge computing sites, and in response to the score of the application being less than a low watermark threshold, selecting to host the application at the core computing site. Step 208 may also include: in response to the score of the application being between the high watermark threshold and the low watermark threshold, determining whether the workload status of one or more edge computing sites exceeds a specified load threshold. In response to the workload status of one or more edge computing sites exceeding the specified load threshold, step 208 may include: selecting to host the application at the core computing site. In response to the workload status of one or more edge computing sites being equal to or lower than the specified load threshold, step 208 may include: selecting to host the application at one or more edge computing sites.

[0043] Step 208 may be repeated in response to detecting one or more specified conditions. The one or more specified conditions may include at least one of the following: detecting a threshold change in the workload status of at least one or more edge computing sites, detecting a threshold change in the available resources of at least one edge computing site among at least one or more edge computing sites, detecting a threshold change in the value of at least one of two or more metrics that at least characterize the suitability of hosting an application at one or more edge computing sites, etc.

[0044] In step 210, the application is hosted at a selected one of the core computing site and one or more edge computing sites. It may be determined whether the application is currently hosted at a selected one of the core computing site and one or more edge computing sites. In response to determining that the application is not currently hosted at a selected one of the core computing site and one or more edge computing sites, the application may be migrated to a selected one of the core computing site and one or more edge computing sites.

[0045] Cloud computing offers many advantages, including but not limited to playing an important role in making optimal decisions, while providing the benefits of reduced IT costs and scalability. Relative to cloud computing, edge computing provides another option, offering faster response times and higher data security. Instead of constantly sending data back to the core computing site (also referred to herein as the core site, which may be implemented as or within a cloud data center), edge computing enables devices to run at edge computing sites (also referred to herein as edge sites) to collect and process data in real time, enabling the devices to respond faster and more effectively. Edge sites can also be used in conjunction with a core site implemented as or within a software-defined data center (SDDC), virtual data center (VDC), etc., where dynamic application processing location and its real-time adjustment are desired based on the requirements or workloads at the edge sites.

[0046] Fortunately, choosing to emphasize edge computing or cloud computing is not an "either-or" proposition. As IoT devices become more widespread and powerful, organizations and other entities will need to implement effective edge computing architectures to harness the potential of this technology. By combining edge computing with centralized cloud computing, entities can maximize the potential of both approaches while minimizing their limitations. However, for entities leveraging hybrid edge and cloud computing environments, finding the right balance between edge computing and cloud computing is a major issue. With the right combination of edge and cloud, entities can see a true return on investment (ROI) and generally reduce costs. That is, the right tools and computing types will ensure that an entity's data is accurate, costs are kept under control, and operations are protected.

[0047] Given that different applications (and their associated application data) can have different characteristics and requirements, it is difficult for end users to precisely determine whether an application is more suitable for processing at an edge site or a core site (such as a cloud data center). Additionally, there may be some applications that can only be processed at an edge site, other applications that can only be processed at a core site, and still other applications that can be processed at either an edge site or a core site depending on resource conditions (e.g., available resources at the edge site). Different edge sites can have different amounts of resources (e.g., computing resources, storage resources, and network resources). Moreover, even if two edge sites have the same resources, they can have different associated workload states at different points in time, depending on the real-time data processing flow.

[0048] Accordingly, there is a need for comprehensive and efficient methods for evaluating application processing locations and making decisions. Illustrative embodiments provide such a solution for application layer processing location decision-making in, for example, hybrid edge and cloud computing environments. The solutions described herein evaluate multiple metrics based on different application characteristics, use the Analytic Hierarchy Process (AHP) method to calculate a weight ranking for each type of application (or application data), and then determine whether a specific application should be processed at an edge site or a core site. In some embodiments, a comprehensive evaluation of the score or weight ranking of each application is performed, and then the processing location of the application is dynamically assigned and located (or re-located) based on real-time processing requirements and the current edge site performance or workload state. By adjusting the processing locations of different applications (e.g., between an edge site and a core site), the system can achieve balanced resource utilization and more efficient application processing capabilities. The solutions described herein are capable of achieving more accurate and appropriate application processing location decisions.

[0049] Compared to a core site (such as a cloud data center), an edge site typically has limited computing and storage resources. End users desire that applications can be appropriately distributed between an edge site and a core site on demand to maximize the resources of the edge site. In some embodiments, a multi-metric evaluation model is used to rank the weight values of each type of application data and further to determine what types of applications to process at an edge site versus a core site. The higher the weight or score of a particular application (or the data of that application), the more likely it is that the application will be processed at an edge site. To improve the balance and performance of the application processing location distribution model, some embodiments consider the following rules: (1) applications with a relatively high ranking should be processed at an edge site; and (2) applications with a relatively low ranking should be processed at a core site.

[0050] Various metrics can be used to evaluate application processing requirements and computing resources. In some embodiments, the following metrics are utilized: time sensitivity; security; bandwidth cost; complexity; and optional application-specific factors to be considered. However, it should be understood that various other metrics may be used in addition to or in place of one or more of these metrics. These metrics will now be described in detail.

[0051] The time sensitivity of an application or its data refers to the speed at which information is needed (e.g., considering the duration from when the information is generated until it is needed, such as seconds, minutes, hours, etc.). The faster the speed at which the information is needed, the less likely it is that such an application or its data should be sent to the core site and the more likely it should be kept at the edge site. For example, autonomous vehicle data can be highly time-sensitive.

[0052] The security of an application or its data refers to IT security and reliability in protecting computer systems and networks from information leakage, protecting the hardware, software, or electronic data of computer systems and networks from theft or damage, and protecting the services provided by computer systems and networks from interruption or misdirection. The security of an application or its data can also refer to the security and reliability related to the physical location where the computer system is running (e.g., the security of a building or a factory floor as it relates to fire, explosion, barbed wire, etc.). For example, the risk of communication interruption for an offshore drilling rig may far outweigh the cost-benefit of keeping all necessary computing assets on the platform itself. Security can also be related to privacy, especially for personal IoT devices. While the core site (e.g., a cloud data center) does provide security, for entities with significant security concerns, adding edge computing is often the preferred choice.

[0053] Bandwidth cost refers to the amount of application data generated or expected to be generated by an application. If a particular application generates a large amount of data but not all of the data is needed for reasonable analysis, then only summary data may need to be sent. For example, a wind farm can consist of hundreds of wind turbines that generate a large amount of data. It is impractical to bear the cost of transmitting all of this data to the core site for monitoring the overall health of the wind farm, so only summary data should be sent (e.g., where such summary data can be determined via processing at the edge site).

[0054] The complexity of an application or its data refers to whether the application data is complex enough to have to be transferred to the core site (e.g., a cloud data center) for in-depth mining. This is an important and challenging factor. For example, the data of an application can be analyzed to see whether a few data streams are being examined to solve an urgent problem (e.g., optimizing a conveyor belt), or whether a large number of data streams are being examined to solve a less urgent problem (e.g., comparing thousands of lines across multiple facilities).

[0055] As described above, other optional factors or metrics can be set according to the specifications of a particular application or application type.

[0056] For a particular use case, the end user can select some or all of the above metrics as needed. Depending on the nature of the analysis being considered, some of these metrics may have a degree of correlation, or some metrics may have a higher priority compared to other metrics. More importantly, the levels or values of these metrics are largely subjectively defined. Therefore, it is difficult to compress the evaluation of the application and its associated data in a simple manner. Similarly, some embodiments utilize AHP in dealing with decision-making problems in complex application scenarios.

[0057] AHP is an effective tool for dealing with complex decision-making. AHP is based on mathematics and psychology and represents an accurate method for quantifying the weights of decision criteria. By reducing complex decisions to a series of pairwise comparisons and then synthesizing the results, AHP helps capture both the subjective and objective aspects of a decision. AHP provides a rational framework for decision-making and for relating these elements to the overall goal by quantifying its criteria and alternatives. In addition, AHP incorporates useful techniques for checking the consistency of the decision-maker's evaluations, thus reducing bias in the decision-making process. Figure 3 An overview of the AHP process 300 is shown, which includes a problem structuring phase 301, an evaluation phase 303, and a selection or decision phase 305. In the problem structuring phase 301, the decision problem and goal are defined in step 301-1, and the decision criteria and alternatives are identified and structured in step 301-2. In the evaluation phase 303, the relative values of the alternatives are judged according to each decision criterion in step 303-1. In step 303-2, the relative importance of the decision criteria is judged. In step 303-3, the set of judgments in steps 303-1 and 303-2 is aggregated, and in step 303-4, an inconsistency analysis is performed on such judgments. In the selection or decision phase 305, the weights of the criteria and priorities of the alternatives are calculated in step 305-1. In step 305-2, a sensitivity analysis is performed.

[0058] The AHP process or method includes three parts: the final goal or problem to be solved; all possible solutions (called alternatives); and the criteria by which the alternatives are judged. In some embodiments, the goal is to determine the weight values for each type of application or application data. The criteria include various metrics such as those described above (e.g., time sensitivity, security, bandwidth cost, complexity, etc.). By refining these in the criteria layer, the system can obtain a more accurate assessment. The alternatives are defined as each type of application or application data. Similar to the criteria layer definition, these can be added to or refined based on the desired use case (e.g., by the end user). Figure 4 Illustrates an AHP structure 400 for application processing location decision-making evaluation. The objective 401 is to determine the weight values 410 for each type of application or application data. The criteria 403 include time sensitivity 430-1, security 430-2, bandwidth cost 430-3, and complexity 430-4. The alternatives include application data 450-1, application data 450-2... application data 450-S.

[0059] During the AHP evaluation, the vector of criteria weights and the matrix of alternative scores are calculated and consistency is checked. The weights, scores, and final rankings are obtained based on pairwise relative evaluations of both the criteria and the options provided by the end user. Assume the matrix is a real matrix, where is the number of evaluation criteria / alternatives being considered. Each entry of the matrix represents the importance of the -th element relative to the -th element. If , then the -th element is more important than the -th element, while if , then the -th element is not as important as the -th element. If two elements have the same importance, then the entry is 1. The entries and satisfy the following constraint: . For all , . The relative importance between two elements is measured according to a numerical scale from 1 to 9, as shown in the table 500 of Figure 5 . It should be noted that Figure 5The specific ranges (e.g., 1 to 9) shown in Table 500 and the associated explanations are not limited thereto. In other embodiments, different ranges may be used, and different portions of the range may be associated with different explanations. The ranges may generally exhibit slight inconsistencies. However, these do not pose serious difficulties to AHP. By implementing the AHP method based on pairwise evaluations, the vector of the standard weights and the matrix of the alternative scores can be calculated, and the consistency can also be checked. Then, the weight values of each alternative are calculated to obtain the final ranking of each type of application or application data.

[0060] Based on the AHP process 300 and the AHP structure 400 described above, an application data processing location decision-making algorithm can be developed. Given a type of application data, the first step is to determine the required factual evaluation metrics and calculate the weight values of each type of application data rank using the AHP method. Next, the weight values of each type of application data are compared with an acceptable threshold represented as . If , the application with that type of application data is processed locally at the edge site. Otherwise, the data of the application is transmitted and processed at the core site (e.g., a remote cloud data center). The specific value of can be selected as needed. In some embodiments, is set to 0.5.

[0061] Figure 6 shows the workflow 600 of the application data processing location decision-making algorithm. In step 601, the process starts with evaluating a type of application data. In step 603, the weight values of each type of application data are calculated using AHP . In step 605, it is determined whether . If the result determined in step 605 is yes (e.g., for a specific type of application data), the workflow 600 proceeds to step 607, in which it is determined to process locally at the edge site the application with that type of application data. If the result determined in step 605 is no (e.g., for a specific type of application data), the workflow 600 proceeds to step 609, in which it is determined to process centrally or remotely at the core site (e.g., a cloud data center) the application with that type of application data. It should be understood that in some cases, a given application may process multiple different types of application data. In such cases, the weight values of each of the different types of application data utilized by the given application may be considered to determine where to process a given application. For example, weight values of different types of application data can be combined (e.g., averaged, weighted averaged, etc. based on the relative amounts of different types of application data used or generated by the given application) . As another example, the highest or lowest weight value among different types of application data can be used to determine where to process a given application. Various other examples are possible.

[0062] To evaluate the requirements of different applications (e.g., and to determine whether such applications should be processed at an edge site or at a core site), multiple metrics (e.g., time sensitivity, security, bandwidth cost, complexity, etc.) can be defined as described above. Such metrics are used to perform a compressive ranking of the weight values for each application or application type. AHP is used to help accurately quantify the weight of each application, where the higher the weight of an application, the more likely it is to be processed at an edge site. The AHP structure 400 described above can be utilized, where the alternative 405 is an application or application type (instead of an application data type). By implementing AHP, some embodiments can obtain a ranking of the weight values for each alternative (e.g., in the range [0, 1]) (e.g., where the alternatives here are assumed to be different applications). The higher the score or weight an application has, the more likely it is to be processed at an edge site.

[0063] To ensure that applications can be processed in a timely manner on demand according to their associated requirements, different ranges can be defined based on the weight values assigned to the applications. For example, Figure 7 Table 700 illustrates ranges of scores or weight values of applications and their associated processing location selections. In this example, applications with a score or weight value higher than 0.9 must be processed at an edge site, while applications with a score or weight value lower than 0.1 must be processed at a core site. Applications with a score between 0.1 and 0.9 can be processed at an edge site or at a core site. This also means that the computing power of the edge site needs to be at least sufficient to handle >0.9 weighted applications. It should be noted that the specific values given in Table 700 are presented by way of example, and in other embodiments, different thresholds can be used to determine whether an application should be processed at an edge site or at a core site.

[0064] An application processing location balancing distribution algorithm based on dynamic scores is used to assign and locate (or relocate) applications between an edge site and a core site. Assuming there is Types of applications, each type of application having a score or weight assigned to it using the techniques described above. Each time a new application appears (e.g., an end-user request initiates or runs a specific application), the score of the application is compared with a defined threshold (e.g., Figure 7 the threshold specified in table 700 of

[0065] Figure 8 ). If the score of the application is higher than the high watermark threshold (e.g., 0.9), the application is processed at the edge site. If the score of the application is lower than the low watermark threshold (e.g., 0.1), the application is processed at the core site. If the score of the application is between the high watermark threshold and the low watermark threshold (e.g., 0.1 ≤ score ≤ 0.9), the edge site performance is evaluated. If the current performance of the edge site exceeds the acceptable threshold θ, which corresponds to the edge site being too busy to handle more applications and thus the application will be processed at the core site. If the current performance of the edge site is equal to or lower than the acceptable threshold θ, the edge site is not too busy to handle more applications, so the application will be processed at the edge site. Advantageously, the algorithm will dynamically evaluate and compare the real-time performance of the current edge site resources, thus ensuring that high-scoring applications are always efficiently processed at the edge site first, while also maintaining a balanced resource utilization among the core and edge sites. Shows the workflow 800 of the application processing location decision-making algorithm. In step 801, when there is a request to initiate a new application, the workflow 800 starts. The request may be submitted by a client device, and the workflow 800 is used to determine whether the new application should be processed at the edge site or at the core site. In step 803, the score of each application or application type is calculated. The score of each application or application type can be determined using the AHP algorithm as described above. For example, the type of application data processed by a specific application can be identified, and the score assigned to the application can be determined at least in part based on the score or weight associated with such type of application data. When an application uses two or more different types of application data, the scores or weights associated with the two or more different types of application data can be analyzed to determine the overall score or weight of the application. For example, the average value of the scores or weights associated with the two or more different types of application data can be determined. The average value itself can be a weighted average, where the weights are based on the relative amounts of the different types of application data to be processed by the application. As another example, the highest (or lowest) score or weight associated with the two or more different types of application data can be used as the score or weight of the application. Various other examples are possible. Additionally, the score or weight of a specific application does not have to be based solely on the scores or weights of the types of application data processed by the application.

[0066] In step 805, the score of the new application is compared with the application classification rules. In Figure 8 , it is assumed that the rules or thresholds specified in Figure 7 Table 700 are used, but it should be noted that in other embodiments, various other types of rules and thresholds can be used. In step 807, it is determined whether the score of the new application is greater than the high watermark threshold (e.g., greater than 0.9). If the result determined in step 807 is yes, then in step 809, the new application is processed at the edge site. If the result determined in step 807 is no, then in step 811, it is determined whether the score of the new application is greater than the low watermark threshold (e.g., greater than 0.1). If the result determined in step 811 is yes, the process advances to step 813, where the current performance at the edge site is evaluated. In step 815, it is determined whether the current performance at the edge site is less than the acceptable threshold (e.g., θ). If the result determined in step 815 is yes, then in step 809, the new application is processed at the edge site. If the result determined in step 811 or step 815 is no, then in step 817, the new application is processed at the core site.

[0067] Figure 9A and Figure 9B show an example of the distribution of applications among a core site 901 (e.g., a cloud data center) and a set of edge sites 903-1, 903-2, and 903-3 (collectively edge sites 903). It should be noted that the specific number of edge sites 903 is not limited to three - there can be more or fewer than three edge sites in other embodiments. The core site 901 runs a set of applications 910, while the edge sites 903 similarly run sets of applications 930-1, 930-2, and 930-3 (collectively applications 930). It is assumed that the edge sites 903 are associated with corresponding sets of edge sensors 932-1, 932-2, and 932-2 (collectively edge sensors 932) and have corresponding edge workloads 934-1, 934-2, and 934-3 (collectively edge workload or edge load 934). Although shown as being implemented inside the edge sites 903 in Figure 9A and Figure 9B , in other embodiments, some or all of the edge sensors 932 can be implemented outside the edge sites 903. Different shadings are used to indicate applications in applications 910 and 930 with different score ranges and to indicate the edge load 934 of the edge sites 903.

[0068] Figure 9AThe case where the exemplary applications 910 and 930 are statically assigned based on scores without considering the current real-time workload status (e.g., edge load 934). This can lead to undesirable situations such as Figure 9A the situation shown. Edge site 903-1 has a heavy workload 934-1 and also has many applications 930-1 assigned to it. This not only affects edge site 903-1, but can also reduce the overall system efficiency because the resources at core site 901 may not be fully utilized. In addition, edge site 903-2 has a light workload 934-2 and relatively few (compared to edge site 903-1) applications 930-2 running on it. As a result, the resources at edge site 903-2 may be wasted.

[0069] Figure 9B The case of dynamically assigning applications to core site 901 and edge sites 903 according to the performance of edge sites 903 (e.g., edge load 934). As shown, the undesirable situations discussed above with respect to Figure 9A are advantageously avoided because each edge site 903 has a moderate edge load 934 and applications 910 and 930 have optimal or fastest processing and response.

[0070] It should be noted that although the assumed Figure 8 workflow 800 starts or originates from step 801, when a request to initiate a new application is received, workflow 800 can also be used to adjust the processing location of applications (e.g., among core and edge sites) periodically or dynamically in response to various specified conditions (e.g., periodically in response to determining that the associated load of a particular edge site exceeds certain thresholds, in response to determining a threshold mismatch in the load between at least two or more edge sites, in response to determining underutilization or overutilization of resources at the core site or at one or more edge sites, etc.). The scores of the applications can be used to adjust the application processing location according to the current edge site performance (e.g., within a most recent time period defined by the end user). Such scenarios include, but are not limited to: periodically correcting non-optimal assignments of application processing locations when the edge site performance changes; redefining the assignment of application processing locations when new application requirements are involved (e.g., this can cause the application scores or score distributions to change); redefining the assignment of application processing locations when new devices are involved (e.g., adding resources to or removing resources from the core site or one or more edge sites, when adding or removing one or more edge sites, etc.), such that the edge site load changes.

[0071] Exemplary implementations will now be described with respect to "intelligent" vehicles. Intelligent vehicle applications may need to handle a variety of scenarios, such as obstacle analysis and determination, obstacle analysis model updates, air conditioner or other component fault handling, etc. Such application scenarios are evaluated and classified according to a set of metrics (e.g., time sensitivity, safety, bandwidth cost, and complexity) to determine an application processing location strategy. This is a complex decision-making problem, partly because: the use of multiple factors with internal correlations needs to be considered; the evaluation tends to be qualitative and subjective; and the exact scores for each application need to be further used for on-demand balancing or migration.

[0072] Figure 10 Illustrate the values of such metrics for different application scenarios 1005-1 (obstacle analysis and determination), 1005-2 (obstacle analysis model update), and 1005-3 (air conditioner or other component fault handling) with different associated metric values 1010-1, 1010-2, and 1010-3 (e.g., shown as low, medium, or high). Different sets of metric values 1010-1, 1010-2, and 1010-3 for different application scenarios 1005-1, 1005-2, and 1005-3 result in the three different strategies 1015-1, 1015-2, and 1015-3 shown. AHP can be used to accurately quantify the weights of decision criteria, where: the weights of multiple metrics are considered; the criteria and alternative options are quantified; and a detailed weight ranking for each application or application data is provided. After application classification, dynamic score-based application processing location balancing and distribution migration can be performed. In Figure 10 the example, application scenario 1005-1 has a strategy 1015-1 to be processed at an edge site, where the application is not eligible to migrate on demand between the core and edge sites. Application scenario 1005-2 has a strategy 1015-2 to be processed at a core site, where the application is not eligible to migrate on demand between the core and edge sites. Application scenario 1005-3 has a strategy 1015-3 to be processed at either the core site or the edge site, where the application is eligible to migrate on demand between the core and edge sites.

[0073] It should be understood that the specific advantages described above and elsewhere in this document are associated with specific illustrative embodiments and need not be present in other embodiments. Moreover, the specific types of information processing system features and functionality illustrated in the figures and described above are merely exemplary, and numerous other arrangements may be used in other embodiments.

[0074] Now reference will be made to Figure 11 and Figure 12Describe in more detail illustrative embodiments of a processing platform that implements functionality for automated application layering among core and edge computing sites. Although described in the context of system 100, these platforms can also be used to implement at least a portion of other information processing systems in other embodiments.

[0075] Figure 11 An exemplary processing platform including cloud infrastructure 1100 is shown. Cloud infrastructure 1100 includes a combination of physical and virtual processing resources that can be used to implement at least a portion of information processing system 100 in Figure 1 . Cloud infrastructure 1100 includes a plurality of virtual machines (VMs) and / or container sets 1102-1, 1102-2... 1102-L implemented using virtualization infrastructure 1104. Virtualization infrastructure 1104 runs on physical infrastructure 1105 and illustratively includes one or more hypervisors and / or operating system-level virtualization infrastructure. Operating system-level virtualization infrastructure illustratively includes kernel control groups of a Linux operating system or other types of operating systems.

[0076] Cloud infrastructure 1100 also includes groups of applications 1110-1, 1110-2... 1110-L that run on corresponding VM / container sets within VM / container sets 1102-1, 1102-2... 1102-L under the control of virtualization infrastructure 1104. VM / container sets 1102 can include corresponding VMs, corresponding one or more container sets, or corresponding one or more container sets running within a VM.

[0077] In Figure 11 some implementations of the embodiment, VM / container sets 1102 include corresponding VMs implemented using virtualization infrastructure 1104 that includes at least one hypervisor. The hypervisor platform can be used to implement a hypervisor within virtualization infrastructure 1104, where the hypervisor platform has an associated virtual infrastructure management system. The underlying physical machine can include one or more distributed processing platforms that include one or more storage systems.

[0078] In Figure 11 other implementations of the embodiment, VM / container sets 1102 include corresponding containers implemented using virtualization infrastructure 1104 that provides operating system-level virtualization functionality (such as Docker containers running on a bare metal host or Docker containers running on a VM). Containers are illustratively implemented using corresponding kernel control groups of the operating system.

[0079] As is apparent from the foregoing, one or more of the processing modules or other components of system 100 may each operate on a computer, server, storage device, or other processing platform element. A given such element may be regarded as an example of what is more generally referred to herein as a "processing device". Figure 11 The illustrated cloud infrastructure 1100 may represent at least a portion of a processing platform. Another example of such a processing platform is Figure 12 the illustrated processing platform 1200.

[0080] In this embodiment, processing platform 1200 includes a portion of system 100 and includes a plurality of processing devices indicated as 1202-1, 1202-2, 1202-3... 1202-K that communicate with each other via network 1204.

[0081] Network 1204 may include any type of network, including by way of example a global computer network (such as the Internet), WAN, LAN, satellite network, telephone or cable network, cellular network, wireless network (such as a WiFi or WiMAX network), or portions or combinations of these and other types of networks.

[0082] Processing device 1202-1 in processing platform 1200 includes a processor 1210 coupled to a memory 1212.

[0083] Processor 1210 may include a microprocessor, microcontroller, application specific integrated circuit (ASIC), field programmable gate array (FPGA), central processing unit (CPU), graphics processing unit (GPU), tensor processing unit (TPU), video processing unit (VPU), or other type of processing circuitry, as well as portions or combinations of such circuit elements.

[0084] Memory 1212 may include random access memory (RAM), read only memory (ROM), flash memory, or other types of memory in any combination. Memory 1212 and other memories disclosed herein should be regarded as illustrative examples of the contents of what is more generally referred to herein as a "processor-readable storage medium" that stores executable program code for one or more software programs.

[0085] An article of manufacture including such a processor-readable storage medium is considered an illustrative embodiment. A given such article of manufacture may include, for example, a storage array, storage disk, or integrated circuit containing RAM, ROM, flash memory, or other electronic memory, or any of a variety of other types of computer program products. As used herein, the term "article of manufacture" should be understood to exclude transient propagated signals. Numerous other types of computer program products including a processor-readable storage medium may be used.

[0086] The processing device 1202-1 further includes a network interface circuit 1214 for interfacing the processing device with the network 1204 and other system components and may include a conventional transceiver.

[0087] It is assumed that the other processing devices 1202 of the processing platform 1200 are configured in a manner similar to that shown for the processing device 1202-1 in the figure.

[0088] Moreover, the specific processing platform 1200 shown in the figure is presented by way of example only, and the system 100 may include additional or alternative processing platforms, as well as numerous different processing platforms in any combination, where each such platform includes one or more computers, servers, storage devices, or other processing devices.

[0089] For example, other processing platforms for implementing the illustrative embodiments may include converged infrastructure.

[0090] Therefore, it should be understood that in other embodiments, different arrangements of additional or alternative elements may be used. At least a subset of these elements may be implemented together on a common processing platform, or each such element may be implemented on a separate processing platform.

[0091] As previously indicated, the components of the information processing system disclosed herein may be implemented, at least in part, in the form of one or more software programs stored in a memory and executed by a processor of a processing device. For example, at least some of the functionality for automated application layering among core and edge computing sites as disclosed herein is illustratively implemented in the form of software running on one or more processing devices.

[0092] It should be emphasized again that the above embodiments are presented for illustrative purposes only. Many variations and other alternative embodiments may be used. For example, the disclosed techniques may be applicable to many other types of information processing systems, services, parameters, etc. Moreover, the specific configurations of the system and device elements illustratively shown in the figures and the associated processing operations may vary in other embodiments. Additionally, the various assumptions made above in the description of the illustrative embodiments should also be considered exemplary, rather than requirements or limitations of the present disclosure. Numerous other alternative embodiments within the scope of the appended claims will be apparent to those skilled in the art.

Claims

1. A device, comprising: at least one processing device, the at least one processing device including a processor coupled to a memory; the at least one processing device is configured to perform the following steps: obtain information associated with an application; determine, at least in part based on the obtained information, values associated with two or more metrics characterizing the suitability of hosting the application at one or more edge computing sites of an information technology infrastructure, the two or more metrics including (i) a time sensitivity metric characterizing the time required for application data generated by the application, and (ii) a complexity metric characterizing the number of data streams to be processed in the application data generated by the application; using an analytic hierarchy process algorithm, generate a score for the application, at least in part based on the determined values associated with the two or more metrics characterizing the suitability of hosting the application at the one or more edge computing sites, the analytic hierarchy process algorithm determining relative weight values of the time sensitivity metric and the complexity metric for the score of the application; analyze the workload status of the one or more edge computing sites; select, at least in part based on the score of the application and the workload status of the one or more edge computing sites, whether to host the application at a core computing site of the information technology infrastructure or at the one or more edge computing sites; and host the application at a selected one of the core computing site and the one or more edge computing sites.

2. The device according to claim 1, wherein the two or more metrics further include the security of the application data generated by the application and the bandwidth cost associated with the application data generated by the application.

3. The device according to claim 1, wherein the analytic hierarchy process algorithm has an objective of determining scores for different types of applications, uses the two or more metrics as criteria, and uses application types as alternatives.

4. The device according to claim 1, wherein selecting whether to host the application at the core computing site or at the one or more edge computing sites includes: in response to the score of the application being greater than a high watermark threshold, selecting to host the application at the one or more edge computing sites; and in response to the score of the application being lower than a low watermark threshold, selecting to host the application at the core computing site.

5. The apparatus according to claim 4, wherein selecting whether to host the application at the core computing site or at the one or more edge computing sites further comprises: In response to the score of the application being between the high watermark threshold and the low watermark threshold, determine whether the workload status of the one or more edge computing sites exceeds a specified load threshold.

6. The apparatus according to claim 5, wherein selecting whether to host the application at the core computing site or at the one or more edge computing sites further comprises: In response to the workload status of the one or more edge computing sites exceeding the specified load threshold, select to host the application at the core computing site.

7. The apparatus according to claim 5, wherein selecting whether to host the application at the core computing site or at the one or more edge computing sites further comprises: In response to the workload status of the one or more edge computing sites being equal to or lower than the specified load threshold, select to host the application at the one or more edge computing sites.

8. The apparatus according to claim 1, wherein the at least one processing device is further configured to perform the following steps: Determine whether the application is currently hosted at a selected one of the core computing site and the one or more edge computing sites.

9. The apparatus according to claim 8, wherein the at least one processing device is further configured to perform the following steps: In response to determining that the application is not currently hosted at a selected one of the core computing site and the one or more edge computing sites, migrate the application to a selected one of the core computing site and the one or more edge computing sites.

10. The apparatus according to claim 1, wherein the at least one processing device is further configured to perform the following steps: In response to detecting one or more specified conditions, repeat the selection of whether to host the application at the core computing site or at the one or more edge computing sites.

11. The apparatus according to claim 10, wherein the one or more specified conditions include: Detect a threshold change in the workload status of at least the one or more edge computing sites.

12. The apparatus according to claim 10, wherein the one or more specified conditions include: Detect a threshold change in the available resources of at least one of the at least one or more edge computing sites.

13. The apparatus according to claim 10, wherein the one or more specified conditions include: Detect a threshold change in the value of at least one of the two or more metrics that at least characterize the suitability of hosting the application at the one or more edge computing sites.

14. A computer program product comprising a non-transitory processor-readable storage medium having program code of one or more software programs stored therein, wherein the program code, when executed by at least one processing device, causes the at least one processing device to perform the following steps: Obtain information associated with an application; Determine, at least in part based on the obtained information, values associated with two or more metrics that characterize the suitability of hosting the application at one or more edge computing sites of an information technology infrastructure, the two or more metrics including (i) a time sensitivity metric that characterizes the time required for application data generated by the application, and (ii) a complexity metric that characterizes the number of data streams to be processed in the application data generated by the application; Generate a score for the application, at least in part based on the determined values associated with the two or more metrics that characterize the suitability of hosting the application at the one or more edge computing sites, using an analytic hierarchy process algorithm that determines relative weight values of the time sensitivity metric and the complexity metric for the score of the application; Analyze the workload status of the one or more edge computing sites; Selecting whether to host the application at a core computing site of the information technology infrastructure or at one or more edge computing sites, at least in part based on the score of the application and the workload status of the one or more edge computing sites; And Hosting the application at a selected one of the core computing site and the one or more edge computing sites.

15. The computer program product according to claim 14, wherein selecting whether to host the application at the core computing site or at the one or more edge computing sites includes: In response to the score of the application being greater than a high watermark threshold, selecting to host the application at the one or more edge computing sites; And In response to the score of the application being lower than a low watermark threshold, selecting to host the application at the core computing site.

16. The computer program product according to claim 15, wherein selecting whether to host the application at the core computing site or at the one or more edge computing sites further comprises: In response to the score of the application being between the high watermark threshold and the low watermark threshold: Determining whether the workload status of the one or more edge computing sites exceeds a specified load threshold; In response to the workload status of the one or more edge computing sites exceeding the specified load threshold, selecting to host the application at the core computing site; And In response to the workload status of the one or more edge computing sites being equal to or lower than the specified load threshold, selecting to host the application at the one or more edge computing sites.

17. A method, comprising: Obtaining information associated with an application; Determining, at least in part based on the obtained information, values associated with two or more metrics characterizing the suitability of hosting the application at one or more edge computing sites of an information technology infrastructure, the two or more metrics including (i) a time sensitivity metric characterizing the time required for the application data generated by the application, and (ii) a complexity metric characterizing the number of data streams to be processed in the application data generated by the application; Using an analytic hierarchy process algorithm to generate a score of the application, at least in part based on the determined values associated with the two or more metrics characterizing the suitability of hosting the application at the one or more edge computing sites, the analytic hierarchy process algorithm determining relative weight values of the time sensitivity metric and the complexity metric for the score of the application; Analyzing the workload status of the one or more edge computing sites; Selecting whether to host the application at a core computing site of the information technology infrastructure or at the one or more edge computing sites, at least in part based on the score of the application and the workload status of the one or more edge computing sites; And Hosting the application at a selected one of the core computing site and the one or more edge computing sites; Wherein the method is executed by at least one processing device, the at least one processing device including a processor coupled to a memory.

18. The method according to claim 17, wherein selecting whether to host the application at the core computing site or at the one or more edge computing sites comprises: selecting to host the application at the one or more edge computing sites in response to the score of the application being greater than a high watermark threshold; and selecting to host the application at the core computing site in response to the score of the application being lower than a low watermark threshold.

19. The method according to claim 18, wherein selecting whether to host the application at the core computing site or at the one or more edge computing sites further comprises: In response to the score of the application being between the high watermark threshold and the low watermark threshold: determining whether the workload status of the one or more edge computing sites exceeds a specified load threshold; selecting to host the application at the core computing site in response to the workload status of the one or more edge computing sites exceeding the specified load threshold; and selecting to host the application at the one or more edge computing sites in response to the workload status of the one or more edge computing sites being equal to or lower than the specified load threshold.

Citation Information

Patent Citations

  • Quantized edge computing side terminal security access strategy selection method

    CN110138627A

  • Techniques for Mobility-Aware Dynamic Service Placement in Mobile Clouds

    US20150245160A1

  • Methods, devices and systems for coordinating and optimizing resources

    US8776074B1