DEPLOYING BUSINESS FUNCTIONS ON EGDE

The hybrid edge computing approach using node edge servers and 5G network slices addresses network complexity and latency issues by efficiently executing business functions on edge devices, ensuring low latency and optimized resource utilization.

DE112023003541T5Pending Publication Date: 2025-08-07INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
DE112023003541
Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-08-23
Filing Date
2023-07-12
Publication Date
2025-08-07

AI Technical Summary

Technical Problem

Existing edge computing systems face challenges in providing and executing business functions efficiently outside the current network, leading to network complexity and latency issues, especially for extremely low latency applications like smart factories and augmented reality surgeries.

Method used

A hybrid approach is implemented using node edge servers to provide runtime binaries and narrowband network slices of 5G networks, enabling efficient execution of business functions by migrating or cloning required runtime binaries to geographically proximate edge units, ensuring low latency and availability.

Benefits of technology

This solution ensures efficient and low-latency execution of business functions by providing runtime binaries on edge devices, optimizing network resources and meeting user demands with reduced latency and improved network consistency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A deployment of business functions is deployed. An activation code for a runtime binary is sent to a node edge server containing the required runtime binary for a group of edge units to perform a business function. A secure shell protocol connection with root operating system access is created for the node edge server containing the required runtime binary to execute the activation code for a runtime binary.
Need to check novelty before this filing date? Find Prior Art

Description

BACKGROUND1. Area:

[0001] The disclosure relates generally to edge computing, and more particularly to deploying and executing business functions in an edge computing environment by deploying runtime binaries at the edge. 2. Description of the relevant state of the art:

[0002] Edge computing is a topology in a distributed computing environment where computation and storage are brought closer to where they are needed. Therefore, instead of running all computation and storage in the cloud, computation and storage are performed at the edge of the network. Specifically, computation and storage occur in units or applications that require real-time data processing and storage. In most cases, a consumer requires services from a service provider according to an agreed-upon service level (e.g., a service level agreement). Data service providers are keen to embrace cloud and virtualization because these data service providers offer new fifth-generation (5G) and edge computing services that drive growth and improve customer experiences. SUMMARY

[0003] According to one illustrative embodiment, a computer-implemented method for providing business functions is provided. A computer sends a runtime binary activation code to a node edge server with a required runtime binary for a group of edge devices to perform a business function. The computer establishes a secure shell protocol connection with root operating system access to the node edge server with the required runtime binary to execute the runtime binary activation code. According to other illustrative embodiments, a computer system and a computer program product for providing business functions are provided. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a pictorial representation of a computing environment in which illustrative embodiments may be practiced; Fig. 2 is a diagram of an example of a business function provisioning system according to an illustrative embodiment; Fig. 3 is a diagram of an example of a provisioning process for a business function according to an illustrative embodiment; and Fig. 4A-4B are a flowchart illustrating a process for providing business functions according to an illustrative embodiment. DETAILED DESCRIPTION

[0004] Various aspects of the present disclosure are described by accompanying text, flowcharts, computer system block diagrams, and / or machine logic block diagrams included in embodiments of the computer program product (CPP). With respect to all flowcharts, depending on the technology involved, the operations may be performed in a different order than that shown in a particular flowchart. For example, again depending on the technology involved, two operations shown in consecutive flowchart blocks may be performed in reverse order, as a single step, concurrently, or in an at least partially overlapping manner.

[0005] A computer program product embodiment ("CPP embodiment" or "CPP") is a term used in the present disclosure to describe any group of one or more storage media (also referred to as "carriers") collectively included in a group of one or more storage units that collectively comprise machine-readable code corresponding to instructions and / or data for performing computer operations specified in a particular CPP claim. A "storage unit" is any tangible unit that can contain and store instructions for use by a computer processor.The computer-readable storage medium may be, without limitation, an electronic storage medium, a magnetic storage medium, an optical storage medium, an electromagnetic storage medium, a semiconductor storage medium, a mechanical storage medium, or any suitable combination of the foregoing. Some known types of storage devices incorporating these media include: floppy disk, hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), CD-ROM, DVD, memory stick, floppy disk, mechanically encoded device (such as punched cards or pits / ridges formed on a major surface of a disk), or any suitable combination of the foregoing.A computer-readable storage medium, as used in the present disclosure, should not be construed as storing transient signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide, light pulses carried through a fiber optic cable, electrical signals transmitted through a wire, and / or other transmission media. As will be appreciated by one of ordinary skill in the art, data is typically moved at some random time during normal operations of a storage device, such as during access, defragmentation, or garbage collection, but this does not make the storage device temporary because the data is non-volatile while stored.

[0006] With reference to the following figures and in particular to Fig. 1 to 2, representations of data processing environments are provided in which illustrative embodiments may be implemented. It should be understood that Fig. Figures 1 and 2 are intended only as examples and are not intended to state or imply any limitation regarding the environments in which various embodiments may be implemented. Many modifications may be made to the illustrated environments.

