System monitoring by playing sounds
By converting software system monitoring data into sound waves through frequency mapping and amplitude modification, the method provides an efficient auditory feedback mechanism for detecting system anomalies, addressing the inefficiencies of human visual monitoring.
Patent Information
- Application Number
- JP2024556468
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-04-06
- Filing Date
- 2023-03-27
- Publication Date
- 2025-04-22
AI Technical Summary
Human visual monitoring of complex software systems is tiring and requires high concentration to identify anomalies in multiple graphs, making it inefficient for continuous observation.
A computer-implemented method that converts monitoring data into sound waves by mapping system metrics to frequencies, modifying amplitudes based on user-defined rules, and reconstructing sound/music to represent the internal state of the system, allowing users to monitor performance by listening.
Enables efficient monitoring of software systems by transforming complex data into auditory feedback, allowing users to detect system issues through changes in sound, thereby reducing fatigue and improving anomaly detection.
Smart Images

Figure 2025512800000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates generally to system monitoring, and more particularly to system monitoring by playing sounds / music that are used to represent in near real-time the internal state of the monitored system. Summary of the Invention [Problem to be solved by the invention]
[0002] Considering a software system, observability is a measure of how well its internal state can be inferred by analyzing the external output of the software system. There are three pillars of observability for a software system: metrics, traces, and logs. For a complex software system, there are many datasets from different data sources, possibly hundreds of datasets. For example, metrics datasets include container CPU (Central Processing Unit) usage, memory consumption, disk usage, and network traffic, while trace datasets include dependencies and trace spans. There are various tools to render these datasets in a visual way. For example, Grafana (a multi-platform open source analytics and interactive visualization web application) is a tool to visually render metrics, and Jaeger (open source software for tracing transactions between distributed services) is a tool to visually render traces, dependencies, and so on.
[0003] Continuous, human visual monitoring of software systems is often very tiring and tedious. Identifying anomalies in constantly changing graphs requires high levels of concentration. This problem becomes even more pronounced when there are many graphs to monitor simultaneously. [Means for solving the problem]
[0004] In one aspect, a computer-implemented method for system monitoring is provided. The computer-implemented method includes converting a time domain representation of a first sound to a frequency domain representation. The computer-implemented method further includes mapping each monitoring data set of the monitored system to a respective frequency of the frequency domain representation. The computer-implemented method further includes modifying the amplitude of each frequency according to one or more mapping rules defined by a user. The computer-implemented method further includes converting the frequency domain representation to a time domain representation and generating a digital format sound wave having a modified amplitude. The computer-implemented method further includes converting the digital format sound wave to an analog format sound wave. The computer-implemented method further includes feeding the analog format sound wave to a sound system to play a second sound. The performance of the monitored system is monitored by a user listening to the second sound and comparing the first sound to the second sound.
[0005] In another aspect, a computer program product for system monitoring is provided. The computer program product may include a computer-readable storage medium having program instructions embodied therein, the program instructions being executable by one or more processors. The program instructions are executable to convert a time domain representation of a first sound into a frequency domain representation, map each monitoring data set of the monitored system to a respective frequency of the frequency domain representation, modify the amplitude of each frequency according to one or more mapping rules defined by a user, convert the frequency domain representation into a time domain representation to generate a digital format sound wave having a modified amplitude, convert the digital format sound wave into an analog format sound wave, and feed the analog format sound wave into a sound system to play a second sound, and the performance of the monitored system is monitored by a user listening to the second sound and comparing the first sound with the second sound.
[0006] In yet another aspect, a computer system for system monitoring is provided. The computer system comprises one or more processors, one or more computer-readable tangible storage devices, and program instructions stored in at least one of the one or more computer-readable tangible storage devices for execution by at least one of the one or more processors. The program instructions are executable to convert a time domain representation of a first sound to a frequency domain representation. The program instructions are further executable to map each monitoring data set of the monitored system to a respective frequency of the frequency domain representation. The program instructions are further executable to modify the amplitude of each frequency according to one or more mapping rules defined by a user. The program instructions are further executable to convert the frequency domain representation to a time domain representation and generate a sound wave in a digital format having a modified amplitude. The program instructions are further executable to convert the sound wave in the digital format to a sound wave in an analog format. The program instructions are further executable to feed the sound wave in the analog format to a sound system to reproduce a second sound. The performance of the system is monitored by having the user listen to a second sound and comparing the first sound with the second sound.
[0007] Preferred embodiments of the invention will now be described, by way of example only, with reference to the following drawings: [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 is a systematic diagram illustrating the proposed approach to monitor the performance of a software system by playing sound / music according to one embodiment of the present invention. [Diagram 2] 1 is a flowchart illustrating operational steps for monitoring the performance of a software system by playing sound / music according to one embodiment of the present invention. [Diagram 3]1 illustrates components of a computing device or server according to one embodiment of the present invention. [Figure 4] 1 is a diagram of a cloud computing environment according to one embodiment of the present invention. [Diagram 5] FIG. 2 is a diagram of abstract model layers in a cloud computing environment according to one embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] In an embodiment of the present invention, a technique is disclosed that allows a user to monitor the performance of a software system by listening to a user-selected sound or music. By listening to the sound or music, the user can infer the internal state of the system in near real-time. If the software system is working properly, it sounds like music to the human ear. If the software system is malfunctioning, the music becomes distorted, or in the worst case, just noise.
[0010] In an embodiment of the present invention, the computer system or server dynamically maps the monitoring data of the software system to frequencies resulting from a mathematical transformation (e.g., Fourier transform) of the sound / music selected by the user. The mathematical transformation converts the time domain functions into their frequency domain equivalents, sine and cosine frequencies. The computer system or server maps the monitoring data sets (e.g., container CPU usage, memory consumption, disk usage, network traffic, dependencies, and trace spans) to the respective frequencies. Furthermore, the computer system or server performs an inverse mathematical transformation (e.g., inverse Fourier transform) to reconstruct the sound / music. Thus, the resulting sound / music can represent the internal state of the software system.
[0011] A software system is used as a context for describing embodiments of the present invention. It should be appreciated that the description of embodiments including a software system is not intended to limit the present invention. However, it should be noted that the disclosed techniques are applicable to any monitored system. Here, some examples of monitoring the performance of a monitored system are given as follows: The present invention can also be used to monitor the performance of a hardware system. The present invention can also be used to monitor the performance of a combination of a software system and a hardware system. The present invention can also be used to monitor the performance of an infrastructure computing system or a cloud computing system.
[0012] Fig. 1 is a systematic diagram illustrating a proposed system for monitoring the performance of a software system by playing sounds / music according to an embodiment of the present invention. The proposed system is implemented in one or more computing devices or servers, which will be described in more detail in the following paragraphs with reference to Fig. 3. The proposed system can be implemented in a cloud computing environment, which will be described in more detail in the following paragraphs with reference to Figs. 4 and 5.
[0013] The audio files 101 are sound / music files in digital format that are located on a computer or from an online resource. The audio files 101 contain sounds / music that a user prefers and selects which sounds / music to listen to for the purpose of monitoring the performance of the software system 104.
[0014] The proposed system includes a component 102 for sampling and analog-to-digital conversion. The component 102 loads an audio file 101. The component 102 resamples the decoded sound waves of the audio file 101 at a given sampling frequency and converts the analog representation of the sound / music into a digital format. In the resampling process, the component 102 sequentially captures an array of amplitudes that represent the sound / music. For example, the Python "librosa" library can load a music file and sample it into an array of amplitudes.
[0015] The proposed system further comprises a component 103 for time-domain to frequency-domain transformation. The component 103 transforms the array of amplitudes captured in the sampling process from the time domain to the frequency domain using mathematical transformations such as the Fourier transform, the Laplace transform, or the Z transform. In other words, the component 103 transforms the time-domain representation of the sound / music to its frequency-domain representation. For example, in one embodiment, the Discrete Fourier Transform is used to transform a finite sequence of samples of a function into a sequence of samples of a complex-valued function of frequency. The Discrete Fourier Transform converts a sequence of N time-domain amplitudes {x n}:=x0,x1,...,x N-1 of,
number
[0016] The Discrete Fourier Transform decomposes a time domain waveform into a sum of a list of sine and cosine waves, each with its own frequency and amplitude. The Discrete Fourier Transform is applied to the list of samples, resulting in a list of complex numbers that represent the sine and cosine waves that make up the sound / music in the frequency domain (i.e. a list of frequencies).
[0017] The proposed system has a set of monitoring datasets (list of monitoring datasets) of the software system 104. The monitoring datasets include, for example, container CPU (Central Processing Unit) utilization, memory consumption, disk usage, network traffic, dependencies and trace spans. The proposed system further has a set of frequencies (list of frequencies) from the component 103 that uses a mathematical transformation (e.g., Fourier transform) to convert the time domain representation to a frequency domain representation.
[0018] The proposed system further includes another component, the mapper 105. The mapper 105 receives the list of monitoring datasets of the software system 104 and the list of frequencies (for conversion from time domain representation to frequency domain representation) from the component 103. Using one or more mapping rules defined by the user, the mapper 105 maps each monitoring dataset to one or more frequencies resulting from the mathematical transformation (e.g., Fourier transformation) performed by the component 103. Different monitoring datasets are mapped to various frequencies. Each of the monitoring datasets can be mapped to multiple frequencies.
[0019] There are multiple ways to map a monitoring dataset to one or more frequencies resulting from a mathematical transformation. In its simplest form, a monitoring dataset may represent a binary value. For example, a Kubernetes container is either alive (represented by a value of 1) or not alive (represented by a value of 0). This monitoring dataset can be mapped to specific frequencies resulting from a Fourier transform. If the value of the dataset is 0, the amplitude of the mapped frequency will be 0 accordingly. If the value of the dataset is 1, the amplitude of the mapped frequency will remain unchanged.
[0020] If the values of the dataset are variable and change over time, for example the usage of the central processing unit (CPU) in a container changes as resources are used at runtime, the monitoring dataset may be mapped to a specific frequency. The frequency resulting from the mathematical transformation is represented by a complex number. The real part of the complex number represents the value on the axis and the imaginary part represents the axis value on the Cartesian plane. That is, the real part represents the frequency and the imaginary part represents the amplitude of the frequency. The amplitude of the frequency resulting from the mathematical transformation may have a value quite different from the values of the dataset. The normal operating value range of the dataset is defined and normalized to the amplitude of the frequency. If the values of the dataset go outside the normal operating range, the amplitude of the frequency increases or decreases proportionally according to some configuration rules.
[0021] The user can set custom mapping rules that can utilize these and other mapping techniques to map hundreds or more monitoring data sets to frequencies resulting from the Fourier transform. The mapping is not limited to a one-to-one mapping from monitoring data sets to frequencies. A single monitoring data set can be mapped to multiple frequencies using the mapping techniques described above to amplify the variability of the resulting sound / music. The mapper 105 outputs a list of mapped frequencies with modified amplitudes.
[0022] The proposed system further includes a component 106 for frequency domain to time domain transformation. With all the monitoring data sets mapped to frequency, the component 106 performs an inverse mathematical transformation such as inverse Fourier transform, inverse Laplace transform, or inverse Z transform to transform back from the frequency domain representation to the time domain representation to obtain the sound / music waves in a digital format. For example, the discrete Fourier transform is
number
[0023] The proposed system further includes a digital to analog converter, component 107, which converts the digital format sound / music waves (generated by component 106) into an analog format playable by a sound system 108. The analog form of the sound / music waves (generated by component 107) are fed to the sound system 108.
[0024] A user uses the sound / music played by the sound system 108 to monitor the performance of the software system 104. The user compares the original sound / music from the audio file 101 with the sound / music played by the sound system 108 to determine if the software system 104 is operating properly. If the software system 104 operates within the expected range, the sound / music played by the sound system 108 will be identical to the original sound / music from the audio file 101. If the software system 104 operates outside the expected range, the sound / music played by the sound system 108 will differ from the original sound / music from the audio file 101.
[0025] FIG. 2 is a flow chart illustrating the operable steps of monitoring the performance of a software system by playing sound / music according to one embodiment of the present invention. The operable steps are implemented in one or more computing devices or servers, which are described in more detail in a later paragraph with reference to FIG. 3. The operable steps may be implemented in a cloud computing environment, which is described in more detail in a later paragraph with reference to FIG. 4 and FIG. 5.
[0026] In step 201, one or more computing devices or servers load a first sound audio file. The first sound audio file is a sound / music that is preferred by the user and stored on the computing device or from an online resource. To determine if the software system operates normally, i.e., within an expected range, the user compares the first sound with a second sound generated in a later operational step by the one or more computing devices or servers. In the embodiment shown in FIG. 1, one or more computing devices or servers load the audio file 101.
[0027] In step 202, one or more computing devices or servers sample the decoded sound waves of the audio file at a predefined sampling frequency and capture an array of amplitudes of the first sound. In this step, one or more computing devices or servers convert the analog representation of the sound / music to a digital format. In this step, one or more computing devices or servers generate a list of samples in the time domain. In the embodiment shown in Fig. 1, the component 102 of the proposed system samples the decoded sound waves of the audio file 101 and converts the analog format of the first sound to a digital format.
[0028] In step 203, one or more computing devices or servers perform a mathematical transformation to convert the time domain of the array of amplitudes to a frequency domain. The array of amplitudes captured in step 202 is in the time domain. In this step, one or more computing devices or servers use a mathematical transformation such as a Fourier transform, a Laplace transform, or a Z transform to convert the time domain to a frequency domain. The one or more computing devices or servers apply a mathematical transformation to the list of samples in the time domain to generate a list of frequencies that represent the sine and cosine waves that make up the sound / music in the frequency domain. In the embodiment shown in FIG. 1, the component 103 of the proposed system performs the mathematical transformation to convert the time domain to the frequency domain.
[0029] In step 204, the one or more computing devices or servers map the respective monitoring datasets of the software systems to the respective frequencies in the frequency domain to modify the amplitudes of the respective frequencies according to one or more mapping rules defined by a user. The monitoring datasets include, for example, container CPU (Central Processing Unit) utilization, memory consumption, disk usage, network traffic, dependencies and trace spans. The one or more computing devices or servers receive the list of monitoring datasets of the software systems and the list of frequencies generated in step 203, and then the one or more computing devices or servers map the respective monitoring datasets to the respective frequencies obtained in step 203. The one or more computing devices or servers generate a list of mapped frequencies with modified amplitudes. In the embodiment shown in FIG. 1, the mapper 105 of the proposed system maps the respective monitoring datasets of the software systems 104 to the frequencies of the frequency list from the component 103.
[0030] In step 205, one or more computing devices or servers perform an inverse mathematical transformation to convert the frequency domain to the time domain and generate sound waves in digital format with modified amplitudes. In this step, one or more computing devices or servers convert the frequency domain back to the time domain using an inverse mathematical transformation such as an inverse Fourier transform, an inverse Laplace transform, or an inverse Z transform. In the embodiment shown in FIG. 1, the component 106 of the proposed system receives the list of mapped frequencies with modified amplitudes input from the mapper 105 and performs an inverse mathematical transformation to generate sound waves / music waves in digital format.
[0031] In step 206, one or more computing devices or servers convert the digital format sound waves into analog format sound waves. In this step, the one or more computing devices or servers convert the sound / music waves generated in step 205 into an analog format playable by a sound system. In the embodiment shown in Figure 1, component 107 of the proposed system receives the digital format sound waves from component 106 and converts the sound waves from digital format into an analog format playable by a sound system 108.
[0032] In step 207, the one or more computing devices or servers feed the analog format sound waves to a sound system to play the second sound. The analog format sound waves are generated in step 206. The second sound generated from the analog format sound waves may be different from the first sound generated from the audio file. A user monitors the performance of the software system by listening to the second sound and comparing the first sound to the second sound. If the software system operates within an expected range, the second sound played by the sound system will be identical to the first sound from the audio file. If the software system operates outside of the expected range, the second sound will be different from the first sound.
[0033] 3 is a diagram illustrating components of a computing device or server according to an embodiment of the present invention. It should be appreciated that FIG. 3 is merely provided as an example of one implementation and is not meant to be limiting in any way. Various implementations may be implemented.
[0034] Referring to Figure 3, a computing device or server 300 includes a processor 320, a memory 310, and a tangible storage device 330. In Figure 3, communication between the above-mentioned components of the computing device or server 300 is indicated at 390. The memory 310 includes a read only memory (ROM) 311, a random access memory (RAM) 313, and a cache 315. One or more operating systems 331 and one or more computer programs 333 reside on one or more computer readable tangible storage devices 330.
[0035] The computing device or server 300 further includes an I / O interface 350. The I / O interface 350 allows for the input and output of data to and from external devices 360 that may be connected to the computing device or server 300. The computing device or server 300 further includes a network interface 340 for communication between the computing device or server 300 and a computer network.
[0036] The present invention may be a system, method, and / or computer program product, in any possible level of technical detail integration. The computer program product may include a computer readable storage medium (or multiple computer readable storage media) having computer readable program instructions for causing a processor to implement aspects of the present invention.
[0037] A computer readable storage medium may be a tangible device capable of holding and storing instructions for use by an instruction execution device. A computer readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. A non-exhaustive 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 disk (DVD), memory sticks, floppy disks, mechanically encoded devices such as punch cards or grooved structures having instructions recorded thereon, and any suitable combination of the foregoing. As used herein, a computer-readable storage medium should not be construed as a transitory signal itself, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through a fiber optic cable), or electrical signals transmitted over electrical wires.
[0038] The computer readable program instructions described herein may be downloaded from a computer readable storage medium to the respective computing / processing device or to an external computer or 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 fiber, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface of each computing / processing device receives the computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing / processing device.
[0039] The computer readable program instructions for carrying out the operations of the present invention may be either source code or object code written in any combination of one or more programming languages, including assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state configuration data, configuration data for integrated circuits, or object oriented programming languages such as Smalltalk®, C++, and procedural programming languages such as the “C” programming language or similar programming languages. The computer readable program instructions may be executed entirely on the user's computer, partly on the user's computer as a standalone software package, partly on the user's computer and partly 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 via any type of network, including a local area network (LAN) or wide area network (WAN), or the connection may be made to an external computer (e.g., via the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA) can execute computer readable program instructions to individualize the electronic circuitry by utilizing state information of the computer readable program instructions to perform aspects of the invention.
[0040] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer readable program instructions.
[0041] These computer readable program instructions may be provided to a processor of a computer or other programmable data processing apparatus to produce a machine, such that the instructions, which execute on the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams. These computer readable program instructions may also be stored on a computer readable storage medium having instructions stored thereon to instruct a computer, programmable data processing apparatus, or other device, or combination thereof, to function in a particular manner, such that the computer readable storage medium having the instructions stored thereon comprises an article of manufacture including instructions for implementing aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.
[0042] The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause the computer, other programmable apparatus, or other device to perform a series of operable steps to create a computer-implemented process such that the instructions, which execute on the computer, other programmable apparatus, or other device, implement the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.
[0043] 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 of the flowcharts or block diagrams may represent a module, segment, or portion of instructions, including one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions shown in the blocks may occur out of the order shown in the figures. For example, two blocks shown in succession may actually be performed as one step, or may be executed simultaneously, substantially simultaneously, partially or fully in a time-overlapping manner, or the blocks may sometimes be executed in reverse order depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart illustrations, and combinations of blocks in the block diagrams and / or flowchart illustrations, may be implemented by a special-purpose hardware-based system that performs the specified functions or actions or executes a combination of special-purpose hardware and computer instructions.
[0044] Although this disclosure includes a detailed description of cloud computing, it should be understood that implementation of the teachings described herein is not limited to a cloud computing environment. Rather, embodiments of the invention may be implemented in conjunction with any other type of computing environment now known or later developed.
[0045] Cloud computing is a service delivery model for enabling convenient, on-demand network access to a shared pool of configurable computational resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) and for rapidly provisioning and releasing these resources with minimal administrative effort or interaction with the service provider. This cloud model can include at least five characteristics, at least three service models, and at least four deployment models.
[0046] The features are as follows:
[0047] On-Demand Self-Service: Cloud consumers can unilaterally provision computing capabilities, such as server time and network storage, automatically as needed, without the need for human interaction with the service provider.
[0048] Broad network access: Cloud capabilities are available over the network and can be accessed using standard mechanisms, facilitating usage by heterogeneous thin- or thick-client platforms (e.g., mobile phones, laptops, and PDAs).
[0049] Resource Pool: The provider's computing resources are pooled and offered to multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically allocated and reallocated according to demand. Consumers typically have a sense of location independence in that they have no control or knowledge regarding the exact location of the resources offered to them, although at a higher level of abstraction they may be able to specify a location (e.g., country, state, or data center).
[0050] Rapid Elasticity: Capacity is provisioned quickly and elastically, in some cases automatically, so it can be quickly scaled out and quickly released to quickly scale in. Capacity available for provisioning often appears to the consumer as unlimited, available for purchase in any quantity at any time.
[0051] Metered Services: Cloud systems leverage metering to automatically control and optimize resource usage at a 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 providers and consumers of the services utilized.
[0052] The service model is as follows:
[0053] SaaS (Software as a Service): The capability provided to the consumer is the use of the provider's applications running on a cloud infrastructure. Those applications can be accessed from a variety of client devices through thin-client interfaces such as web browsers (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, storage, or individual application functionality, except for the possibility of limited user-specific application configuration settings.
[0054] PaaS (Platform as a Service): The capability provided to a consumer is to deploy applications that the consumer creates or acquires, written using programming languages and tools supported by the provider, onto a cloud infrastructure. The consumer does not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but does have control over the deployed applications and, in some cases, the configuration of the application hosting environment.
[0055] Infrastructure as a Service (IaaS): The capability provided to a consumer is the provisioning of processing, storage, network, and other basic computing resources onto which the consumer can deploy and run any software, which may include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure, but has control over the operating systems, storage, deployed applications, and in some cases, limited control over selected network components (e.g., host firewalls).
[0056] The deployment model is as follows:
[0057] Private Cloud: This cloud infrastructure is operated solely for an organization. It can be managed by that organization or a third party and can exist on-premise or off-premise.
[0058] Community Cloud: This cloud infrastructure is shared by multiple organizations to support a specific community with shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be managed by the organization or a third party and can exist on-premise or off-premise.
[0059] Public Cloud: The cloud infrastructure is made available to the general public or large industry organizations and is owned by an organization that sells cloud services.
[0060] Hybrid Cloud: The cloud infrastructure is a composite of two or more clouds (private, community, or public) that remain a unique entity but are joined by standardized or proprietary technologies that enable data and application portability (e.g., cloud bursting for load balancing between clouds).
[0061] A cloud computing environment is a service-oriented environment with an emphasis on statelessness, loose coupling, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure that includes a network of interconnected nodes.
[0062] Referring now to FIG. 4, an exemplary cloud computing environment 50 is shown. As shown, the cloud computing environment 50 includes one or more cloud computing nodes 10 that can communicate with local computing devices used by cloud consumers, such as mobile devices 54A, desktop computers 54B, laptop computers 54C, and / or automotive computer systems 54N. The nodes 10 can communicate with each other. They can be physically or virtually grouped in one or more networks (not shown), such as private, community, public, or hybrid clouds, or combinations thereof, as described herein above. This allows the cloud computing environment 50 to provide an infrastructure, platform, and / or SaaS that does not require cloud consumers to maintain resources on local computing devices. The types of computing devices 54A-54N are intended as examples only, and it is understood that computing node 10 and cloud computing environment 50 may communicate with any type of computer-controlled device via any type of network and / or network-addressable connection (e.g., a connection using a web browser).
[0063] Referring now to Figure 5, a set of functional abstraction layers provided by cloud computing environment 50 (Figure 4) is shown. It should be understood in advance that the components, layers, and functions shown in Figure 5 are intended to be illustrative only and that embodiments of the present invention are not limited thereto. As shown, the following layers and corresponding functions are provided:
[0064] The hardware and software layer 60 includes hardware and software components. Examples of hardware components include mainframes 61, Reduced Instruction Set Computer (RISC) architecture based servers 62, servers 63, blade servers 64, storage devices 65, and networks and network components 66. In some embodiments, the software components include network application server software 67 and database software 68.
[0065] The virtualization layer 70 provides an abstraction layer over which the following examples of virtual entities may be provided: virtual servers 71 , virtual storage 72 , virtual networks including virtual private networks 73 , virtual applications and operating systems 74 , and virtual clients 75 .
[0066] In one example, the management layer 80 may provide the functions described below. Resource provisioning 81 provides dynamic procurement of computational and other resources utilized to execute tasks within the cloud computing environment. Metering and pricing 82 provides cost tracking as resources are utilized within the cloud computing environment and billing or invoicing for the utilization of those resources. In one example, these resources may include application software licenses. Security provides identity verification of cloud users and tasks, as well as protection of data and other resources. User portal 83 provides access to the cloud computing environment to users and system administrators. Service level management 84 provides allocation and management of cloud computational resources to meet required service levels. Service level agreement (SLA) planning and execution 85 provides pre-provisioning and procurement of cloud computational resources in anticipation of upcoming demands and in accordance with SLAs.
[0067] The workload layer 90 provides examples of functionality for which a cloud computing environment may be utilized. Examples of workloads and functions that may be provided from this layer include: mapping and navigation 91, software development and lifecycle management 92, virtual classroom instruction delivery 93, data analytics processing 94, transaction processing 95, and function 96. In the present invention, function 96 is the functionality of system monitoring by playing sounds / music in near real-time that represent the internal state of the monitored system.
Claims
1. 1. A computer-implemented method for system monitoring, the method comprising: Transforming a time domain representation of the first sound into a frequency domain representation; mapping each monitoring data set of a monitored system to a respective frequency of said frequency domain representation; modifying the amplitude of each of the frequencies according to one or more mapping rules defined by a user; converting the frequency domain representation to the time domain representation to generate a digital format acoustic wave having a modified amplitude; converting said acoustic waves in said digital format into acoustic waves in an analog format; feeding the sound waves in the analog format to a sound system to reproduce a second sound; A computer-implemented method, wherein the performance of the monitored system is monitored by the user listening to the second sound and comparing the first sound with the second sound.
2. loading an audio file of the first sound; 2. The computer-implemented method of claim 1, further comprising sampling the decoded sound waves of the audio file at a predetermined sampling frequency to capture the array of amplitudes of the first sound.
3. 3. The computer-implemented method of claim 1, wherein converting the time domain representation to the frequency domain representation is performed by performing a Fourier transform, and converting the frequency domain representation to the time domain representation is performed by performing an inverse Fourier transform.
4. 3. The computer-implemented method of claim 1 or 2, wherein converting the time domain representation to the frequency domain representation is performed by performing a Laplace transform and converting the frequency domain representation to the time domain representation is performed by performing an inverse Laplace transform.
5. 3. The computer-implemented method of claim 1, wherein converting the time domain representation to the frequency domain representation is performed by performing a Z transform and converting the frequency domain representation to the time domain representation is performed by performing an inverse Z transform.
6. The computer-implemented method of claim 1 , wherein one of the respective monitoring data sets is mapped to one or more of the respective frequencies.
7. 1. A computer program product for system monitoring, the computer program product including a computer readable storage medium having program instructions embodied therein, the program instructions being executable by one or more processors, the program instructions comprising: Transforming a time domain representation of the first sound into a frequency domain representation; mapping each monitoring data set of a monitored system to a respective frequency of said frequency domain representation; modifying the amplitude of each of the frequencies according to one or more mapping rules defined by a user; converting the frequency domain representation to the time domain representation to generate a digital format acoustic wave having a modified amplitude; converting said acoustic waves in said digital format into acoustic waves in an analog format; feeding the sound waves in the analog format to a sound system to reproduce a second sound; The performance of the monitored system is monitored by the user listening to the second sound and comparing the first sound with the second sound.
8. loading an audio file of the first sound; 8. The computer program product of claim 7, further comprising the program instructions executable to: sample the decoded sound waves of the audio file at a predetermined sampling frequency to capture the array of amplitudes of the first sound.
9. 9. The computer program product of claim 7 or 8, wherein converting the time domain representation to the frequency domain representation is performed by performing a Fourier transform and converting the frequency domain representation to the time domain representation is performed by performing an inverse Fourier transform.
10. 9. The computer program product of claim 7 or 8, wherein converting the time domain representation to the frequency domain representation is performed by performing a Laplace transform and converting the frequency domain representation to the time domain representation is performed by performing an inverse Laplace transform.
11. 9. The computer program product of claim 7 or 8, wherein converting the time domain representation to the frequency domain representation is performed by performing a Z transform and converting the frequency domain representation to the time domain representation is performed by performing an inverse Z transform.
12. 12. A computer program product according to any of claims 7 to 11, wherein one of the respective monitoring data sets is mapped to one or more of the respective frequencies.
13. 1. A computer system for system monitoring, comprising: one or more computer-readable tangible storage devices; and program instructions stored in at least one of the one or more computer-readable tangible storage devices for execution by at least one of one or more processors, the program instructions comprising: Transforming a time domain representation of the first sound into a frequency domain representation; mapping each monitoring data set of a monitored system to a respective frequency of said frequency domain representation; modifying the amplitude of each of the frequencies according to one or more mapping rules defined by a user; converting the frequency domain representation to the time domain representation to generate a digital format acoustic wave having a modified amplitude; converting said acoustic waves in said digital format into acoustic waves in an analog format; feeding the sound waves in the analog format to a sound system to reproduce a second sound; A computer system, wherein the performance of the monitored system is monitored by the user listening to the second sound and comparing the first sound with the second sound.
14. loading an audio file of the first sound; 14. The computer system of claim 13, further comprising the program instructions executable to: sample the decoded sound waves of the audio file at a predetermined sampling frequency to capture the array of amplitudes of the first sound.
15. 15. The computer system of claim 13 or 14, wherein converting the time domain representation to the frequency domain representation is performed by performing a Fourier transform, and converting the frequency domain representation to the time domain representation is performed by performing an inverse Fourier transform.
16. 15. The computer system of claim 13 or 14, wherein converting the time domain representation to the frequency domain representation is performed by performing a Laplace transform and converting the frequency domain representation to the time domain representation is performed by performing an inverse Laplace transform.
17. 15. The computer system of claim 13 or 14, wherein converting the time domain representation to the frequency domain representation is performed by performing a Z transform and converting the frequency domain representation to the time domain representation is performed by performing an inverse Z transform.
18. 18. The computer system of claim 13, wherein one of the respective monitoring data sets is mapped to one or more of the respective frequencies.
19. A computer program comprising program code means arranged to perform the method according to any of claims 1 to 6 when the program is run on a computer.
Citation Information
Patent Citations
State monitor
JP2006106984A
Network alarm tone-based audio-based monitoring device
JP2010537294A
Program, monitoring device and monitoring method
JP2014120024A