Information processing system and information processing method
The method for selecting templates in edge-cloud systems addresses the inefficiencies in existing deployment methods by considering field site resources and user priorities, resulting in balanced and scalable application deployment.
Patent Information
- Application Number
- JP2024011891
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2023-01-31
- Filing Date
- 2024-01-30
- Publication Date
- 2025-03-28
- Estimated Expiration
- 2044-01-30
AI Technical Summary
Existing methods for deploying applications in edge-cloud systems do not adequately consider field site resources and user operational priorities, leading to inefficient application deployment and performance imbalance.
A method for selecting templates for application deployment that involves storing multiple templates on edge and cloud servers, receiving configuration and operational status information, and deploying applications by selecting templates based on this information to balance performance and resource usage.
This approach enables flexible and rational application deployment in edge-cloud systems, balancing application performance, user operational priorities, and field site environments, thereby improving system scalability and efficiency.
Smart Images

Figure 0007653550000001 
Figure 0007653550000002 
Figure 0007653550000003
Abstract
Description
[Technical field]
[0001] The present disclosure generally relates to methods and systems for selecting a template for application deployment. [Background technology]
[0002] In recent years, edge-cloud systems, i.e., the collaboration of edge computing and cloud computing, have attracted attention due to the data growth caused by the rapid development of the Internet of Things (IoT) and 5G. Based on the requirements of the application, IoT data may be processed at the edge, the cloud, or somewhere in between. The more IoT data a system collects, or the more sophisticated processes it performs, the more complex things become due to the number of applications that process the data and / or the amount of computing resources allocated. In the edge-cloud system, applications are expected to be flexibly deployed to allow easy installation by their users. Summary of the Invention [Problem to be solved by the invention]
[0003] In the related art, a method for deploying applications to edge computing nodes as background processing by creating a target application model is disclosed. However, this method does not disclose application deployment that takes into account the field site as well as the system performance. Because edge servers have limited resources depending on the field site and cloud servers have different performance levels associated with the operation cost, it is important to deploy applications at the edge or cloud while taking into account the computing resources of the application and the operation priority or preference of the user.
[0004] In addition, the edge-cloud system is expected to have scalability to extend the system to other fields. It is also important to provide a template that can facilitate rational application deployment and balance application performance, user operation priorities / preferences, and the field site environment. [Means for solving the problem]
[0005] An aspect of the present disclosure involves an innovative method for selecting a template for application deployment, which may include: storing, by a management server, a plurality of templates for deploying an application in at least one of at least one edge server or at least one cloud server, where the at least one cloud server is in communication with the at least one edge server over a network; receiving, by the management server, configuration information of a plurality of edge devices and the at least one edge server and operational state information of an application being deployed from the at least one edge server, where the plurality of edge devices are in communication with the at least one edge server; receiving, by the management server, infrastructure resource information of the at least one cloud server from the at least one cloud server; and deploying the application by selecting, by the management server, at least one of the plurality of templates based on the configuration information, the operational state information, and the infrastructure resource information.
[0006] Aspects of the disclosure involve an innovative non-transitory computer-readable medium storing instructions for selecting a template for application deployment, which may include: storing, by a management server, a plurality of templates for deploying an application in at least one of at least one edge server or at least one cloud server, where the at least one cloud server is in communication with the at least one edge server over a network; receiving, by the management server, configuration information of a plurality of edge devices and the at least one edge server and operational state information of an application being deployed from the at least one edge server, where the plurality of edge devices are in communication with the at least one edge server; receiving, by the management server, infrastructure resource information of the at least one cloud server from the at least one cloud server; and deploying the application by selecting, by the management server, at least one of the plurality of templates based on the configuration information, the operational state information, and the infrastructure resource information.
[0007] An aspect of the present disclosure involves an innovative server system for selecting a template for application deployment. The server system may include: storing, by a management server, a plurality of templates for deploying an application in at least one of at least one edge server or at least one cloud server, where the at least one cloud server communicates with the at least one edge server via a network; receiving, by the management server, configuration information of a plurality of edge devices and the at least one edge server and operational state information of an application being deployed from the at least one edge server, where the plurality of edge devices are in communication with the at least one edge server; receiving, by the management server, infrastructure resource information of the at least one cloud server from the at least one cloud server; and deploying the application by selecting, by the management server, at least one of the plurality of templates based on the configuration information, the operational state information, and the infrastructure resource information.
[0008] An aspect of the present disclosure involves an innovative system for selecting a template for application deployment, which may include: means for storing, by a management server, a plurality of templates for deploying an application in at least one of at least one edge server or at least one cloud server, where the at least one cloud server is in communication with the at least one edge server via a network; means for receiving, by the management server, configuration information of a plurality of edge devices and the at least one edge server and operational state information of an application being deployed from the at least one edge server, where the plurality of edge devices are in communication with the at least one edge server; means for receiving, by the management server, infrastructure resource information of the at least one cloud server from the at least one cloud server; and means for deploying the application by selecting at least one of the plurality of templates based on the configuration information, the operational state information, and the infrastructure resource information, by the management server.
[0009] A generic architecture for implementing various features of the present disclosure is described below with reference to the drawings. The drawings and the associated description are provided to illustrate embodiments of the present disclosure and are not intended to limit the scope of the present disclosure. Throughout the drawings, reference numbers are also used again to indicate correspondence between referenced elements. [Brief description of the drawings]
[0010] [Figure 1] 1 is an exemplary system configuration diagram of an information processing system 1 according to an embodiment. [Diagram 2] FIG. 2 is an exemplary hardware configuration diagram of a management server according to one embodiment. [Diagram 3] FIG. 2 illustrates an exemplary application requirements table, according to one embodiment. [Figure 4] FIG. 2 illustrates an exemplary template table, according to one embodiment. [Diagram 5]FIG. 2 illustrates an exemplary template selection according to one embodiment. [Figure 6] FIG. 2 illustrates an exemplary field information table, according to one embodiment. [Figure 7] FIG. 1 illustrates an example process flow for a management server template selection process, according to one embodiment. [Figure 8] FIG. 2 illustrates an exemplary interface screen for requesting application registration, according to one embodiment. [Figure 9] FIG. 2 illustrates an exemplary application deployment in an information processing system 1 according to one embodiment. [Figure 10] FIG. 4 illustrates an exemplary modified template table, according to one embodiment. [Figure 11] FIG. 1 illustrates an exemplary computing environment having an exemplary computing device suitable for use in some embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] The following detailed description provides details of the figures and examples of the present application. Reference numbers and descriptions of elements that overlap between figures are omitted for clarity. Terms used throughout the description are provided as examples and are not intended to be limiting. For example, the use of the word "automatic" may include fully automated or semi-automatic implementations, including user or administrator control over certain aspects of the embodiment, depending on the desired implementation of the person skilled in the art practicing the embodiments of the present application. Selections may be performed by a user via a user interface or other input means, or may be implemented via a desired algorithm. Examples as described herein may be utilized either alone or in combination, and the functionality of the examples may be implemented via any means according to the desired implementation.
[0012] An embodiment provides an information processing system for selecting a template for application deployment in an edge-cloud system. The system realizes flexible and rational deployment of applications by balancing application performance, user operation priorities or preferences, and the environment of a field site.
[0013] FIG. 1 is an exemplary system configuration diagram of an information processing system 1 according to an embodiment. As shown in FIG. 1, the information processing system 1 may include components such as, but not limited to, a sensor 101, a device 102, a field server 104, a field gateway 105, a communication network 106, a cloud 107, and a management server 108. A first field server, a field server 104-1, is directly connected to field devices such as a first sensor, a sensor 101-1, and a first device, a device 102-1. A combination of the first field server 104-1, the first sensor 101-1, and the first device 102-1 constitutes a first field. A second field server 104-2 is connected to a first controller 103-1 that controls field devices such as a second sensor 101-2 and a second device 102-2. The second field server 104-2, the first controller 103-1, the second sensor 101-2, and the second device 102-2 together constitute a second field. Similarly, the third field server 104-3 is connected to the second controller 103-2, which controls field devices such as the third sensor 101-3 and the third device 102-3. The third field server 104-3, the second controller 103-2, the third sensor 101-3, and the third device 102-3 constitute a third field. The field gateway 105 is directly connected to the field devices such as the fourth sensor 101-4 and the fourth device 102-4. The field gateway 105, the fourth sensor 101-4, and the fourth device 102-4 constitute a fourth field. Here, for example, the first field is a medium-sized field. The second and third fields are large fields compared to the first field, and the fourth field is a small field compared to the first field.
[0014] The cloud 107 comprises a first area 170-1 that may include cloud servers 171-1 to 171-M, a second area 170-2 that may include cloud servers 172-1 to 172-N, and so on. The first area 170-1, the second area 170-2, and the other areas are collectively referred to as areas 170. The first cloud server 171-1 to the M-th cloud server 171-M are collectively referred to as "cloud server 171". The first cloud server 172-1 to the N-th cloud server 172-N are collectively referred to as "cloud server 172". Each area 170 is located at a different physical location. The communication network 106 enables communication and data exchange between various components of the information processing system 1.
[0015] The management server 108 may include an application requirement table 3, a template table 4, a field information table 6, an interface screen 181, a template selection 182, and a performance estimation 183. The application requirement table 3 stores information related to the operational state requirements of an application being deployed to the information processing system 1. The template table 4 stores information of template data associated with an application, which is code designed to simplify the creation of infrastructure resources in the information processing system 1. The field information table 6 stores information related to each field in the information processing system 1. The interface screen 181 receives a request for application registration. The template selection 182 is used to select a template from the template table 4 based on the request. The performance estimation 183 calculates and estimates the cost of infrastructure resources required as part of the deployment based on the request.
[0016] 2 is an exemplary hardware configuration diagram of the management server 108 according to one embodiment. The management server 108 may include hardware components such as, but not limited to, a processor 201, a memory device 202, an input device 203, an output device 204, and a communication interface 205, which are connected by a bus 206. The processor 201 realizes functions such as an interface screen 181, a template selection 182, and a performance estimation 183 as shown in FIG. 1 by reading programs / instructions stored in the memory device 202.
[0017] The memory device 202 may include any of a ROM (read only memory), a RAM (random access memory), a HDD (hard disk drive), a flash memory, and the like. The memory device 202 may also store information of the application requirement table 3, the template table 4, and the field information table 6 shown in FIG. 1. The input device 203 receives data input and may be a device such as a keyboard, a mouse, or a touch screen. The output device 204 outputs data via a device such as a graphic user interface (GUI) or a printer. The communication interface 205 is an interface that transmits and receives data via the communication network 106. In some embodiments, the hardware of the processor 201, the memory device 202, the input device 203, the output device 204, and the communication interface 205 may each be configured on a server as one or more devices, or multiple hardware may be configured on a server as a single device. In some embodiments, the management server 108 is configured on the cloud server 171 or the cloud server 172.
[0018] 3 is a diagram illustrating an exemplary application requirement table 3 according to one embodiment. The application requirement table 3 stores information of operational state requirements for an application. The application requirement table 3 may include columns such as, but not limited to, field ID 302, target application ID 303, and operational priority / preference 304 associated with each requirement ID 301. The field ID 302 corresponds to the field identifier as described in FIG. 1. For example, the first field has a field ID of "1". The target application ID 303 identifies an application registered via the interface screen 181. The operational priority / preference 304 identifies the operational state requirements for the application.
[0019] In some embodiments, the application requirements table 3 may also store relationship information between applications and templates. The application requirements table 3 includes a column of required templates 322 for each application ID 321 as shown in table 32. As shown in FIG. 3, an application with application ID 321 of "1" requires templates that include edge processing, data processing, and data management. For example, edge processing may be an image pre-processing procedure for computer vision that reduces the amount of data transferred to the cloud 107. Data processing may involve data collection and manipulation to generate meaningful information, such as image feature extraction. Data management may involve the process of data capture, storage, and maintenance.
[0020] FIG. 4 illustrates an exemplary template table 4 according to one embodiment. The template table 4 stores template data associated with an application, which is a code designed to simplify the creation of infrastructure resources. As shown in FIG. 4, each of the three required templates associated with the application ID "1" shown in FIG. 3 is stored separately in a table 41, a table 42, and a table 43, respectively. The table 41 includes columns of a data processing template ID 411 and a specification 412. Here, the table 41 includes three templates indicating three different performance levels consisting of medium, high, and low. For example, the first row "1" shown in the table 41 is stored in the data processing template ID 411, and "Performance: Medium / Location: Cloud" is stored in the specification 412. In other words, when a template with the data processing template ID 411 of "1" is selected, the corresponding performance level of the data processing is medium, and the process is executed in the cloud 107.
[0021] Table 42 includes columns for data management template ID 421 and specifications 422. Here, table 42 includes three templates indicating three different performance levels, medium, high, and low, each having a cloud 107 as a process execution location. Table 43 includes columns for edge processing template ID 431 and specifications 432. Here, table 43 includes two templates indicating two different performance levels, high and low, with corresponding locations of fields and cloud 107.
[0022] FIG. 5 illustrates an exemplary template selection 182, according to one embodiment. The template selection 182 stores information of selected templates. The template selection 182 may include columns such as, but not limited to, selected template 1 (502), selected template 2 (503), selected template 3 (504), etc. for each field ID 501. The field IDs 501 correspond to the fields described in FIG. 1. Referring to the first entry as an example, "1" is stored in the field ID 501, corresponding to the first field, "Data Processing Template: ID1" is stored in Selected Template 1 (502), "Data Management Template: ID1" is stored in Selected Template 2 (503), and "Edge Processing Template: ID1" is stored in Selected Template 3 (504). In other words, for the application to be executed in the first field, a template having a data processing template ID 411 of “1” in table 41, a template having a data management template ID 421 of “1” in table 42, and a template having an edge processing template ID 431 of “1” in table 43 are selected.
[0023] FIG. 6 is a diagram illustrating an exemplary field information table 6 according to one embodiment. The field information table 6 stores information related to each field described in FIG. 1. The field information table 6 may include columns such as, but not limited to, a field design 602 and an edge computing resource 603 for each entry under a field ID 601. The field ID 601 identifies the field described in FIG. 1. Referring to the first entry of the field information table 6 as an example, a "1" is stored in the field ID 601, the field design 602 of the entry indicates a combination of the first field server 104-1, the first sensor 101-1, and the first device 102-1 that constitute the first field, and the edge computing resource 603 indicates "field server / -machine specification: medium / -available resources: / -core: X1 / -memory: X2". In other words, the first field server 104-1 connects the first sensor 101-1 and the first device 102-1 as the first field and executes an application as the edge computing resource. The first field server 104-1 has a machine specification level of medium, and its available cores and memory are "X1" and "X2", respectively.
[0024] The management server 108 starts execution when the application requirement table 3 is updated. The management server 108 may periodically check the update of the application requirement table 3. FIG. 7 illustrates an example process flow of a template selection process of the management server 108 according to one embodiment. The process starts in S701, where the management server 108 searches the application requirement table 3 and identifies a new application. Then, in S702, the management server 108 checks the registered information in the application requirement table 3 and the field information in the field information table 6. In S703, the management server 108 selects a deployment pattern, which is a template set as shown in FIG. 5, taking into account the operation priority / preference 304 and the field information.
[0025] At S704, the management server 108 estimates the performance and operation cost of infrastructure resources required for the deployment pattern. The management server 108 queries the cloud 107 for information of the infrastructure resources and receives information from the cloud 107. Here, the management server 108 may reselect the deployment pattern based on the balance between the application's performance, operation priority / preference 304, and field information such as edge computing resources 603. Then, at S705, the management server 108 checks the readiness status of the field site, such as network connectivity between the field site and the cloud 107 and resource availability of the edge-cloud system. At S706, the management server 108 deploys the registered application with the selected template.
[0026] 8 is a diagram illustrating an exemplary interface screen 80 for requesting application registration according to one embodiment. A user can request application registration using an interface screen 181 to connect to the management server 108 via the first field server 104-1, the second field server 104-2, the third field server 104-3, the field gateway 105, or the cloud 107 shown in FIG. 1 and request application registration. At the same time as or before requesting application registration, the user provides his / her field information to the management server 108. The first field server 104-1, the second field server 104-2, the third field server 104-3, and the field gateway 105 can collect information associated with each field and send them to the management server 108.
[0027] As shown in FIG. 8, the interface screen 80 for requesting application registration may include, for each entry of the field ID 800, an application catalog 801, a specification of a selected application 802, a deployment preference 803, a performance estimate 804, a deployment readiness status 805, and a deployment button 806. The field ID 800 indicates the identification information of the field shown in FIG. 1. When a user accesses the interface screen 80 for requesting application registration, the field ID 800 may be determined and assigned by the management server 108. The application catalog 801 is a space for a user to select an application to be deployed in his / her field. The specification of a selected application 802 is a space for indicating the specification of the application selected in the application catalog 801.
[0028] The deployment preferences 803 is a space where the user inputs his / her operational state requirements. For example, the user may select keywords such as "balanced", "high performance", and "low cost" as shown in FIG. 3 as his / her preferences. The performance estimation 804 shows an estimated result such as "performance", "monthly cost" based on both the application selected in the application catalog 801 and the operational state requirements selected in the deployment preferences 803. If the estimated result does not match his / her prediction, the user can reselect a keyword. The deployment readiness state 805 shows a ready state of the application deployment such as "network connectivity" from the field identified by the field ID 800 to the cloud 107, and "available resources" of the edge computing resources 603 shown in FIG. 6, based on both the application selected in the application catalog 801 and the operational state requirements selected in the deployment preferences 803. The deploy button 806 is pressed when the user defines his / her selection, and then the application deployment is started.
[0029] 9 is a diagram illustrating an exemplary application deployment in the information processing system 1 according to one embodiment. Using the deployment of an application with the first field as an example, the operational priority / preference 304 is "balanced" as shown in FIG. 3. Because the first field is a medium field, when selecting a template, the management server 108 prioritizes templates with a performance level of "medium" when the performance of the application, the operational priority or preference of the user, the environment of the field site, etc. are balanced.
[0030] With respect to deploying applications for the second field, the operational priority of the preference 304 is "high performance" as shown in FIG. 3. Since the second field is a large field compared to the first field, in selecting a template, the management server 108 prioritizes templates with a performance level of "high" even if the operational cost may increase based on such a selection. In some embodiments, the area 170 in the cloud 107 may be designated to reduce latency in communication. For example, the management server 108 may select the area 170-1 as the location of the cloud server 171 to reduce the network delay between the field server 104-2 and the cloud 107.
[0031] With respect to deploying an application for the third field, the operational priority of the preferences 304 is "low cost" as shown in Figure 3. Because the third field is a large field, the management server 108 may select a template with a performance level of "medium" because of its large status.
[0032] For the deployment of the application for the fourth field, the operational priority of the preference 304 is "low cost" as shown in FIG. 3. Because the fourth field is a small field, the management server 108 may prioritize a template with a performance level of "low", thereby keeping the operational cost low. The management server 108 may select an edge processing template with a location of "cloud", and one of the cloud servers 171 or 172 may process the edge processing due to lack of available resources for the field gateway 105, as shown in FIG. 6.
[0033] In some embodiments, the management server 108 may also take into account the reliability level when selecting a deployment pattern. The reliability may include information regarding redundancy, security, and privacy functions. The higher the reliability level, the more functions are deployed. In other words, the higher the reliability level, the higher the associated operational costs. In some embodiments, edge computing may be required regardless of the application's performance due to privacy concerns.
[0034] FIG. 10 is a diagram illustrating an exemplary modified template table 1000 according to one embodiment. As shown in FIG. 10, the modified template table 1000 may include columns such as, but not limited to, a data processing template ID 1041 and a specification 1042. In contrast to the template table 4 as shown in FIG. 4, the specification 1042 includes a "trust level" in addition to "performance" and "location". Referring to the first entry in FIG. 10 as an example, "11" is stored in the data processing template ID 1041, and "performance: medium / location: cloud / trust level: medium" is stored in the specification 1042. In other words, when a template with the data processing template ID 1041 of "11" is selected, the performance level of the data processing is medium, the process is executed in the cloud 107, and the trust level is medium.
[0035] The management server 108 may reselect a template and redeploy an application based on the occurrence of an event that affects the application, such as a change in the information in the field information table 6 (e.g., an expansion or removal of a field device, etc.). Additionally, the management server 108 may reselect a template and redeploy an application based on a change in the operational performance of the application or a change in the information in the application requirements table 3 (e.g., a change in the operational priorities / preferences 304, etc.).
[0036] The above-mentioned embodiments may be combined with each other. Although the above-mentioned embodiments have been described above, the present invention is not limited to the subject matter. Other aspects considered to be within the technical scope of the present invention are also included in the scope of the present invention. Furthermore, the above-mentioned embodiments have been described in detail to explain the present invention in an easy-to-understand manner, and the present invention does not necessarily include all of the configurations described in the embodiments. Furthermore, the control lines and information lines are illustrated to the extent necessary to explain the present invention, and all of the control lines and information lines necessary for the product may not necessarily be shown. It can be understood that substantially all of the configurations are interconnected.
[0037] The above embodiment may have various benefits and advantages. For example, by using the information processing system, applications can be flexibly deployed in the edge-cloud system. In addition, flexible and rational deployment of applications by the edge-cloud system is possible by balancing the performance of the application, the user's operation priority / preference, the field site environment, and the like.
[0038] 11 illustrates an exemplary computing environment 1100 having an exemplary computing device 1105 suitable for use in some embodiments. The computing device 1105 in the computing environment 1100 can include one or more processing units, cores, or processors 1110, memory 1115 (e.g., RAM, ROM, and / or the like), internal storage 1120 (e.g., magnetic, optical, solid-state storage, and / or organic), and / or I / O interface 1125, any of which can be coupled over a communication mechanism or bus 1130 for communicating information or can be incorporated into the computing device 1105. The I / O interface 1125 is further configured to receive images from a camera or provide images to a projector or display, depending on the desired implementation.
[0039] The computing device 1105 may be communicatively coupled to an input / user interface 1135 and an output device / interface 1140. Either one or both of the input / user interface 1135 and the output device / interface 1140 may be a wired or wireless interface and may be removable. The input / user interface 1135 may include any device, component, sensor, or interface, physical or virtual, that can be used to provide input (e.g., buttons, touch screen interface, keyboard, pointing / cursor control, microphone, camera, Braille, motion sensor, accelerometer, optical reader, and / or the like). The output device / interface 1140 may include a display, television, monitor, printer, speaker, Braille, or the like. In some examples, the input / user interface 1135 and the output device / interface 1140 may be incorporated with the computing device 1105 or may be physically coupled thereto. In other embodiments, other computing devices may function as or provide the functionality of input / user interface 1135 and output device / interface 1140 for computing device 1105 .
[0040] Examples of computing devices 1105 may include, but are not limited to, highly mobile devices (e.g., smart phones, devices mounted on vehicles and other machines, devices carried by people or animals, and the like), mobile devices (e.g., tablets, notebooks, laptops, personal computers, portable televisions, radios, and the like), and devices not designed for mobility (e.g., desktop computers, other computers, information kiosks, televisions with one or more processors embedded and / or coupled to one or more processors, televisions, radios, and the like).
[0041] Computing device 1105 may be communicatively coupled (e.g., via I / O interface 1125) to external storage 1145 and a network 1150 for communication with any number of networked components, devices, and systems, including one or more computing devices of the same or different configurations. Computing device 1105 or any connected computing device may function as, provide services to, or be referred to as a server, client, thin server, general purpose machine, special purpose machine, or otherwise.
[0042] I / O interface 1125 may include, but is not limited to, wired and / or wireless interfaces using any communication or I / O protocol or convention (e.g., Ethernet, 802.11x, Universal System Bus, WiMax, modem, cellular network protocols, and the like) for communicating information to and / or from at least all connected components, devices, and networks in computing environment 1100. Network 1150 may be any network or combination of networks (e.g., the Internet, a local area network, a wide area network, a telephone network, a cellular network, a satellite network, and the like).
[0043] The computing device 1105 can use and / or communicate using computer usable or computer readable media, including transitory and non-transitory media. Transitory media include transmission media (e.g., metallic cables, optical fibers), signals, carrier waves, and the like. Non-transitory media include magnetic media (e.g., disks and tapes), optical media (e.g., CD ROM, digital video disks, Blu-ray® disks), solid-state media (e.g., RAM, ROM, flash memory, solid-state storage), and other non-volatile storage or memory.
[0044] The computing device 1105 may be used to implement techniques, methods, applications, processes, or computer-executable instructions in some exemplary computing environments 1100. The computer-executable instructions may be retrieved from a transitory medium and stored in and retrieved from a non-transitory medium. The executable instructions may be from one or more of any programming, scripting, and machine language (e.g., C, C++, C#, Java, Visual Basic, Python, Perl, JavaScript, and others).
[0045] The processor 1110 can run under any operating system (OS) (not shown) in a native or virtual environment. One or more applications can be deployed, including a logic unit 1160, an application programming interface (API) unit 1165, an input unit 1170, an output unit 1175, and an inter-unit communication mechanism 1195 for different units to communicate with each other, with the OS, and with other applications (not shown). The above-mentioned units and elements can differ in design, function, configuration, or implementation and are not limited to the above description. The processor 1110 can have the form of a hardware processor, such as a central processing unit (CPU), or can be a combination of hardware and software units.
[0046] In some embodiments, when information or instructions for execution are received by the API unit 1165, it may be communicated to one or more other units (e.g., logic unit 1160, input unit 1170, output unit 1175). In some examples, logic unit 1160 may be configured to control information flow between units and direct services provided by API unit 1165, input unit 1170, output unit 1175 in some embodiments described above. For example, one or more processes or flows of implementations may be controlled by logic unit 1160 alone or in conjunction with API unit 1165. Input unit 1170 may be configured to obtain inputs for calculations described in the embodiments, and output unit 1175 may be configured to provide outputs based on the calculations described in the embodiments.
[0047] The processor 1110 may be configured by the management server 108 to store a plurality of templates for deploying an application in at least one of the at least one edge server or the at least one cloud server, where the at least one cloud server communicates with the at least one edge server via a network, as shown in FIG. 1. The processor 1110 may also be configured by the management server 108 to receive, from the at least one edge server, configuration information of the plurality of edge devices and the at least one edge server and operational state information of the application being deployed, where the plurality of edge devices are in communication with the at least one edge server, as shown in FIG. 1. The processor 1110 may also be configured by the management server 108 to receive, from the at least one cloud server, infrastructure resource information of the at least one cloud server, as shown in FIG. 1. The processor 1110 may also be configured by the management server 108 to deploy an application by selecting at least one of the plurality of templates based on the configuration information, the operational state information, and the infrastructure resource information, as shown in FIG. 1.
[0048] The processor 1110 may also be configured by the management server 108 to search the operational state information to identify the registered application, as shown in FIG. 7. The processor 1110 may also be configured by the management server 108 to check registered information associated with the registered application and configuration information, as shown in FIG. 7, where the registered information is application identification information associated with the registered application forming part of the operational state information. The processor 1110 may also be configured by the management server 108 to select at least one template from the plurality of templates to generate a deployment pattern, as shown in FIG. 7, where selecting at least one template from the plurality of templates is performed by matching the plurality of templates with the configuration information and operational priorities or preferences of the operational state information associated with the registered application to identify at least one template from the plurality of templates for selection. The processor 1110 may also be configured by the management server 108 to estimate performance and operational costs associated with the deployment pattern, as shown in FIG. 7. The processor 1110 may also be configured by the management server 108 to deploy the registered application using the deployment pattern, as shown in FIG. 7.
[0049] The processor 1110 may also be configured to request application registration, as shown in FIG. 8, where a user uses the interface to register an application for deployment by selecting registration requirements associated with the application to be registered, and a performance estimate 804 and a deployment ready state 805 are generated based on the selected registration requirements associated with the application to be registered.
[0050] Some portions of the detailed description are presented in terms of algorithms and symbolic representations of operations within a computer. These algorithmic descriptions and symbolic representations are the means used by those skilled in the data processing arts to convey the substance of their innovations to others skilled in the art. An algorithm is a sequence of defined steps leading to a desired end state or result. In the illustrative examples, the steps performed require physical manipulations of tangible quantities to achieve a tangible result.
[0051] Unless otherwise noted, and as will be apparent from the description, throughout this specification, descriptions utilizing words such as "processing," "computing," "calculating," "determining," "displaying," or the like, are understood to include the actions and processes of a computer system or other information processing device that manipulates and converts data represented as physical (electronic) quantities in the registers and memory of the computer system into other data similarly represented as physical quantities in the memory or registers of the computer system or other information storage, transmission, or display devices.
[0052] Examples may further relate to an apparatus for performing the operations herein. The apparatus may be specially constructed for the desired purposes or may include one or more general-purpose computers selectively activated or reconfigured by one or more computer programs. Such computer programs may be stored in a computer-readable medium, such as a computer-readable storage medium or a computer-readable signal medium. A computer-readable storage medium may include tangible media, such as, but not limited to, optical disks, magnetic disks, read-only memory, random access memory, solid-state devices and drives, or any other type of tangible or non-transitory medium suitable for storing electronic information. A computer-readable signal medium may include media such as carrier waves. The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. A computer program may include a pure software implementation that includes instructions for performing the operations of a desired embodiment.
[0053] Various general-purpose systems may be used with the programs and modules according to the examples herein, or it may be convenient to construct specialized apparatus to perform the desired method steps. Moreover, the examples are not described with reference to any particular programming language. It will be understood that various programming languages may be used to implement the teachings of the examples as described herein. Instructions of the programming language may be executed by one or more processing devices, such as, for example, a central processing unit (CPU), a processor, or a controller.
[0054] As is known in the art, the operations described above may be performed by hardware, software, or some combination of software and hardware. Various aspects of the embodiments may be implemented using circuits and logic devices (hardware), while other aspects may be implemented using instructions stored on a machine-readable medium (software) that, when executed by a processor, cause the processor to perform a method to perform the implementation of the present application. Furthermore, some embodiments of the present application may be implemented exclusively in hardware, while other embodiments may be implemented exclusively in software. Furthermore, the various functions described may be performed in a single unit or may be distributed across multiple components in any number of ways. When implemented by software, the method may be executed by a processor, such as a general purpose computer, based on instructions stored on a computer-readable medium. If necessary, the instructions may be stored on the medium in compressed and / or encrypted format.
[0055] Moreover, other implementations of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the teachings herein. Various aspects and / or components of the described embodiments may be used alone or in any combination. It is intended that the specification and embodiments be considered as examples only, with a true scope and spirit of the present application being indicated by the following claims. [Explanation of symbols]
[0056] 1. Information Processing Systems 101 Sensors 102 Devices 103 Controller 104 Field Server 105 Field Gateway 106 Communication Network 107 Cloud 108 Management Server 201 Processor 202 Memory Devices 203 Input Devices 204 Output Device 205 Communication Interface 1105 Computer Devices 1110 Processor 1115 Memory 1120 Internal Storage 1125 I / O Interface 1135 Input / User Interface 1140 Output Device / Interface 1145 External Storage 1150 Network 1160 Logical Units 1165 API units 1170 Input Unit 1175 Output Unit
Claims
1. 1. A method for selecting a template for application deployment, comprising: storing, by a management server, a plurality of templates for deploying applications in at least one of at least one edge server or at least one cloud server in communication with the at least one edge server via a network; receiving, by the management server, from the at least one edge server, configuration information of a plurality of edge devices and the at least one edge server in communication with the at least one edge server, and operational status information of deployed applications; receiving, by the management server, infrastructure resource information of the at least one cloud server from the at least one cloud server; deploying an application by selecting, by the management server, at least one of the plurality of templates based on the configuration information, the operational state information, and the infrastructure resource information; A method comprising:
2. retrieving, by the management server, the operational state information to identify registered applications; checking, by said management server, registered information associated with said registered application and said configuration information, said application identification information associated with said registered application forming part of said operational state information; selecting, by the management server, at least one template from the plurality of templates by matching the plurality of templates with the configuration information and operational priorities or preferences of the operational state information associated with the registered application to identify the at least one template from the plurality of templates for selection to generate a deployment pattern; estimating, by the management server, performance and operational costs associated with the deployment patterns; deploying the registered application using the deployment pattern by the management server; The method of claim 1 further comprising:
3. 3. The method of claim 2, further comprising, in the event of an event occurrence involving at least one of a change in the configuration information, a change in the operational state information, or a change in operational performance of a deployed application, performing template reselection on at least one application affected by the event occurrence.
4. each of the plurality of templates includes a template identifier and a specification associated with the template identifier; the specification includes information regarding the performance level and location of the data processing; said matching said plurality of templates with said configuration information and said operational priorities or preferences of said operational state information associated with said registered application comprises matching specifications of each of said plurality of templates with said configuration information and said operational priorities or preferences of said operational state information associated with said registered application. The method of claim 2.
5. The method of claim 4 , wherein the template specification further includes information regarding a confidence level.
6. The method of claim 2 , further comprising checking network connectivity and resource availability between the at least one edge server and the at least one cloud server.
7. and requesting application registration, the user using an interface to register the application for deployment by selecting registration requirements associated with the application to be registered; a performance estimate and a deployment readiness state are generated based on selected registration requirements associated with the application being registered; The method of claim 1.
8. the operational state information includes an application identifier, an operational priority or preference, and a requested template; said operational priorities or preferences identifying operational state requirements for an application; The method of claim 1.
9. Each deployed application has an associated deployment pattern; each expansion pattern is a selection of at least one template from said plurality of templates; The method of claim 1.
10. 1. An information processing system for selecting a template for application deployment, comprising: At least one edge server; a plurality of edge devices in communication with the at least one edge server; at least one cloud server, the at least one cloud server in communication with the at least one edge server over a network; Management server and Equipped with The management server includes: storing a plurality of templates for deploying applications in at least one of the at least one edge server or the at least one cloud server; receiving, from the at least one edge server, configuration information of the plurality of edge devices and the at least one edge server, and operation status information of applications deployed on the information processing system; receiving infrastructure resource information of the at least one cloud server from the at least one cloud server; deploying an application by selecting at least one of the plurality of templates based on the configuration information, the operational state information, and the infrastructure resource information; [0023] Information processing system.
11. The management server, retrieving the operational state information to identify registered applications; checking registered information associated with the registered application and said configuration information, which is application identification information associated with the registered application forming part of said operational state information; selecting at least one template from the plurality of templates by matching the plurality of templates with the configuration information and operational priorities or preferences of the operational state information associated with the registered application to identify the at least one template from the plurality of templates for selection to generate a deployment pattern; estimating performance and operational costs associated with said deployment patterns; deploying the registered application using the deployment pattern; and further configured to: The system of claim 10.
12. The management server, and further configured, in the event of an event occurrence involving at least one of a change in the configuration information, a change in the operational state information, or a change in operational performance of a deployed application, performing template reselection on at least one application affected by the event occurrence. The system of claim 11.
13. each of the plurality of templates includes a template identifier and a specification associated with the template identifier; the specification includes information regarding the performance level and location of the data processing; said matching said plurality of templates with said configuration information and said operational priorities or preferences of said operational state information associated with said registered application comprises matching specifications of each of said plurality of templates with said configuration information and said operational priorities or preferences of said operational state information associated with said registered application. The system of claim 11.
14. The system of claim 13 , wherein the template specification further includes information regarding a confidence level.
15. The management server, and further configured to check network connectivity between the at least one edge server and the at least one cloud server and resource availability of the information processing system. The system of claim 11.
16. and an interface for requesting application registration, wherein a user uses the interface to register an application for deployment by selecting registration requirements associated with the application to be registered; a performance estimate and a deployment readiness state are generated based on selected registration requirements associated with the application being registered; The system of claim 10.
17. the operational state information includes an application identifier, an operational priority or preference, and a requested template; said operational priorities or preferences identifying operational state requirements for an application; The system of claim 10.
18. each application deployed on the information processing system has an associated deployment pattern; each expansion pattern is a selection of at least one template from said plurality of templates; The system of claim 10.
Citation Information
Patent Citations
Resource pool management system and method
JP2020140415A
Management system and management method
WO2018109817A1
Resource management device, resource management method, and resource management program
WO2021192268A1