[0007] Fig. 1 shows a pictorial representation of a computing environment in which illustrative embodiments may be implemented. A computing environment 100 includes an example of an environment for executing at least some of the computer code involved in performing the inventive methods, such as business function deployment code 200. For example, business function deployment code 200 deploys and executes virtualized business functions on edge devices associated with node edge servers in an edge computing environment by providing runtime binaries to the edge devices via the associated node edge servers.In addition to the business function provisioning code block 200, the computing environment 100 includes, for example, a computer 101, a wide area network (WAN) 102, an end-user device (EUD) 103, a remote server 104, a public cloud 105, and a private cloud 106. In this embodiment, the computer 101 includes a processor group 110 (including processing circuitry 120 and cache 121), a communications fabric 111, volatile memory 112, persistent storage 113 (including an operating system 122 and a business function provisioning code block 200, as identified above), a peripheral device group 114 (including a user interface (UI) device group 123, storage 124, and an Internet of Things (IoT) sensor group 125), and a network module 115.The remote server 104 includes a remote database 130. The public cloud 105 includes a gateway 140, a cloud orchestration module 141, a physical host machine group 142, a virtual machine group 143, and a container group 144.

[0008] The computer 101 may take the form of a desktop computer, a laptop computer, a tablet computer, a smartphone, a smart watch or other wearable computer, a mainframe computer, a quantum computer, or any other form of computer or mobile device now known or developed in the future that is capable of executing a program, accessing a network, or querying a database, such as the remote database 130. As is well understood in the field of computer technology and depending on the technology, the performance of a method implemented by a computer may be distributed among multiple computers and / or between multiple storage locations. On the other hand, the detailed explanation in this illustration of the computing environment 100 focuses on a single computer, in particular on the computer 101, in order to keep the illustration as simple as possible.The computer 101 may be located in a cloud even if it is in . Fig. 1 is not shown in a cloud. On the other hand, the computer 101 does not have to be in a cloud, except to a certain extent, as may be explicitly stated.

[0009] Processor array 110 includes one or more computer processors of any type currently known or developed in the future. Processing circuitry 120 may be distributed across multiple packages, for example, multiple coordinated integrated circuit chips. Processing circuitry 120 may implement multiple processor threads and / or multiple processor cores. Cache 121 is memory located within the processor chip package(s) and is typically used for data or code that should be available for rapid access by the threads or cores executing on processor array 110. Cache memories are typically organized into multiple levels, which depend on relative proximity to the processing circuitry. Alternatively, some or all of the cache for the processor array may be located "off-chip."In some computing environments, the processor group 110 may be configured to operate on quantum bits and perform quantum computing.

[0010] Computer-readable program instructions are typically loaded onto computer 101 to cause a series of operations to be performed by processor group 110 of computer 101, thereby effecting a computer-implemented method, such that the so-executed instructions instantiate the methods specified in flowcharts and / or detailed descriptions of computer-implemented methods (collectively referred to as "the inventive methods") included in this specification. These computer-readable program instructions are stored in various types of computer-readable storage media, such as cache 121 and the other storage media discussed below. The program instructions and associated data are accessed by processor group 110 to control and direct the performance of the inventive methods.In the data processing environment 100, at least some of the instructions for performing the inventive methods in the business function provisioning code block 200 may be stored in the persistent storage 113.

[0011] The data transmission structure 111 is the signal transmission path that enables the various components of the computer 101 to exchange data with each other. Typically, this structure consists of switches and electrically conductive paths, such as the switches and electrically conductive paths that make up buses, bridges, physical input / output ports, and the like. Other types of signal transmission paths may be used, such as data transmission via fiber optic paths and / or wireless data transmission paths.

[0012] Volatile memory 112 is any type of volatile memory currently known or developed in the future. Examples include dynamic random access memory (RAM) or static RAM. Typically, volatile memory 112 is characterized by random access, but this is not required unless explicitly stated. In computer 101, volatile memory 112 is located in a single package and is integrated into computer 101, but alternatively or additionally, volatile memory may be distributed across multiple packages and / or may be external to computer 101.

[0013] Persistent memory 113 is any form of non-volatile computer memory currently known or developed in the future. The non-volatility of this memory means that the stored data is retained regardless of whether power is applied directly to computer 101 and / or persistent memory 113. Persistent memory 113 may be read-only random access memory (ROM), but typically at least a portion of persistent memory allows data to be written, erased, and overwritten. Some known forms of persistent memory include magnetic disks and solid-state storage devices. Operating system 122 may take several forms, such as various well-known proprietary operating systems or open-source Portable Operating System Interface-type operating systems that utilize a kernel.The business function provision code included in block 200 typically includes at least a portion of the computer code involved in performing the inventive methods.

[0014] The peripheral device group 114 comprises the group of peripheral devices of the computer 101. Data transmission connections between the peripheral devices and the other components of the computer 101 can be implemented in various ways, such as Bluetooth connections, near-field communication (NFC) connections, wired connections (such as Universal Serial Bus (USB) cables), connectors (such as Secure Digital (SD) cards), connections established over local area communication networks, and even connections established over wide area networks such as the Internet. In various embodiments, the UI device group 123 can include components such as a display screen, a speaker, a microphone, wearable devices (such as glasses and smart watches), a keyboard, a mouse, a printer, a touchpad, game controllers, and haptic devices.The memory 124 is external storage, such as an external hard drive or a removable storage such as an SD card. The memory 124 may be permanent and / or volatile. In some embodiments, the memory 124 may take the form of a quantum computing storage device for storing data in the form of quantum bits. In embodiments where the computer 101 is required to have a high storage volume (for example, in cases where the computer 101 locally stores and manages a large database), this storage may be provided by peripheral storage devices designed to store very high data volumes, such as a storage area network (SAN) shared by multiple geographically distributed computers. The IoT sensor array 125 consists of sensors that can be used in Internet of Things applications.For example, one sensor can be a thermometer and another sensor can be a motion detector.

