Multi-cloud clock speed adjustment method, system, and program
A centralized cognitive system in a multi-cloud environment synchronizes CPU clocks across heterogeneous services by adjusting container speeds based on state change notifications, addressing delays and improving task completion times.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- INTERNATIONAL BUSINESS MACHINE CORPORATION
- Filing Date
- 2022-07-13
- Publication Date
- 2026-06-23
AI Technical Summary
Existing multi-cloud cognitive systems face challenges in coordinating the execution of urgent jobs across heterogeneous cloud environments due to varying CPU clock speeds, leading to communication gaps and delays.
A centralized cognitive system adjusts the clock speed of containers within a multi-cloud environment by collecting and analyzing state change notifications, identifying the need for adjustment, and imposing a selected clock speed to meet urgent job requirements.
Ensures timely completion of urgent tasks by synchronizing CPU clocks across different cloud services, enhancing the responsiveness and efficiency of the multi-cloud cognitive system.
Smart Images

Figure 0007878843000001 
Figure 0007878843000002 
Figure 0007878843000003
Abstract
Description
Technical Field
[0001] The present invention generally relates to the field of multi-cloud systems, and more particularly to a distributed cognitive system in a multi-cloud environment.
Background Art
[0002] Cognitive models enabled by big data platforms are often referred to as cognitive entities. Cognitive entities are designed to refine response processing by remembering the past, interacting with humans, continuously learning, and looking towards the future. Cognitive capabilities improve the automation of human needs by considering time and situation, or context. Further, cognitive entities respond dynamically to user queries, thereby improving user satisfaction. Modern cognitive systems focus on specific capabilities within a predefined scope of research fields. For example, some cognitive entities are developed for security processing, authentication, and authorization. On the other hand, other cognitive entities are developed for visual recognition and document processing. Enhanced collaborative systems often require multiple specialized cognitive entities within a distributed cognitive system.
[0003] Distributed cognitive systems are associated with composites of multiple models trained to perform specialized jobs. Specialized jobs may relate to research fields such as speech-to-text, speech recognition services, or character recognition, or combinations thereof. Thus, distributed cognitive systems may relate to multiple cognitive services deployed in different cloud-hosting environments that rely on specific backbone capabilities. A multi-cloud integration architecture that incorporates services from different cloud-hosting environments connected together by a centralized cognitive interface is often provided to offer an understandable cognitive solution with an underlying distributed cognitive system.
Summary of the Invention
[0004] According to aspects of the present invention, there are methods, computer program products, or systems, or combinations thereof, that perform the following operations (not necessarily in the following order): (i) identifying the services and corresponding containers involved in executing instructions to complete a specified job so that the specified job is performed within a multi-cloud distributed computing system; (ii) monitoring the corresponding containers for any state change notifications (SCNs) issued by the hardware abstraction layer while the job is being performed; (iii) detecting the need to coordinate the execution of instructions for a first container among the corresponding containers based on the SCNs and the required response time; and (iv) adjusting the clock speed of the first container to a selected clock speed within a permissible range for adjustment.
[0005] According to another aspect of the present invention, there is a method, computer program product, or system, or a combination thereof, for performing an operation to request container information, including container structure and configuration parameters, in response to an urgent requirement for a specified job. The request is performed via a system call gate invoked by a background program in a corresponding container, which includes a first container.
[0006] According to yet another aspect of the present invention, there is a method, computer program product, or system, or a combination thereof, for performing the operation of pushing container information to a central cognitive subsystem of a multi-cloud distributed computing system. The central cognitive subsystem adjusts the clock speed of a first container based on the container information. [Brief explanation of the drawing]
[0007] [Figure 1] This is a diagram of a cloud computing node used in a first embodiment of the system according to the present invention. [Figure 2]This is a diagram illustrating an embodiment of a cloud computing environment (also referred to as the "system of the first embodiment") according to the present invention. [Figure 3] This is a diagram of the abstraction model layer used in the system of the first embodiment. [Figure 4] This flowchart shows the method of the first embodiment, which is implemented at least partially by the system of the first embodiment. [Figure 5] This flowchart shows a method of a second embodiment, which is implemented, at least partially, in the system of the first embodiment. [Figure 6] This is a block diagram showing the first mechanical logic (e.g., software) portion of the system according to the first embodiment. [Figure 7] This is a block diagram showing the second mechanical logic (e.g., software) portion of the system according to the first embodiment. [Modes for carrying out the invention]
[0008] This involves imposing, readjusting, or both CPU clocks for container services from various cloud-based cognitive systems in a multi-cloud cognitive computing environment for performing a specific job. The specific job has urgent execution requirements. During job processing, the need to coordinate instruction execution is identified through an existing emergency identification process, which includes collecting per-container clock data supporting the execution of the specific job.
[0009] The section on embodiments for carrying out this invention is divided into the following subsections: (i) hardware and software environments, (ii) examples of embodiments, (iii) further comments or embodiments or both, and (iv) definitions.
[0010] I. Hardware and Software Environment The present invention may be a system, method, or computer program product, or a combination thereof. The computer program product may include a computer-readable storage medium (or a set of mediums) having computer-readable program instructions for causing a processor to execute an aspect of the present invention.
[0011] A computer-readable storage medium can be a tangible device capable of holding and storing instructions for use by an instruction-executing device. A computer-readable storage medium may, but is not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination thereof. A less-than-exclusive list of more specific examples of computer-readable storage media includes portable computer diskettes, hard disks, random-access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random-access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disks (DVD(R)), memory sticks, floppy(R) disks, mechanically encoded devices such as punched cards or grooved-reinforced structures on which instructions are recorded, and any suitable combination thereof. Computer-readable storage media as used herein should not be interpreted as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses passing through optical fiber cables), or electrical signals transmitted through wires.
[0012] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to each computing / processing device, or to an external computer or external storage device via a network such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network may include copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. The network adapter card or network interface of each computing / processing device receives the computer-readable program instructions from the network and transfers the computer-readable program instructions for storage on the computer-readable storage media within each computing / processing device.
[0013] The computer-readable program instructions for performing the operation of the present invention may be assembler instructions, instruction set architecture (ISA) instructions, machine language instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk(R), C++, or similar, and conventional procedural programming languages such as the C programming language or similar programming languages. The computer-readable program instructions may be executed as a standalone software package, either entirely on the user's computer or partially on the user's computer, or partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, via the Internet using an Internet service provider). In some embodiments, for example, an electronic circuit including a programmable logic circuit, a field-programmable gate array (FPGA), or a programmable logic array (PLA) may execute computer-readable program instructions by using state information of computer-readable program instructions to personalize the electronic circuit in order to carry out aspects of the present invention.
[0014] Aspects of the present invention will be described herein with reference to flowcharts or block diagrams, or both, of methods, apparatus (systems), and computer program products according to embodiments of the present invention. It will be understood that each block in a flowchart or block diagram, or both, and combinations of blocks in a flowchart or block diagram, or both, are executable by computer-readable program instructions.
[0015] These computer-readable program instructions may be provided to a general-purpose computer, a dedicated computer, or a processor of another programmable data processing device to generate a machine that generates means for instructions to be executed via the processor of a computer or other programmable data processing device to perform functions / operations specified in one or more blocks of a flowchart or block diagram, or both. These computer-readable program instructions may be further stored on a computer-readable storage medium so that the computer-readable storage medium containing the instructions can provide a product containing instructions that perform the modes of functions / operations specified in one or more blocks of a flowchart or block diagram, or both, and can be directed to a computer, a programmable data processing device, or other device, or a combination thereof, to function in a particular manner.
[0016] Computer-readable program instructions may also be loaded into a computer, another programmable device, or another device to perform a series of operational steps on the computer, another programmable device, or another device in order to generate computer execution processes in order to produce instructions that will be executed on the computer, another programmable device, or another device in order to perform a function / operation specified in one or more blocks of a flowchart or block diagram or both.
[0017] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagram may represent a module, segment, or portion of instructions containing one or more executable instructions for performing a specified logical function. In some alternative implementations, the functions described in the blocks may be performed independently of the order shown in the diagram. For example, two consecutively shown blocks may actually be executed substantially simultaneously, or blocks may sometimes be executed in reverse order depending on the functions they contain. It will be further noted that each block in the block diagram or flowchart diagram, or both, and combinations of blocks in the block diagram or flowchart diagram, or both, are executable by a dedicated hardware-based system that performs a specified function or operation, or executes a combination of dedicated hardware and computer instructions.
[0018] While this disclosure includes a detailed description of cloud computing, it should be understood that the implementations of the teachings enumerated herein are not limited to cloud computing environments. Rather, embodiments of the present invention can be implemented in conjunction with any other type of computing environment, whether currently known or to be developed later.
[0019] Cloud computing is a service delivery model that enables convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be quickly delivered and released with minimal management effort or interaction with service providers. This cloud model may include at least five characteristics, at least three service models, and at least four deployment models.
[0020] The features are as follows.
[0021] On-demand self-service: Cloud users can unilaterally provide computing capabilities such as server time and network storage automatically as needed, without the need for human interaction with the service provider.
[0022] Broad network access: The capabilities are available over the network and accessed through standard mechanisms that facilitate use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).
[0023] Resource pooling: The provider's computing resources are pooled to serve multiple users using a multi-tenant model, and various physical and virtual resources are dynamically assigned and re-assigned as required. There is a sense of location independence in that users generally have no control or knowledge of the exact location of the resources provided and can specify their location at a higher level of abstraction (e.g., country, state, or data center).
[0024] Rapid elasticity: The capabilities are provided quickly and elastically, and in some cases automatically, to scale out rapidly and can be released quickly to scale in. Users often appear to have unlimited capabilities available to provide and can purchase any amount at any time.
[0025] Measured service: The cloud system automatically controls and optimizes resource usage by leveraging metering capabilities at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both the provider and the user of the service being utilized.
[0026] The service model is as follows:
[0027] Software as a Service (SaaS): The ability provided to the user is the use of the provider's applications running on a cloud infrastructure. These applications are accessible from various client devices through thin-client interfaces, such as web browsers (e.g., web-based email). Users have no management or control over the underlying cloud infrastructure, including the network, servers, operating system, storage, or possibly individual application capabilities, with the exception of limited user-specific application configuration settings.
[0028] Platform as a Service (PaaS): The ability provided to users is to deploy user-created or acquired applications, written using programming languages and tools supported by the provider, onto a cloud infrastructure. Users do not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but they do have control over the deployed applications and, in some cases, the configuration of the application hosting environment.
[0029] Infrastructure as a Service (IaaS): The capability provided to the user is to offer processing, storage, networking, and other basic computing resources that the user can deploy and run any software, including operating systems and applications. The user does not manage or control the underlying cloud infrastructure, but has control over the operating system, storage, deployed applications, and, in some cases, limited control over selected networking components (e.g., host firewalls).
[0030] The deployment model is as follows:
[0031] Private Cloud: The cloud infrastructure is operated solely for the organization. The cloud infrastructure may be managed by the organization or a third party, and may reside on-premises or off-premises.
[0032] Community Cloud: Cloud infrastructure is shared by several organizations to support a specific community that has shared concerns (e.g., mission, security requirements, policies, and compliance considerations). Cloud infrastructure may be managed by an organization or a third party and may reside on-premises or off-premises.
[0033] Public cloud: Cloud infrastructure is made available to the general public or large industry groups and is owned by organizations that sell cloud services.
[0034] Hybrid Cloud: Cloud infrastructure remains a unique entity, but it is a composite of two or more clouds (private, community, or public) bound together by standard or proprietary technologies (e.g., cloud bursting for load balancing between clouds) that enable data and application portability.
[0035] Cloud computing environments are service-oriented, focusing on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing is the infrastructure, including a network of interconnected nodes.
[0036] Referring here to Figure 1, a schematic diagram of an example cloud computing node is shown. Cloud computing node 10 is merely one example of a suitable cloud computing node and is not intended to imply any limitation on the scope of use or functionality of the embodiments of the present invention described herein. Nevertheless, cloud computing node 10 is capable of performing or implementing any or both of the functions described above.
[0037] The cloud computing node 10 includes computer systems / servers 12 capable of operating in numerous other general-purpose or dedicated computing system environments or configurations. Examples of well-known computing systems, environments, or configurations, or combinations thereof, that may be suitable for use with computer systems / servers 12 include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, and distributed cloud computing environments that include any of the above systems or devices.
[0038] The computer system / server 12 may be described in the general context of computer system executable instructions, such as program modules, that are executed by the computer system. Generally, a program module may include routines, programs, objects, components, logic, data structures, etc., that perform a specific task or execute a specific abstract data type. The computer system / server 12 may be practiced in a distributed cloud computing environment where tasks are performed on remote processing devices linked through a communication network. In a distributed cloud computing environment, program modules may reside on both local and remote computer system storage media, including memory storage devices.
[0039] As shown in Figure 1, the computer system / server 12 in the cloud computing node 10 is represented in the form of a general-purpose computing device. The components of the computer system / server 12 may include, but are not limited to, one or more processors or processing units 16, system memory 28, and a bus 18 that connects various system components, including the system memory 28, to the processor 16.
[0040] Bus 18 represents one or more of several types of bus structures, including memory buses or memory controllers, peripheral buses, accelerated graphics ports, and processor or local buses using any of the various bus architectures. Examples, but not limited to, such architectures include the Industrial Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Expansion ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus.
[0041] The computer system / server 12 typically includes various computer system-readable media. Such media may be any available media accessible by the computer system / server 12, and may include both volatile and non-volatile media, and both removable and non-removable media.
[0042] The system memory 28 may include computer system-readable media in the form of volatile memory, such as random access memory (RAM) 30 or cache memory 32 or both. The computer system / server 12 may further include other removable / non-removable, volatile / non-volatile computer system storage media. As just one example, a storage system 34 may be provided for reading and writing a non-removable non-volatile magnetic medium (not shown, but typically called a “hard drive”). Not shown, a magnetic disk drive may be provided for reading and writing removable non-volatile magnetic disks (e.g., “floppy disks”), and an optical disk drive may be provided for reading and writing removable non-volatile optical disks, such as CD-ROMs, DVD-ROMs, or other optical media. In such examples, each is connectable to the bus 18 by one or more data medium interfaces. As further described and explained below, the memory 28 may include at least one program product having a set of program modules (e.g., at least one) configured to perform the functions of embodiments of the present invention.
[0043] The program / utility 40 has a set (at least one) of program modules 42, which may be stored in memory 28, as well as, but not limited to, an operating system, one or more application programs, other program modules, and program data. Each or several combinations of the operating system, one or more application programs, other program modules, and program data may include an implementation of a networking environment. The program modules 42 generally perform functions or methods, or both, of embodiments of the present invention as described herein.
[0044] The computer system / server 12 can also communicate with one or more external devices 14, such as a keyboard, pointing device, or display 24; one or more devices that enable a user to interact with the computer system / server 12; or any device (e.g., a network card, modem, etc.) that enables the computer system / server 12 to communicate with one or more other computing devices; or a combination thereof. Such communication can be performed via the input / output (I / O) interface 22. Furthermore, the computer system / server 12 can communicate with one or more networks, such as a local area network (LAN), a general wide area network (WAN), or a public network (e.g., the Internet), or a combination thereof, via the network adapter 20. As depicted, the network adapter 20 communicates with other components of the computer system / server 12 via the bus 18. It should be understood that other hardware and / or software components, or both, that are not shown, may be used in conjunction with the computer system / server 12. Examples include, but are not limited to, microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archive storage systems.
[0045] Referring here to Figure 2, an illustrative cloud computing environment 50 is depicted. As shown in the figure, the cloud computing environment 50 includes one or more cloud computing nodes 10 to which local computing devices used by cloud users can communicate, such as a personal digital assistant (PDA) or cellular phone 54A, a desktop computer 54B, a laptop computer 54C, or an automotive computer system 54N, or a combination thereof. The nodes 10 may communicate with each other. The nodes 10 may be grouped physically or virtually within one or more networks, such as a private, community, public, or hybrid cloud, or a combination thereof, as described above (not shown). This allows the cloud computing environment 50 to provide infrastructure, a platform, or software as a service, or a combination thereof, without requiring cloud users to maintain resources on their local computing devices. The types of computing devices 54A-N shown in Figure 2 are intended to be illustrative only, and it is understood that the computing node 10 and the cloud computing environment 50 can communicate with any type of computerized device via any type of network or network addressable connection or both (e.g., using a web browser).
[0046] Referring here to Figure 3, a set of functional abstraction layers provided by the cloud computing environment 50 (Figure 2) is shown. It should be understood in advance that the components, layers, and functionalities shown in Figure 3 are illustrative only and that embodiments of the present invention are not limited thereto. The following layers and corresponding functionalities are provided as described:
[0047] The hardware and software layer 60 includes hardware and software components. Examples of hardware components include mainframes, RISC (Reduced Instruction Set Computer) architecture-based servers, storage devices, and network and networking components. In some embodiments, the software components include network application server software.
[0048] The virtualization layer 62 provides an abstraction layer from which examples of virtual entities are derived, including virtual servers, virtual storage, virtual networks including virtual private networks, virtual applications and operating systems, and virtual clients.
[0049] In one example, management layer 64 may provide the following functions: Resource provisioning dynamically procures computing and other resources used to perform tasks within the cloud computing environment. Metering and pricing tracks costs as resources are used within the cloud computing environment and bills or invoices for the usage of these resources. In one example, these resources may include application software licenses. Security verifies the identity of cloud users and tasks, and protects data and other resources. The user portal provides users and system administrators with access to the cloud computing environment. Service level management allocates and manages cloud computing resources to ensure that the required service levels are met. Service level agreement (SLA) planning and execution pre-positions and procures cloud computing resources in accordance with SLAs, anticipating future requirements.
[0050] Workload layer 66 provides examples of functions that utilize a cloud computing environment. Examples of workloads and functions provided from this layer include mapping and navigation, software development and lifecycle management, virtual classroom education delivery, data analysis processing, transaction processing, and functions according to the present invention (see function block 66a), as will be discussed in detail below in the following subsections of the section on forms for carrying out the present invention.
[0051] The programs described herein are identified based on the applications in which the programs are implemented in particular embodiments of the present invention. However, it should be understood that any particular program terminology used herein is for convenience only, and therefore the present invention should not be merely limited to use in any particular application identified, suggested, or both by such terminology.
[0052] While the various embodiments of the present invention have been presented for illustrative purposes, they are not intended to be exhaustive or to limit oneself to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope of the embodiments described. The terminology used herein has been chosen to best describe the principles, practical applications, or technical improvements to the technologies available on the market of the embodiments, or to enable other those skilled in the art to understand the embodiments disclosed herein.
[0053] II. Examples of Embodiments, and Further Comments or Embodiments or Both Each cloud hosting environment deploys its individual capabilities on top of a hardware abstraction layer, providing a common, unified solution usable by various services and users to carry out their activities. Business logic and APIs can reside as service instances in containers / stores formed within the cloud environment. Service instances run on top of the hardware abstraction layer (HAL), and the cloud service provider's HAL is used to support the management of upper-level services in distributed cognitive systems, providing flexibility, scalability, and high availability.
[0054] Some embodiments of the present invention relate to an automated solution for synchronizing clocks in a multi-cloud environment. Each cloud hosting environment deploys its individual capabilities on top of a hardware abstraction layer, providing a common, unified solution that can be used by various services and users to carry out their activities. Business logic and APIs can reside as service instances in containers / stores formed within the cloud environment. Service instances run on top of the hardware abstraction layer (HAL), and the cloud service provider's HAL is used to support the management of upper-level services in a distributed cognitive system, providing flexibility, scalability, and high availability.
[0055] Some embodiments of the present invention aim to provide a device to operate with a multi-cloud distributed cognitive system, providing a method for imposing the CPU clock of containers in the services involved based on the nature of the recognized events. The method may include a centralized cognitive system controlling all heterogeneous services running in different cloud-host environments, such that various services are deployed on different clouds, each with completely different hardware capabilities to execute instructions.
[0056] Some embodiments of the present invention relate to background process instances that run in a multi-cloud service environment with a centralized controller that collects process information for a service, where related containers are located.
[0057] Figure 4 shows a multi-cloud distributed cognitive computing environment 400 according to the present invention. The multi-cloud distributed cognitive computing environment includes cloud subsystems 410, 420, 430, containers 411, 421, 425, 431, cloud services 412, 422, 426, 432, clock managers 414, 424, 428, 434, emergency trigger module 450, and a distributed cognitive subsystem 440.
[0058] Figure 6 is a block diagram detailing an example of a container 411 and a distributed cognitive subsystem 440, including software for performing at least some of the method operations according to the present invention. The multi-cloud distributed cognitive computing environment further includes a communication network 620, a clock data collector 602, a hardware interference API engine 604, a maximum clock acquisition module 606, an SCN detector and update engine 608, a service instance collection (UUID / REQ / interrupt) 610, a metadata mapper 612, a service-versus-clock requirement map 614, a cognitive API connector 616, a hardware abstraction layer 618, a container SCN manager and metadata update engine 622, a clock data collector 624, an urgent requirement identifier module 626, a contributor service selector 628, an effectiveness manager 630, a container clock imposing logic 632, a clock speed module 634, and a communication API 636.
[0059] Figure 7 is a block diagram showing the communication paths within System 700 between a centrally located clock manager 702 and a container shown as a set of nodes 704 from various cognitive computing systems, including nodes 706, 708, and 710. According to some embodiments, System 700 is a subsystem within a multi-cloud distributed cognitive computing environment 400, and the clock manager resides within a distributed cognitive subsystem 440.
[0060] Figure 5 shows a flowchart 550 illustrating a method according to the present invention. Figures 6 and 7 show software components of a container 411 and a distributed cognitive subsystem 440 communicating over a network 620 in a multi-cloud distributed cognitive computing environment 400. The software performs at least some of the method operations in flowchart 550. This method and associated software will be discussed from here on through the following paragraphs, with extensive reference to Figure 5 (about the method operation block) and Figure 6 (about the software block). One physical location where the software components of Figure 6 are stored is located in storage block 60a (see Figure 3).
[0061] The process begins in step S555, when a program component identifies that there is an urgent need to process a job. In this example, the emergency trigger module 450 indicates that there is an urgent need to perform a job in the multi-cloud distributed cognitive computing environment 400 (Figure 4). The multi-cloud distributed cognitive computing environment has many different job requests submitted by the upper layer by calling various container-resident processes. Multiple tasks may be served per job by different cloud-based cognitive services or subsystems, or both. When a particular task is flagged as an urgent or critical task, specific attention can be directed to processing this urgent task to ensure that the particular task is completed by the required response time or within an acceptable period of the target response time.
[0062] According to some embodiments of the present invention, jobs that run machine learning models are considered urgent tasks and are flagged for emergency handling, as discussed herein. It is recognized that model performance is improved when machine learning models are run at a controlled and synchronized speed.
[0063] The process proceeds to step S560, where the distributed cognitive subsystem submits a request for a job that includes urgent requirements. In this example, the urgent requirements include the required response time. The job is executed as a set of tasks that are split across various cloud-based cognitive subsystems and executed by one or more containers within each cognitive subsystem. The job is executed across various cloud-based cognitive subsystems, at least because the job is urgent.
[0064] The process proceeds to step S565, where the distributed cognitive subsystem identifies a set of containers in a multi-cloud environment. For example, the distributed cognitive subsystem 440 selects cognitive cloud subsystems 410, 420, and 430, which include containers 411, 421, 425, and 431 (Figure 4), to carry out an urgent job. In this example, the job can be broken down into tasks that request specific services provided by cloud services 412, 422, 426, and 432.
[0065] The process proceeds to step S570, where the program components collect container infrastructure information for each container. Container infrastructure information may include, but is not limited to, (i) the internal operating speed, (ii) the current capability based on process information regarding the physical characteristics and hardware allocation of the associated container, (iii) the clock speed on which the container is currently operating, (iv) basic OS information, or (v) the CPU cores allocated to the container, or a combination thereof. In this example, a background process running with the distributed cognitive subsystem begins working with initial process information and data structures before beginning to poll for events for the associated containers.
[0066] The process proceeds to step S575, where the distributed cognitive subsystem monitors state change notifications (SCNs) received by the set of containers during job execution. The hardware abstraction layer (HAL) issues SCNs received by the various containers. SCNs support the collection of ongoing infrastructure information, including the current clock speed and the maximum allowable clock speed. According to some embodiments of the present invention, the responsibility of the system call gate is to collect process information about the current clock speed, the maximum clock speed, or the maximum allowable clock speed on another hardware, or a combination thereof, without transitioning to any container (in parallel). The process information is collected from the call gate and pushed to a centralized cognitive system, such as the distributed cognitive subsystem 440. The process information is collected initially according to a predefined period, and then periodically after regular intervals.
[0067] The process proceeds to step S580, where the program components detect the need to adjust the execution of an urgent job. In terms of clock support for the container on which the service is running, the need to adjust addresses the possibility that the application might update an array of events when either the contributing service or any of its respective containers is unable to operate at a higher clock speed.
[0068] The process proceeds to step S585, where the program components determine the range of clock speed adjustment for the set of containers. In this example, the distributed cognitive subsystem, along with the container-based clock manager, identifies one or more processes that need to be adjusted considering the clock speed and gathers the allowed range for adjustment from the corresponding containers. Once the adjustment level is derived, a specific clock speed is selected in terms of the required or approximate response time.
[0069] The process proceeds to step S590, where the program components adjust the container clock speed to meet the required response time. The set of containers is then made to operate at the imposed clock speed according to the selected clock speed. For specific services provided by containers that do not support a designated maximum speed, a service-based speed may be induced to maximize benefits under these circumstances. In such cases, a service-level clock speed is selected, and in-band or out-of-band messages are shared to client instances running at the new clock speed within the same container. Thus, the client instances invoke a call gate interrupt to impose the selected clock speed for the container, internally triggering the container to modify its system hardware clock accordingly.
[0070] A multi-cloud distributed cognitive system may include cloud services originating from various different cloud hosting environments to form a uniform cognitive interface that provides pre-defined functionalities. Internally, service instances are provided by different cloud hosting environments, but the services are expected to behave as if they were provided by a single service provider when they are aggregated under a single management controller. For example, services in a multi-cloud distributed cognitive system may be gathered from various competing cloud service providers to create a customized distributed cognitive system. Since each cloud service provider may have well-known, widely popular, or both features / services, such as image processing, analysis, or augmentation, or a combination thereof, the apparent strengths of each cloud hosting environment can be applied to the multi-cloud distributed cognitive system for the benefit of the end user.
[0071] According to some embodiments of the present invention, service instances from various cloud hosting environments are authenticated and / or connected using a centralized platform that manages the request-response architecture. When service instances are deployed in different containers or different cloud hosting environments or both, the service instances will be operating at heterogeneous CPU clock speeds. Because the clock speeds of the services differ, it is not possible to control the clock speeds of these multi-cloud entities when performing a single external job. From the user's perspective, the cognitive system is performing a single task but is being handled at unequal internal clocks, causing output delays. There is currently no way for an external entity in a multi-cloud service to impose its CPU clock to reach a homogeneous clock speed for all services involved. The inability to impose the CPU clock in a multi-cloud service across the entire cloud hosting environment impacts the cognitive system's ability to detect emergencies, as some services are operating at slower processing speeds even when some services have the infrastructure available to speed up processing. Communication gaps and lags in the ability to discover and / or impose CPU clocks are addressed by embodiments of the present invention.
[0072] There are mechanisms available at the hardware abstraction layer to determine process information, including (i) the internal operating speed and (ii) the current capability, where the process information is based on the physical characteristics and hardware allocation of the associated container. These mechanisms further determine the process information about the maximum speed at which the container can operate. Some embodiments of the present invention pass process information to a centralized cognitive system to impose dynamic clock speed based on an emergency context propagated by the system. Services in a distributed multi-cloud should operate in specific, limited ways in emergency situations where CPU clock adjustment plays a critical role.
[0073] Some embodiments of the present invention provide a method, system, or apparatus, or combination thereof, to operate with a multi-cloud distributed cognitive system, providing a mechanism for imposing the CPU clocks of various containers in the services involved based on the nature of the recognized events. Some embodiments of the present invention address a centralized cognitive system controlling all heterogeneous services running in different cloud hosting environments. The services can be deployed in different cloud environments, where the hardware capabilities to execute instructions in the multi-cloud distributed cognitive system are completely different.
[0074] Some embodiments of the present invention operate with a centralized controller so that containers in a multi-cloud plane collect process information for each service. Each individual service will run client instances, and additional daemons will be started and maintained as part of the process, and process information about the unique container structure will be examined for predefined monitoring of recognized events. An examination will be conducted on specific configuration parameters of the unique container structure, including (i) the clock speed on which the container is currently running, (ii) basic OS information, and (iii) the CPU cores allocated to the container. Furthermore, the same information will be captured again after cycles of a predefined period, or after periodic intervals, so that the most up-to-date and valid information is available.
[0075] According to some embodiments of the present invention, the recognized event may also be a State Change Notification (SCN) generated by a hardware abstraction layer and received by the container system. The hardware abstraction layer of a cloud service provider initiates an SCN when a container is moved globally between actual running hardware mappings. In such cases, recognized events from the container are collected by a background process run by a daemon program and shared with a centralized recognized system. When a recognized event drives the background process, the controller entity sends a search for possible clock levels available for the service on the current hardware. Since process information such as clock speed and other interrelated information is unknown to the service instance, a daemon running with the service object invokes a system call gate that requests process information, including the physical characteristics of the system on which the container (and service) is running. For example, an STT system should not know how fast it is interpreting input text, while process information is highly specific to the backbone infrastructure. The responsibility of the system call gate is to collect process information about the current clock speed, maximum clock speed, or the maximum clock speed allowed on other hardware, or a combination thereof, without migrating containers (in parallel). This process information is collected from the call gate and pushed to a centralized cognitive system.
[0076] Upon receiving process information, specifically physical hardware clock information of a container, such as the maximum possible clock speed, current clock, or permitted clock, or a combination thereof, which can be useful even without actual container migration in an HA system, a processing entity can trigger a clock speed based on emergency identification by a distributed cognitive system at the same time as submitting a job request.
[0077] It should be noted that, according to some embodiments of the present invention, process information is collected from all services within the plane that contribute to the distributed multi-cloud cognitive system.
[0078] Background processes run while a centralized cognitive manager maintains mappers for all services and handles interrupts triggered during the migration of corresponding containers within the cloud orchestration boundary. Transaction updates are performed collectively to relate process information at any time during normal system operation. When an existing emergency identification process propagated by the distributed cognitive system identifies the need to coordinate execution, a message is sent to the centralized cognitive system to impose and readjust the clocks of services involved in a particular job. A particular job is a higher-level job submission request that invokes a container-resident process.
[0079] For example, when emergency calculations are required for services x, y, and z, the control manager identifies the processes that need to be adjusted considering the clock and gathers the allowable range for clock adjustment. Based on the derived adjustment level, a specific clock speed is selected, taking into account the approximate response time. If a particular service does not support the designated maximum speed, a service-based speed may be induced to maximize the benefit from this situation. In such cases, a service-level clock speed is selected, and in-band or out-of-band messages are shared to client instances running at the new clock speed within the same container. The client instances invoke a call gate interrupt to impose the clock speed, and the container internally triggers a change in the system hardware clock.
[0080] Therefore, the clock speed is imposed by a centralized entity for the multi-cloud distributed cognitive system, and thus the centralized controller can set urgency for certain requests that require ultra-fast resolution. The clock speed of the container on which the service is running is controlled by an external entity (via authenticated means), allowing the system to operate faster in cases of emergency calculations when supporting meeting user requirements during urgent tasks. Furthermore, this trigger is temporary and is only imposed in emergencies so as not to impact normal activity on the container or any other tenant, while helping to provide better user response for the multi-cloud cognitive system.
[0081] Some embodiments of the present invention relate to a centralized cognitive system that controls heterogeneous services running in different cloud hosting environments. The heterogeneous services in the cognitive system are deployed in different cloud environments with varying hardware capabilities to execute commands from the centralized controller. A background process running with the centralized controller initiates initial process information and data structures before beginning to poll for events for containers. The background process is run by a daemon and collects process information from all container services across the multi-cloud plane. Individual services run client instances (such as container libraries) as additional daemons. The daemons are maintained as library services in container classes that have hardware interface facilities to library functionality. The container library process collects data about its unique container structure and examines containers for predefined monitoring of events. The ACTIVATION_EVENT LIST, generated by the hardware abstraction layer and received by the container system, contains the SCN. The hardware abstraction layer initiates the SCN for containers when a MOVE or MIGRATE action is triggered. The SCN is received from the container management plane for container hardware mapping. Events from the container are associated for further processing.
[0082] According to certain embodiments of the present invention, when a centralized cognitive system is notified of an event, the centralized controller sends an investigation into possible clock levels available for the service on the current hardware. Clock speed and other interrelated information are unknown to the service instance because the information is highly specific to the backbone infrastructure. For example, an STT system should not have data on how fast it is interpreting input text. A daemon running with the service object is used to invoke a system call gate. The call gate investigates the physical characteristics of the system on which the container (and service) is running. In addition, the call gate collects process information, including the current clock speed, maximum clock speed, or the maximum clock speed allowed on other hardware, or a combination thereof, without migrating the container (in parallel). The information is collected from the call gate and pushed to the centralized cognitive system.
[0083] Some embodiments of the present invention relate to monitoring services contributing to a distributed multi-cloud cognitive system for process information regarding requested jobs of container-resident processes from upper-level job submission requests. When process information about a container is determined, including physical hardware clock information such as the maximum possible clock speed, current clock, or allowed clock, or a combination thereof, which can be useful even without actual container migration in an HA system, the process information is used by a centralized processing entity to trigger clock speeds based on emergency identification in the distributed cognitive system. Processes running in the centralized cognitive manager maintain mappers for all of the respective services and handle interrupts triggered while migrating containers within the cloud orchestration boundary. When an existing emergency identification process identifies the need to adjust execution, a message is sent to the centralized cognitive system to impose and readjust the clocks of services involved in a particular job. After deriving the adjustment level, a specific clock speed is selected, taking into account the approximate response time. In cases where a particular service does not support a designated maximum speed, a service-based speed can be guided to maximize the benefit from this situation. Therefore, a service-level clock speed may be selected, and in-band or out-of-band messages are shared to client instances running at the new clock speed within the same container. The client instance invokes a call gate interrupt to impose the clock speed for the container, and the container internally triggers a change in the system hardware clock.
[0084] Embodiments of the present invention relate to on-demand clock synchronization for live VM migration in a distributed cloud data center and the creation of a distributed cognitive computing system (CCS) capable of performing on-demand analysis of an entire heterogeneous network of interconnected devices.
[0085] Some embodiments of the present invention relate to determining a method for providing a device that will operate with a multi-cloud distributed cognitive system, and providing a mechanism for imposing the CPU clock of a container in an involved service based on the nature of a recognized event.
[0086] Some embodiments of the present invention relate to a centralized cognitive system controlling all heterogeneous services running on different clouds, where these services are deployed on different clouds with completely different hardware capabilities to execute commands.
[0087] Some embodiments of the present invention relate to process instances that operate with a centralized controller that collects process information for all services in a multi-cloud plane.
[0088] Some embodiments of the present invention relate to the centralized imposing of multi-cloud clocks.
[0089] Some embodiments of the present invention aim to provide a mechanism that allows the CPU clock of a container in a service being involved to be substituted based on the nature of an event that is recognized.
[0090] Some embodiments of the present invention relate to a centralized cognitive system controlling all heterogeneous services running on different clouds, where these services are deployed on different clouds with completely different hardware capabilities to execute commands.
[0091] Some embodiments of the present invention aim to provide a method for controlling the clock speed of a multi-cloud entity involved in performing a single external job. Some embodiments of the present invention also aim to provide a method for an external entity to impose CPU clocks in a multi-cloud service in order to obtain the same clock speed for all services involved.
[0092] Some embodiments of the present invention provide means for process information to be passed to a centralized cognitive system, and impossibility of dynamic clock speed based on urgent context propagated by a distributed cognitive system while a job request is being submitted.
[0093] Some embodiments of the present invention aim to provide a better real-time approach to emergency processing in cloud service processing, which is particularly needed in multi-user plane cases such as 5G and cloud user space.
[0094] Some embodiments of the present invention aim to improve time-sensitive outcomes by controlling the performance speed of specific tasks, which helps to achieve an overall better user experience.
[0095] Some embodiments of the present invention relate to a mechanism in which a machine learning model (MLM) with better clock speed and hardware logic of the underlying container can be used to perform time-critical MLMs in order to obtain optimized response times for all services contributing to a distributed cognitive system.
[0096] Some embodiments of the present invention aim to enable different asymmetric clocking hardware to work together by imposing a centralized clock speed, which allows the entire hybrid cloud system to acquire more virtual machines as part of the cloud and operate containerized environments seamlessly, even if the hardware is incompatible.
[0097] Some embodiments of the present invention may include one or more of the following features, characteristics, or advantages, or combinations thereof: (i) providing a better real-time method for urgent processing in cloud service processing, which is particularly needed in the case of multi-user planes such as 5G and cloud user space; (ii) providing a method for better time-critical results by controlling the operating speed of specific tasks that help to achieve an overall user experience; (iii) providing a mechanism in which time-critical MLMs can be executed to obtain optimized response times for all services contributing in a distributed system, with MLM attributes having better clock speed and hardware logic of the underlying containers; (iv) providing a method for communicating with a multi-cloud infrastructure from an externally authenticated entity to get things done per cognitive system; or (v) providing flexibility and adding possibilities while building a centralized solution using multiple cloud services.
[0098] III. Definition The present invention: The subject matter expressed by the term “the present invention” should not be taken as an absolute indication that it is covered by the claims at the time the claims are filed or by the claims that may be finally issued after patent examination. The term “the present invention” is used to help the reader get an overall sense of what the disclosure herein may be considered potentially new, but this understanding is provisional and tentative, as indicated by the use of the term “the present invention,” and is subject to change during patent examination as relevant information becomes clearer and the claims may be amended.
[0099] Embodiments: Refer to the definition of “the present invention” above—similar considerations apply to the term “embodiments.”
[0100] and / or: This is an all-encompassing or, for example, A, B "and / or" C means that at least one of A or B or C is true and applicable.
[0101] including / include / includes: Unless otherwise explicitly stated, this means "includes, but not necessarily limited to these."
[0102] User / Subscriber: This includes, but is not limited to, (i) a single individual human being, (ii) an artificial intelligence entity with sufficient intelligence to behave as a user or subscriber, or (iii) a group of related users or subscribers, or a combination thereof.
[0103] Module / Submodule: Any set of hardware, firmware, or software, or any combination thereof, that operates to perform certain types of functions, whether (i) in a single local neighborhood, (ii) distributed over a wide area, (iii) in a single neighborhood within a larger software code, (iv) within a single software code, (v) in a single storage device, memory, or medium, (vi) mechanically connected, (vii) electrically connected, or (viii) connected by data communication.
[0104] Computers: Any device having significant data processing or machine-readable instruction reading capability, or both, including but not limited to desktop computers, mainframe computers, laptop computers, field-programmable gate array (FPGA) based devices, smartphones, personal digital assistants (PDAs), body-mounted or in-insert computers, embedded device computers, and application-specific integrated circuit (ASIC) based devices.
Claims
1. A method of computer information processing, To ensure that a specified job is executed within a multi-cloud distributed computing system, the system identifies the services and corresponding containers involved in executing instructions to complete the specified job, During the execution of the aforementioned job, monitor the corresponding container for any state change notifications (SCNs) issued by the hardware abstraction layer, Based on the SCN and the urgent requirements for the designated job (including the required response time), it is necessary to detect the need to coordinate the execution of the instruction for the first container among the corresponding containers, The central cognitive subsystem of the multi-cloud distributed computing system adjusts the clock speed of the first container to a selected clock speed within a permissible range for adjustment. Methods that include...
2. To request container information, including container structure and configuration parameters, in response to urgent requirements for the specified job. It further includes, The aforementioned request is made via a system call gate invoked by a background program within the corresponding container, which includes the first container. The method according to claim 1.
3. The container information includes the current clock speed, the maximum clock speed, the maximum clock speed allowed on other hardware, basic operating system information, and a count of how many CPU cores are allocated to the first container. Based on the container information, the need to adjust the execution is detected. The method according to claim 2.
4. Push the container information to the central cognitive subsystem of the multi-cloud distributed computing system. It further includes, The central cognitive subsystem adjusts the clock speed of the first container based on the container information. The method according to claim 2.
5. Monitoring the corresponding container includes periodically collecting current container information. Detecting the need to adjust the execution of the aforementioned instructions is based on the current container information, The method according to claim 1.
6. In order to establish the permitted range of adjustment of the clock speed, the clock speed available for the service being performed is determined according to the current hardware. The method according to claim 1, further comprising:
7. A computer program that causes a computer to perform the method described in any one of claims 1 to 6.
8. A storage medium in which the computer program described in claim 7 is stored on a computer-readable storage medium.
9. A computer system that performs the method according to any one of claims 1 to 6 using computer hardware.