[0015] The network module 115 is the collection of computer software, hardware, and firmware that enables the computer 101 to communicate with other computers through the WAN 102. The network module 115 may include hardware such as modems or transceivers of WLAN signals, software for packetizing and / or depacketizing data for transmission over data transmission networks, and / or web browser software for transmitting data over the Internet. In some embodiments, the network control functions and network forwarding functions of the network module 115 are performed on the same physical hardware device. In other embodiments (for example, embodiments utilizing software-defined networking (SDN)), the control functions and forwarding functions of the network module 115 are performed on physically separate devices, such that the control functions manage several different hardware devices of the network.Computer-readable program instructions for performing the inventive methods can typically be downloaded to the computer 101 via an external computer or external storage device through a network adapter card or network interface included in the network module 115.

[0016] The WAN 102 is any wide area network (e.g., the Internet) capable of transmitting computer data over non-local distances using any technology for transmitting computer data currently known or developed in the future. In some embodiments, the WAN 102 may be replaced and / or supplemented by local area networks (LANs) designed to transmit data between devices located within a local area, such as a wireless network. The WAN and / or LANs typically include computer hardware such as copper transmission cables, optical transmission lines, wireless transmission, routers, firewalls, switches, gateway computers, and edge servers.

[0017] End-user device (EUD) 103 is any computer system used and controlled by an end user (e.g., a customer of a company operating computer 101) and may take any of the forms discussed above in connection with computer 101. EUD 103 typically receives helpful and useful data from the operations of computer 101. For example, in a hypothetical case where computer 101 is configured to provide a recommendation to an end user, that recommendation would typically be transmitted from network module 115 of computer 101 over WAN 102 to EUD 103. In this way, EUD 103 may display or otherwise present the recommendation to an end user. In some embodiments, EUD 103 may be a client device, such as a thin client, a heavy client, a mainframe computer, a desktop computer, etc.

[0018] The remote server 104 is any computer system that provides the computer 101 with at least some data and / or functionality. The remote server 104 may be controlled and used by the same entity that operates the computer 101. The remote server 104 represents the machine(s) that collect and store helpful and useful data for use by other computers, such as the computer 101. For example, in a hypothetical case where the computer 101 is configured and programmed to provide a recommendation based on historical data, this historical data may be provided to the computer 101 from the remote database 130 of the remote server 104.

[0019] The public cloud 105 is any computer system available for use by multiple entities that provides on-demand availability of computer system resources and / or other computing capabilities, particularly data storage (cloud storage) and computing power, without direct, active user control. Cloud computing typically utilizes shared resource use to achieve coherence and economies of scale. The direct and active management of the computing resources of the public cloud 105 is performed by the computer hardware and / or software of the cloud orchestration module 141.The computing resources provided by the public cloud 105 are typically implemented by virtual computing environments running on multiple computers comprising the computers of the physical host machine group 142, which constitute and / or are available in the public cloud 105. The virtual computing environments (VCEs) typically take the form of virtual machines from the virtual machine group 143 and / or containers from the container group 144. It should be understood that these VCEs can be stored as images and transferred among and between the various physical machine hosts, either as images or after instantiation of the VCE.The cloud orchestration module 141 manages the transfer and storage of images, deploys new instantiations of VCEs, and manages active instantiations of VCE deployments. The gateway 140 is the collection of computer software, hardware, and firmware that enables the public cloud 105 to exchange data over the WAN 102.

[0020] The following provides some further explanations of virtualized computing environments (VCEs). VCEs can be stored as "images." A new active instance of the VCE can be instantiated from the image. Two common types of VCEs are virtual machines and containers. A container is a VCE that uses operating system-level virtualization. This refers to an operating system feature in which the kernel allows the existence of multiple isolated user-space instances called containers. These isolated user-space instances typically behave like real computers from the perspective of programs running within them. A computer program running on a normal operating system can utilize all of that computer's resources, such as connected devices, data and folders, network shares, CPU power, and quantifiable hardware capabilities.However, programs running in a container can only use the contents of the container and units assigned to the container, a feature known as containerization.

[0021] Private cloud 106 is similar to public cloud 105, except that the computing resources are available for use only by a single enterprise. While private cloud 106 is depicted as communicating with WAN 102, in other embodiments, a private cloud may be completely disconnected from the Internet and accessible only through a local / private network. A hybrid cloud is a composite of multiple clouds of different types (e.g., types such as private, community, or public cloud), often each implemented by different vendors. Each of the multiple clouds remains a separate and discrete entity, but the larger hybrid cloud architecture is held together by standardized or proprietary technology that enables orchestration, management, and / or data / application portability between the multiple individual clouds.In this embodiment, both the public cloud 105 and the private cloud 106 are part of a larger hybrid cloud.

[0022] As used herein, "a group of" in relation to Elements means one or more of the Elements. For example, a group of clouds is one or more different types of cloud environments. Likewise, "a number of" when used in relation to Elements means one or more of the Elements.

[0023] Furthermore, the phrase "at least one of," when used with a list of items, means that various combinations of one or more of the listed items can be used, and only one of each item in the list may be required. In other words, "at least one of" means that any combination of items and number of items from the list can be used, but not all items in the list are required. The item can be a specific object, thing, or category.

[0024] For example, without limitation, "at least one of Element A, Element B, or Element C" can include, but is not limited to, Element A, Element A, and Element B, or Element B. This example can also include Element A, Element B, and Element C, or Element B and Element C. Of course, any combination of these elements can be present. In some illustrative examples, "at least one of" can be, for example, without limitation, two Element A; one Element B; and ten Element C; four Element B and seven Element C; or other suitable combinations.

[0025] Currently, when a user requests a service that is outside the current network or in an interconnected application space, it is not possible to perform the service directly. Even if the service can be performed in such a scenario, the central host server managing the service is not in line with adopted edge computing advantages that control the user's service request. Consequently, this complicates the network by shifting everything to the network. However, illustrative embodiments provide a hybrid approach at the edge by using the framework disclosed herein.

[0026] Illustrative embodiments deploy and execute virtualized business functions at the edge (i.e., edge business functions) by deploying compact runtime binaries at the edge. A runtime binary is a runtime configuration that obtains resources required by a group of edge devices to access a narrowband network slice of a 5G network and perform a corresponding business function. The group of edge devices that will execute the business function is associated with a node edge server. The node edge server corresponds to a central host server of the edge computing environment.Illustrative embodiments utilize the central host server to grow the required runtime binaries on node edge servers in real time during operation and shrink the runtime binaries on the node edge servers as edge devices finish or complete execution of corresponding business functions.

[0027] The Node Edge Server sends a request for a narrowband network slice of the 5G network that has a specified bandwidth over a specified period of time (e.g., specified start and end times). In response to receiving the request from the Node Edge Server, the central host server performs a runtime binary identification process to determine which runtime binary is required by the group of edge units associated with the Node Edge Server and migrates the required runtime binary to the Node Edge Server. The Node Edge Server then sends the required runtime binary to the group of edge units to invoke the narrowband network slice of the 5G network for the group of edge units to perform the business function (e.g.,automatically operate a group of irrigation systems on a group of farms for a specified period of time and with a specified bandwidth). Note that the group of edge units are the only units capable of accessing the narrowband network slice of the SG network dedicated to this particular business function. Of course, the business function can be any type of function associated with an ultra-low-latency application that automatically performs a group of tasks or actions requested by the user from the service provider of this business function over the 5G network. Applications such as smart factory applications, smart power grid applications, smart farming applications, augmented reality-assisted surgical applications, and the like are categorized as ultra-low-latency applications.Ultra-low latency applications perform fast data processing and have low tolerance for delays (e.g., network latency).

[0028] Illustrative embodiments utilize a 5G service provider broker or marketplace to select a geographically proximate 5G service provider to orchestrate business function services to meet user demands. The 5G service provider broker identifies a suitable 5G service provider to provision the narrowband network slice of the 5G network to the edge entities to perform the business function, for example, based on proximity to the service request, cost, and the like. The central host server performs a provisioning process to obtain the narrowband network slice of the 5G network (i.e., the exact start and end time and bandwidth from the selected 5G service provider) for the group of edge entities to perform the business function. The selected 5G service provider ensures that a synchronous state of the group of edge entities is available at the edge.Based on acceptable network latency, defined, for example, by a service level agreement, contract, or the like, the central host server configures the business function services on the node edge server. Illustrative embodiments are capable of generating node edge server instances along with corresponding runtime binaries and subsequently removing the node edge server instances and their runtime binaries when business function transactions complete or terminate.

[0029] The node edge server initiates requests for services available through the 5G service provider's broker. The 5G service provider's broker orchestrates the service requests and activates services provided by the edge. Thus, the 5G service provider's broker creates a mediation platform that enables service providers (e.g., business function service providers, 5G service providers, and the like) and other business function participants to interact.

[0030] The selected 5G service provider ensures availability at the edge of the node edge server location, as network latency can cause the extremely low-latency application to fail. This can occur when a host server identifies where and how a business function transaction is supported, and the host server is able to provision the appropriate node edge server with a new or updated runtime binary to execute that business function transaction. This is done to implement the specific response required to serve a particular business function transaction.

[0031] Illustrative embodiments ensure that a properly sized configuration of a node edge server instance is available with an up-to-date runtime binary to execute a corresponding business function transaction. Illustrative embodiments achieve this by automatically provisioning a runtime binary from a set of services (e.g., resources) required to support the business function transaction. If such a runtime binary is available regionally or in an area geographically close to the point of processing of the business function, the illustrative embodiments may clone this runtime binary or generate this runtime binary as a new instance.

[0032] In response to illustrative embodiments identifying the appropriate node edge server, illustrative embodiments either migrate the required runtime binary from an edge provisioning server to that particular node edge server or clone the required runtime binary from a geographically closest node edge server in the same area. Illustrative embodiments determine whether to migrate or clone the required runtime binary based on initial or final configuration discrepancies (i.e., changes in the runtime binary that were required for different edge entities in different locations to perform the business function) that initiated the runtime binary migration.

[0033] The central host server migrates the required runtime binary to the node edge server from the edge provisioning server only if no geographically closest node edge server in the same area as the node edge server has the required runtime binary that can be cloned to the node edge server. After identifying the 5G service provider during an activation process, the host server uses a node orchestrator component to determine whether a new or updated runtime binary is required based on received business function details. The host server also uses a node state manager to store state information of all runtime binaries on all node edge servers.Based on initial and final configuration states of runtime binaries on a Node Edge Server, illustrative embodiments perform either a migration or a clone of the runtime binary on that Node Edge Server.

[0034] Thus, illustrative embodiments provide one or more technical solutions that address a technical problem with users requesting services for business functions to be performed outside the current network at the edge. As such, these one or more technical solutions provide a technical impact and a practical application in the field of edge computing.

[0035] With reference to Fig. 2, a diagram illustrating an example of a business function provisioning system according to an illustrative embodiment is shown. A business function provisioning system 201 may be implemented in a computing environment, such as the computing environment 100 in Fig. 1. The business function deployment system 201 is a system of hardware and software components for deploying and executing business functions on edge devices associated with node edge servers by providing runtime binaries to the edge devices via the associated node edge servers.

[0036] In this example, the business function provisioning system 201 includes a business function service provider 202, a third-party business function analytics service provider 204, an SG service provider 206, and a 5G service provider broker 208. However, it should be noted that the business function provisioning system 201 is intended for example purposes only and is not intended to limit illustrative embodiments. In other words, the business function provisioning system 201 may include any number of business function service providers, third-party business function analytics service providers, 5G service providers, 5G service provider brokers, and other providers and components not shown.

[0037] The business function service provider 202 provides a set of services corresponding to business functions of ultra-low latency applications requested by customers via client devices, such as the end user device 103 in Fig. 1. For example, the business function service provider 202 may support a business function that automatically operates a group of irrigation systems (e.g., a group of edge units) on a group of farms during specified time periods and with a specified bandwidth. The third-party business function analytics service provider 204 provides analytics corresponding to the business functions supported by the business function service provider 202. For example, the third-party business function analytics service provider 204 may provide the business function service provider 202 with information related to the irrigation system business function, such as air temperature, soil temperature, amount of soil moisture, rainfall, amount of daylight, soil composition, plant growth rate, and the like.

[0038] The 5G service provider 206 provides the 5G network to the business function service provider 202 to perform requested business functions corresponding to ultra-low latency applications. The 5G service provider broker 208 selects a suitable 5G service provider (e.g., the 5G service provider 206) to provide the 5G network to perform the requested business functions. In other words, the 5G service provider broker 208 is an interface between the business function service provider 202 and the 5G service provider 206.

[0039] In this example, the business function service provider 202 includes a host server 210 and a node edge server 212. However, it should be noted that the business function service provider 202 may include any number of host servers and node edge servers. The host server 210 is a central computer that controls and coordinates operations across a plurality of node edge servers of the edge computing environment, such as the node edge server 212.

[0040] In this example, the host server 210 includes a host processor 214, a node orchestrator 216, a node state manager 218, and a node spawner 220. However, it should be noted that the host server 210 may include more components than shown, such as a persistent writer, a persistent database, and the like.

[0041] The host server 210 utilizes the host processor 214 to receive crypt objects corresponding to service requests containing transaction details of business functions requested by users (e.g., customers). The host processor 214 decrypts the received crypt objects. In response to successfully decrypting a crypt object, the host processor 214 validates the corresponding service request. Furthermore, the host processor 214 may provide narrowband network slices of a 5G network, such as 5G network slices 228 corresponding to the 5G service provider 206, to edge devices to perform corresponding business functions based on the details of the business functions received from the host processor 214.

[0042] In response to host processor 214 validating a particular service request, host processor 214 sends an activation request for the node edge server and the business function details to node orchestrator 216. Host server 210 utilizes node orchestrator 216 to determine whether a new or updated runtime binary is needed for a group of edge devices to perform the business function based on business function details. Furthermore, host server 210 utilizes node orchestrator 216 to migrate runtime binaries 222 to node edge servers. The node edge servers send runtime binaries 222 to associated edge devices to invoke the narrowband network slices of the 5G network for the edge devices to perform their respective business function transactions.Runtime binaries 222 are runtime configurations that maintain the resources required by the group of edge devices to access the narrowband network slices of the 5G network and perform their corresponding business function transactions. Furthermore, the host server 210 utilizes the node state manager 218 to store state information from all runtime binaries stored on all node edge servers in the edge computing environment. Thus, the host server 210 knows the state of a specific runtime binary loaded on a specific node edge server at any given time.

[0043] The host server 210 utilizes the node spawner 220 to generate a runtime binary activation code and send it to the node edge servers for the edge units to perform the business function. The node spawner 220 also creates network connections using a secure shell protocol with root access to the operating systems of the node edge servers to execute the runtime binary activation code that provides new functionality to the node edge servers. Furthermore, the host server 210 can utilize the node spawner 220 to add new virtual node edge servers as needed to perform business function transactions.

[0044] The node edge server 212 is an edge computer of the edge computing environment. The node edge server 212 manages the operation of a group of edge units to automatically perform a group of business functions. The group of edge units automatically performs their corresponding group of business functions according to their associated narrowband network slices of the 5G network. The group of edge units accesses the narrowband network slices of the 5G network using a specific runtime binary provided by the node edge server 212. The node edge server 212 utilizes a node extension 224 to request required runtime binaries for edge units to perform corresponding business functions.

[0045] The 5G service provider broker 208 includes a 5G service provider catalog 226. The 5G service provider broker 208 uses the 5G service provider catalog 226 to select the appropriate 5G service provider based on, for example, customer pricing, customer service level agreement, geographic location of service requests, geographic location of edge units, to perform business function transactions, and the like.

[0046] The 5G service provider 206 provides 5G network slices 228 of the 5G network to the business function service provider 202 for performing business functions. The 5G network slices 228 represent a plurality of narrowband network slices of the 5G network for edge units to perform their corresponding business function transactions. A narrowband network slice has a specified start time, end time, and 5G network bandwidth. The group of edge units associated with the node edge server 212 has its own narrowband network slice for performing its corresponding business function, and only this group of edge units is capable of accessing this specific narrowband network slice.

[0047] With reference to Fig. 3, a diagram illustrating an example of a business function provisioning process is shown, according to an illustrative embodiment. A business function provisioning process 300 may be implemented in a business function provisioning system, such as the business function provisioning system 201 in Fig. 2.

[0048] In this example, the provisioning process for a business function 300 includes a host processor 302, a node orchestrator 304, a node complement 306, a node state manager 308, a node spawner 310, and a node edge server 312. It should also be noted that the host processor 302, the node orchestrator 304, the node state manager 308, and the node spawner 310 are components of a central host server, such as the host processor 214, the node orchestrator 216, the node state manager 218, and the node spawner 220 of the host server 210 in Fig. 2. The node complement 306 is a component of the node edge server 312 or an edge provisioning server.

[0049] In a step 314, the host processor 302 receives a service request as a crypt object with details of a business function to be performed by a group of edge devices in the edge computing environment corresponding to the host processor 302 from a user's client device over a network. The client device may, for example, be the end-user device 103 in Fig. 1. The user may be a customer of the business function service provider, such as the business function service provider 202 in Fig. 2. The network can, for example, be the WAN 102 in Fig. 1.

[0050] In a step 316, the host processor 302 validates the service request in response to successfully decrypting the Crypt object with the details of the business function to be performed by the group of edge units. In a step 318, in response to the service request being validated, the host processor 302 sends a node edge server activation request along with the business function details to the node orchestrator 304. In a step 320, the node orchestrator 304, in response to receiving the node edge server activation request and the business function details, determines whether a new or updated runtime binary is required for a group of edge units to perform the business function based on the received business function details. In response to determining that no new or updated runtime binary (e.g.If the current runtime binary corresponding to the business function is correct and up-to-date) for the group of edge devices required to perform the business function, the node orchestrator 304 migrates the current runtime binary corresponding to the business function from the host server to the group of edge devices via an associated node edge server.

[0051] In a step 322, in response to determining that a new or updated runtime binary is needed for the group of edge devices to perform the business function, the node orchestrator 304 sends an indication that a node runtime binary is needed for the node extension 306. In a step 324, the node state manager 308 receives a request from the node extension 306 to identify a node edge server with the required runtime binary in response to the node extension 306 receiving the indication that the node runtime binary is needed for the group of edge devices to perform the business function. Note that the node state manager 308 stores the state of all runtime binaries on all node edge servers in the edge computing environment that correspond to the business function service provider.

[0052] In a step 326, the node state manager 308 sends an identification of the node edge server with the required runtime binary for the group of edge devices to the node extension 306 to perform the business function. The node extension 306 interacts with the node state manager 308 to obtain up-to-date information regarding which node edge server has the most recently required runtime binary to perform the business function. In a step 328, the node spawner 310 receives a request from the node extension 306 to set the node edge server with the required runtime binary to "enabled" in response to the node extension 306 receiving the identification from the node edge server. The node spawner 310 is a component of the host server for generating an activation code for a runtime binary (e.g.a new infrastructure as code for deploying new features) that corresponds to the runtime binary required at the node edge server when needed.

[0053] In a step 330, the node spawner 310 activates the runtime binary activation code and sends it to the node edge server 312, which is the identified node edge server with the required runtime binary for the group of edge units to perform the business function. Additionally, in a step 332, the node spawner 310 creates a secure shell protocol connection with root operating system access to the node edge server 312 and executes the runtime binary activation code. Alternatively, in a step 334, the node spawner 310 may clone the required runtime binary closest to the node edge server 312 on the node edge server 312 based on the details of the business function, instead of performing the above steps 330 and 332.

[0054] The node state manager 308 records the state of the node edge server 312 as "disabled" in response to determining that the group of edge entities has finished performing the business function. Further, the node orchestrator 304 deletes or removes the runtime binary loaded on the node edge server 312 in response to the group of edge entities having finished performing the business function.

[0055] The following is an example implementation that evaluates the possibility of completing the business function transaction on the group of edge devices associated with the node edge server in the specified time window with the specified bandwidth. S group of virtualized services across the entire cloud structure, (1) where S = {s1, s2, ..., s i , ..., s k , ..., s |S| .} P group of runtime binary file partitions, where P = p1, p2, ..., p j , ..., P |P| . (2) pj |p j | is the size of the runtime binary partition. C I Matrix |S|×|P|, which represents an initial configuration, where: Ci,jI={1 if runtime binary of pj is stored on si0,otherwise. Matrix |S|×|P| represents a final configuration, C F where: Ci,jF={1 if runtime binary file of pj is stored on si0,otherwise.

[0056] Variable definitions: Y matrix |S|×|P|×|S| represents a need for a runtime binary partition migration, where: yi,j,k={1 si is provider of runtime binary from pj to sk0,else. D matrix |S|×|P| represents the runtime binaries that need to be mobilized at time T, where: di,j={1 si with runtime binary of pj is deleted from si0,else.

[0057] Illustrative embodiments achieve activation of the business function by making a change to the required state of a business function, which is referenced as the configuration of the runtime binary. When a virtualized node edge server s k a runtime binary file of a partition p j in the initial and final configuration, and no action is required, no migration of the runtime binary of the partition p j from any virtualized node edge server s i on s k This is formulated as: {∑i=1|S|yi,j,k=0,di,j=0}(sk,pj).

[0058] Otherwise, illustrative embodiments obtain from equation (7) the complement that sets up the scenario where replication or cloning is needed as: {[Ck,jI+∑i=1|S|yi,j,k−di,j=Ck,jF],[di,j>Ck,jF−Ck,jI]}∀1≤k≤|S|,1≤j≤|P|.

[0059] There are some virtualized node edge servers i present which contains the runtime binary file of the partition p j to the node edge server s k migrate as: {∑i=1|S|yi,j,k=1}(sk,pj).

[0060] Illustrative embodiments capture the need to migrate the runtime binary when the node edge server s k the runtime binary file of partition p j not in the initial configuration, as: {∑i=1|S|yi,j,k≥Ck,jF−Ck,jI}∀1≤k≤|S|,1≤j≤|P|.

[0061] This activation is proof of establishing valid access that satisfies the customer requirement that is outside the scope of the service catalog. Illustrative embodiments identify the services through the 5G service provider broker invoked on the host server, and in response, the host server ensures that the execution of the virtualized business function Ck,jF provided near the calling third-party requestor.

[0062] With reference to Fig. 4A to 4B, a flowchart depicting a process for providing business functions according to an illustrative embodiment is shown. Fig. The process shown in Figures 4A to 4B can be implemented in a host server computer, such as computer 101 in Fig. 1 or the host server 210 in Fig. 2. For example, the Fig. 4A to 4B shown process in the provisioning code for a business function 200 in Fig. 1 be implemented.

[0063] The process begins when the host server computer receives a service request as a crypt object containing details of a business function to be performed by a group of edge devices in an edge computing environment corresponding to the host server computer of a user's client device over a network (at step 402). The host server computer validates the service request in response to successfully decrypting the crypt object containing details of the business function to be performed by the group of edge devices (at step 404).

[0064] The host server computer then makes a determination as to whether a new runtime binary or an updated runtime binary is required for the group of edge devices to perform the business function based on the details of the business function (at a step 406). If the host server computer determines that a new runtime binary or an updated runtime binary is not required for the group of edge devices to perform the business function based on the details of the business function, and no output is provided at step 406, the host server computer migrates a current runtime binary corresponding to the business function to the group of edge devices via an associated node edge server (at a step 408). After that, the process ends.If the host server computer determines that one of a new runtime binary or an updated runtime binary is needed for the group of edge devices to perform the business function based on the details of the business function, returns "Yes" in step 406, the host server computer sends an indication that a runtime binary is needed for a node addition of an edge provisioning server (in a step 410).

[0065] The host server computer then receives a request from the node extension to identify the node edge server with the required runtime binary in response to the node extension receiving the indication that the runtime binary is required for the group of edge devices to perform the business function (at a step 412). The host server computer stores a state of each respective runtime binary loaded on each respective node edge server in the edge computing environment. The host server computer sends an identification of the node edge server with the required runtime binary for the group of edge devices to perform the business function to the node extension (at a step 414).

[0066] The host server computer receives a request to set the node edge server with the required runtime binary to "enabled" from the node extension in response to the node extension receiving the identification of the node edge server (at a step 416). In response to receiving the request, the host server computer generates an activation code for a runtime binary corresponding to the required runtime binary (at a step 418). The host server computer sends the activation code for a runtime binary to the node edge server with the required runtime binary for the group of edge units to perform the business function (at a step 420).Additionally, the host server computer creates a secure shell protocol connection with root operating system access to the node edge server with the required runtime binary to execute the runtime binary activation code (in a step 422).

[0067] Next, the host server computer records a state of the node edge server as "disabled" in response to determining that the group of edge units has finished performing the business function (at step 424). Further, the host server computer deletes the required runtime binary from the node edge server in response to the group of edge units having finished performing the business function (at step 426). Further, the host server computer stores the required runtime binary that was deleted from the node edge server on the host server computer (at step 428). Thereafter, the process ends.

[0068] Thus, illustrative embodiments of the present invention provide a computer-implemented method, a computer system, and a computer program product for deploying and executing a virtualized business function on an edge computing environment by deploying runtime binaries on the edge. The descriptions of the various embodiments of the present invention have been prepared for the purpose of illustration, but are by no means intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope of the described embodiments.The terminology used herein has been chosen to best explain the principles of the embodiments, the practical application, or the technical improvement over technologies found in the market, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

Claims

[1] A computer-implemented method for providing business functions, the computer-implemented method comprising: Sending, by a computer, a runtime binary activation code to a node edge server containing a required runtime binary for a group of edge devices to perform a business function; and Create, by the computer, a secure shell protocol connection with root operating system access to the node edge server with the required runtime binary to execute the runtime binary activation code. [2] A computer-implemented method according to claim 1, further comprising: Receiving, by the computer, a request to set the Node Edge Server with the required runtime binary from a Node Supplement to "activate" in response to the Node Supplement receiving an identification from the Node Edge Server; and Generating, by the computer, the activation code for a runtime binary corresponding to the required runtime binary in response to receiving the request to set the node edge server with the required runtime binary to "activate". [3] A computer-implemented method according to claim 1, further comprising: Receiving, by the computer, a service request as a crypt object with details of the business function to be performed by the group of edge devices in an edge computing environment corresponding to the computer of a user's client device, over a network; and Validate, by the computer, the service request in response to a successful decryption of the Crypt object with the details of the business function to be performed by the group of Edge entities. [4] A computer-implemented method according to claim 1, further comprising: Determine, by the computer, whether a new runtime binary or an updated runtime binary is required for the group of edge units to perform the business function based on details of the business function; in response to the computer determining that one of a new runtime binary or an updated runtime binary is required for the group of edge devices to perform the business function based on the details of the business function, sending, by the computer, an indication that a runtime binary is required for a node addition to an edge provisioning server; Receiving, by the computer, a request from the node extension to identify the node edge server with the required runtime binary in response to the node extension receiving the indication that the runtime binary is required for the group of edge devices to perform the business function; and Sending, by the computer, an identification of the node edge server with the required runtime binary for the group of edge units to perform the business function to the node complement. [5] A computer-implemented method according to claim 4, further comprising: in response to the computer determining that no new runtime binary or no updated runtime binary is required for the group of edge devices to perform the business function based on the details of the business function, migrating, by the computer, a current runtime binary corresponding to the business function to the group of edge devices via an associated node edge server. [6] A computer-implemented method according to claim 1, further comprising: recording, by the computer, a state of the node edge server as “disabled” in response to determining that the group of edge devices has finished performing the business function; Deleting, by the computer, the required runtime binary from the node edge server in response to the group of edge units completing the business function; and Saving, by the computer, the required runtime binary file that was deleted from the node edge server to the computer. [7] The computer-implemented method of claim 1, wherein the computer stores a state of each respective runtime binary loaded on each respective node edge server in an edge computing environment corresponding to the computer. [8] The computer-implemented method of claim 1, wherein the required runtime binary is a runtime configuration that obtains resources required by the group of edge devices to invoke a narrowband network slice of a fifth generation (5G) network and perform the business function. [9] The computer-implemented method of claim 8, wherein the narrowband network slice of the 5G network consists of a specified start time, end time and bandwidth, and wherein only the group of entities can access the narrowband network slice of the 5G network to perform the business function. [10] The computer-implemented method of claim 1, wherein the business function is associated with an ultra-low latency application. [11] A computer system for providing business functions, the computer system comprising: a data transmission structure; a memory unit connected to the data transfer structure, the memory unit storing program instructions; and a processor connected to the data transfer structure, the processor executing the program instructions to: Sending a runtime binary activation code to a node edge server containing a required runtime binary for a group of edge units to perform a business function; and Create a secure shell protocol connection with root operating system access to the node edge server with the required runtime binary to execute the runtime binary activation code. [12] The computer system of claim 11, wherein the processor further executes the program instructions to: Receiving a request to set the Node Edge Server with the required runtime binary to "enabled" from a Node Complement in response to the Node Complement receiving an identification from the Node Edge Server; and In response to receiving a request to set the node edge server with the required runtime binary to enabled, generate the activation code for a runtime binary corresponding to the required runtime binary. [13] The computer system of claim 11, wherein the processor further executes the program instructions to: Receiving a service request as a Crypt object with details of the business function to be performed by the group of edge devices in an edge computing environment corresponding to the computer system, over a network from a user's client device; and Validate the service request in response to a successful decryption of the Crypt object with the details of the business function to be performed by the group of Edge entities. [14] The computer system of claim 11, wherein the processor further executes the program instructions to: Determine whether one of a new runtime binary or an updated runtime binary is required for the group of edge devices to perform the business function based on details of the business function; Sending an indication that a runtime binary is required for a node addition of an edge provisioning server in response to determining that one of a new runtime binary or an updated runtime binary is required for the group of edge devices to perform the business function based on the details of the business function; Receiving a request from the node extension to identify the node edge server with the required runtime binary in response to the node extension receiving the indication that the runtime binary is required for the group of edge devices to perform the business function; and Sending an identification of the node edge server with the required runtime binary for the group of edge units to the node complement to perform the business function. [15] The computer system of claim 14, wherein the processor further executes the program instructions to: Migrating a current runtime binary corresponding to the business function to the group of edge devices via an associated node edge server in response to determining that a new runtime binary or an updated runtime binary is not required for the group of edge devices to perform the business function based on the details of the business function. [16] A computer program product for providing business functions, the computer program product comprising a computer-readable storage medium having program instructions embodied thereon, the program instructions being executable by a computer to cause the computer to perform a method for: Sending, by the computer, a runtime binary activation code to a node edge server with a required runtime binary for a group of edge units to perform a business function; and Create, by the computer, a secure shell protocol connection with root operating system access to the node edge server with the required runtime binary to execute the runtime binary activation code. [17] The computer program product of claim 16, further comprising: Receiving, by the computer, a request to set the Node Edge Server with the required runtime binary from a Node Supplement to “enabled” in response to the Node Supplement receiving an identification of the Node Edge Server; and Generating, by the computer, the activation code for a runtime binary corresponding to the required runtime binary in response to receiving the request to set the node edge server with the required runtime binary to "enabled". [18] The computer program product of claim 16, further comprising: Receiving, by the computer, a service request as a crypt object with details of the business function to be performed by the group of edge devices in an edge computing environment corresponding to the computer of a user's client device, over a network; and Validate, by the computer, the service request in response to a successful decryption of the Crypt object with the details of the business function to be performed by the group of Edge entities. [19] The computer program product of claim 16, further comprising: Determining, by the computer, whether one of a new runtime binary or an updated runtime binary is required for the group of edge devices to perform the business function based on details of the business function; in response to the computer determining that one of a new runtime binary or an updated runtime binary is required for the group of edge devices to perform the business function based on the details of the business function, sending, by the computer, an indication that a runtime binary is required for a node addition to an edge provisioning server; Receiving, by the computer, a request from the node extension to identify the node edge server with the required runtime binary in response to the node extension receiving the indication that the runtime binary is required for the group of edge devices to perform the business function; and Sending, by the computer, an identification of the node edge server with the required runtime binary for the group of edge units to perform the business function to the node complement. [20] The computer program product of claim 19, further comprising: in response to the computer determining that no new runtime binary or no updated runtime binary is required for the group of edge devices to perform the business function based on the details of the business function, migrating, by the computer, a current runtime binary corresponding to the business function to the group of edge devices via an associated node edge server.