Apparatus, method, and computer program for managing on-premise server installed in medical facility

The described solution addresses the inefficiencies in managing on-premise servers in medical facilities by enabling remote monitoring and software updates, thereby reducing resource wastage and ensuring timely diagnostic performance.

WO2025121883A1PCT designated stage expired Publication Date: 2025-06-12MEDICAL AI CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2024/019758
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-12-04
Filing Date
2024-12-04
Publication Date
2025-06-12

AI Technical Summary

Technical Problem

Existing on-premise server management methods in medical facilities face inefficiencies due to restricted external access, requiring manual visits for software updates, leading to time and resource wastage, and potential delays in diagnostic performance affecting medical services.

Method used

A device, method, and computer program for remotely managing on-premise servers by receiving status information, monitoring server performance, identifying servers needing software updates, and transmitting update data, while maintaining data security through controlled network access.

Benefits of technology

Enables efficient remote monitoring and software updates of on-premise servers, reducing the need for manual visits, conserving resources, and ensuring timely performance maintenance of artificial intelligence models for accurate diagnostics.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2024019758_12062025_PF_FP_ABST
    Figure KR2024019758_12062025_PF_FP_ABST
Patent Text Reader

Abstract

The present invention provides a computing apparatus, a method, and a computer program for managing an on-premise server installed in a medical facility. A method according to one embodiment disclosed herein comprises the steps of: receiving state information from a plurality of on-premise servers installed in a plurality of medical facilities, respectively; and monitoring the plurality of on-premise servers on the basis of the received state information, and identifying a target server requiring a software upgrade among the plurality of on-premise servers.
Need to check novelty before this filing date? Find Prior Art

Description

Device, method and computer program for managing an on-premise server installed in a medical facility

[0001] The present disclosure relates to artificial intelligence technology in the medical field, and more particularly, to a device, method, and computer program for managing an on-premise server of a medical facility in which software for analyzing a patient's biometric data and diagnosing the patient's condition is installed by utilizing artificial intelligence technology.

[0002] On-premise servers are servers installed directly within a user's facility to process and store data. They minimize connections to external networks, making them ideal for strengthening data security and control. In healthcare settings, they are primarily used to process sensitive medical data, such as electrocardiograms and Magnetic Resonance Imaging (MRI) images, and to support diagnosis through artificial intelligence (AI) models. On-premise servers are widely adopted by healthcare institutions because they enable real-time data processing and storage while maintaining data security.

[0003] However, the existing on-premise server management method presents several challenges. While a closed network environment is advantageous for strengthening data security, limited external access leads to inefficiencies in monitoring server status and updating software. Specifically, most AI models running on on-premise servers are provided externally, requiring management entities to visit each medical institution and perform updates to maintain or improve their performance. This necessitates individual visits and inspections for managing multiple medical institutions, resulting in excessive waste of time and human resources. Furthermore, delays in software updates can degrade the diagnostic performance of AI models, potentially leading to inaccurate diagnostic results and negatively impacting the quality of medical services. Consequently, a suitable approach is needed to establish an efficient management system for on-premise servers and the AI-based software running on them.

[0004] The present disclosure is conceived in response to the aforementioned background technology, and aims to provide a device, method, and computer program for managing an on-premise server installed in a medical facility.

[0005] However, the problems to be solved in this disclosure are not limited to the problems mentioned above, and other problems not mentioned can be clearly understood based on the description below.

[0006] A method for managing an on-premise server installed in a medical facility, performed by a computing device including at least one processor for realizing a task as described above, includes the steps of receiving status information from a plurality of on-premise servers installed in each of a plurality of medical facilities, and monitoring the plurality of on-premise servers based on the received status information, and identifying a target server requiring a software upgrade among the plurality of on-premise servers.

[0007] Alternatively, the method includes the step of displaying a flag regarding software update in the configuration information of the target server when the target server is identified, and the step of transmitting the update data to the target server when the target server receives a request for software update data from the target server that has identified the flag.

[0008] Alternatively, the status information includes hardware resource status information including at least one of CPU usage, memory usage, and disk usage of the on-premises server, and the step of identifying the target server includes the step of monitoring the performance status of each of the plurality of on-premises servers based on the received resource status information, thereby identifying a target server requiring a software upgrade among the plurality of on-premises servers.

[0009] Alternatively, if it is determined that the performance of the target server has not improved even after the software of the target server has been upgraded based on the resource status information received from the target server, the step of displaying a flag regarding the addition of hardware resources in the configuration information of the target server is included.

[0010] Alternatively, the status information includes service quality status information including at least one of TPS (Transactions Per Second), response time, and processing success rate for client requests of software installed on an on-premise server, and the step of identifying the target server includes a step of monitoring the quality status of the software of each of the plurality of on-premise servers based on the received resource status information, thereby identifying a target server requiring a software upgrade among the plurality of on-premise servers.

[0011] Alternatively, the software may be provided by the computing device to perform a function of generating a score for predicting a disease of a patient using a pre-trained neural network model based on biometric data obtained from the patient.

[0012] Alternatively, the status information may include the calculated score information obtained from each on-premise server, and the step of identifying the target server may include the step of identifying a score trend corresponding to each on-premise server based on the score information, and detecting whether there is an abnormality in the accuracy of the software based on the identified score trend, thereby identifying a target server requiring a software upgrade among the plurality of on-premise servers.

[0013] Alternatively, the calculated score information may include biological information of a patient corresponding to the score, and the step of identifying the target server may include a step of identifying, based on the score information, the characteristics of a patient group of a medical institution corresponding to each on-premise server, and identifying an on-premise server in which the characteristics of the patient group have been determined to have changed as the target server.

[0014] Alternatively, the method may include a step of displaying a UI (User Interface) indicating the status of each on-premises server through a display based on the received status information.

[0015] Alternatively, the plurality of on-premises servers may communicate with the computing device through a preset port, but based on the firewall rules of each on-premises server, inbound traffic by the computing device may be blocked and only outbound traffic by the on-premises servers may be allowed.

[0016] A method for obtaining update data of software provided by a cloud server managing a plurality of on-premise servers, which is performed by a computing device including at least one processor for realizing the task described above, may include a step of periodically checking configuration information of an on-premise server set in a cloud server, and a step of obtaining update data of the software from the cloud server when it is determined that an update of the software installed in the on-premise server is required based on the configuration information of the on-premise server. A computing device for managing an on-premise server installed in a medical facility includes a processor including at least one core, a memory including program codes executable in the processor, and a communication interface, wherein the processor receives status information from a plurality of on-premise servers installed in each of the plurality of medical facilities via the communication interface, monitors the plurality of on-premise servers based on the received status information, and identifies a target server requiring a software upgrade among the plurality of on-premise servers.

[0017] A computer program stored in a computer-readable storage medium for realizing the task described above, wherein the computer program, when executed on one or more processors, performs operations for managing on-premise servers installed in a medical facility, wherein the operations may include an operation for receiving status information from a plurality of on-premise servers respectively installed in a plurality of medical facilities, an operation for monitoring the plurality of on-premise servers based on the received status information, and an operation for identifying a target server requiring a software upgrade among the plurality of on-premise servers.

[0018] According to a method for managing an on-premise server installed in a medical facility according to one embodiment of the present disclosure, an efficient management system for an on-premise server and artificial intelligence-based software running thereon is provided, thereby providing a function for remotely monitoring server status and updating software even in a closed network environment.

[0019] Additionally, it can improve inefficient management methods that require direct visits to medical institutions and reduce waste of time and resources.

[0020] Additionally, by periodically maintaining or improving the performance of AI models, software performance degradation can be prevented and the reliability of medical data analysis and diagnostic results can be increased.

[0021] FIG. 1 is an exemplary diagram of a device for managing an on-premise server installed in a medical facility according to one embodiment of the present disclosure.

[0022] FIG. 2 is a block diagram of a computing device according to an embodiment of the present disclosure.

[0023] FIG. 3 is a flowchart illustrating a method for managing an on-premise server installed in a medical facility according to an embodiment of the present disclosure.

[0024] FIG. 4 is an exemplary diagram of a method for displaying a flag indicating whether to update a target server according to one embodiment of the present disclosure.

[0025] FIG. 5 is a flowchart of a method for displaying a flag indicating whether to update a target server according to one embodiment of the present disclosure.

[0026] FIG. 6 is an exemplary diagram illustrating a dashboard for managing multiple on-premise servers according to one embodiment of the present disclosure.

[0027] FIG. 7 is a block diagram of a computing device according to another embodiment of the present disclosure.

[0028] Below, embodiments of the present disclosure are described in detail with reference to the attached drawings so that those skilled in the art can easily implement the present disclosure. The embodiments presented in this disclosure are provided to enable those skilled in the art to utilize or implement the contents of the present disclosure. Accordingly, various modifications to the embodiments of the present disclosure will be apparent to those skilled in the art. That is, the present disclosure may be implemented in various different forms and is not limited to the embodiments described below.

[0029] Throughout the specification of this disclosure, identical or similar drawing numbers refer to identical or similar components. Furthermore, for the purpose of clearly describing the disclosure, drawing numbers for parts in the drawings that are not relevant to the description of the disclosure may be omitted.

[0030] The term "or" as used herein is intended to mean an inclusive "or" rather than an exclusive "or." That is, unless otherwise specified herein or clear from context, "X employs A or B" should be understood to mean either of its natural inclusive permutations. For example, unless otherwise specified herein or clear from context, "X employs A or B" can be interpreted to mean either X employs A, X employs B, or X employs both A and B.

[0031] The term "and / or" as used herein should be understood to refer to and include all possible combinations of one or more of the related concepts listed.

[0032] The terms "comprises" and / or "comprising" as used herein should be understood to mean the presence of certain features and / or components. However, it should be understood that the terms "comprises" and / or "comprising" do not exclude the presence or addition of one or more other features, other components, and / or combinations thereof.

[0033] Unless otherwise specified in this disclosure or unless the context makes it clear that the singular form is being referred to, the singular should generally be construed to include “one or more.”

[0034] The term "Nth (N is a natural number)" used in this disclosure can be understood as an expression used to mutually distinguish components of this disclosure based on a predetermined standard such as a functional perspective, a structural perspective, or convenience of explanation. For example, components performing different functional roles in this disclosure can be distinguished as a first component or a second component. However, components that are substantially the same within the technical spirit of this disclosure but must be distinguished for convenience of explanation may also be distinguished as a first component or a second component.

[0035] The term "acquisition" as used in this disclosure may be understood to mean not only receiving data through a wired or wireless communication network with an external device or system, but also generating data in an on-device form.

[0036] Meanwhile, the term "module" or "unit" used in the present disclosure can be understood as a term referring to an independent functional unit that processes computing resources, such as a computer-related entity, firmware, software or a part thereof, hardware or a part thereof, or a combination of software and hardware. At this time, the "module" or "unit" may be a unit composed of a single element, or a unit expressed as a combination or set of multiple elements. For example, as a narrow concept, a "module" or "unit" may refer to a hardware element of a computing device or a set thereof, an application program that performs a specific function of software, a processing process implemented through software execution, or a set of instructions for program execution, etc. In addition, as a broad concept, a "module" or "unit" may refer to the computing device itself that constitutes the system, or an application running on the computing device, etc. However, since the above-described concept is only an example, the concept of “module” or “part” may be defined in various ways within a range understandable to those skilled in the art based on the contents of the present disclosure.

[0037] The term "model" as used herein may be understood as a system implemented using mathematical concepts and language to solve a specific problem, a set of software units to solve a specific problem, or an abstract model of a processing process to solve a specific problem. For example, a neural network "model" may refer to the entire system implemented as a neural network that has problem-solving capabilities through learning. In this case, the neural network can have problem-solving capabilities by optimizing the parameters connecting nodes or neurons through learning. A neural network "model" may include a single neural network or a set of neural networks that are a combination of multiple neural networks.

[0038] The term "data" used in this disclosure may include "image," "signal," and the like. The term "image" used in this disclosure may refer to multidimensional data composed of discrete image elements. In other words, "image" may be understood as a term referring to a digital representation of an object visible to the human eye. For example, "image" may refer to multidimensional data composed of elements corresponding to pixels in a two-dimensional image. "Image" may refer to multidimensional data composed of elements corresponding to voxels in a three-dimensional image.

[0039] The explanation of the above terms is intended to aid understanding of the present disclosure. Therefore, unless explicitly stated as limiting the contents of the present disclosure, it should be noted that the above terms are not intended to limit the technical ideas of the contents of the present disclosure.

[0040] FIG. 1 is an exemplary diagram of a device for managing an on-premise server installed in a medical facility (2000) according to one embodiment of the present disclosure.

[0041] A computing device (100) according to an embodiment of the present disclosure may be a hardware device or a part of a hardware device that performs comprehensive processing and calculation of data, or may be a software-based computing environment connected to a communication interface (130). For example, the computing device (100) may be a server that performs intensive data processing functions and shares resources, or may be a client that shares resources through interaction with a server. In addition, the computing device (100) may be a cloud system or a cloud server in which a plurality of on-premise servers (200) and clients interact to comprehensively process data. Since the above description is only one example related to the type of computing device (100), the type of computing device (100) may be configured in various ways within a range understandable to those skilled in the art based on the contents of the present disclosure. Hereinafter, the computing device (100) will be described assuming a cloud server.

[0042] Referring to FIG. 1, a computing device (100) is connected to on-premise servers (200-1 to 200-3, hereinafter referred to as 200) installed in each of a plurality of medical facilities (2000-1 to 2000-3, hereinafter referred to as 2000) via a network to manage the plurality of on-premise servers (200). The on-premise server (200) is a server device installed to process and store data within the medical facility (2000), and can be used to process data acquired, created, and managed in the medical facility (2000).

[0043] The on-premise server (200) may be installed within an Electronic Medical Record System (EMR) (or electronic medical record system) or a Picture Archiving and Communication System (PACS) system that electronically records and manages medical information related to patient treatment, or may be installed within a medical facility as a separate device (or system) that is linked to the EMR system and PACS. The medical facility (2000) may include a place that provides medical services to manage and treat the health of patients, such as a hospital or public health center.

[0044] Software, programs, applications, etc. provided or managed by the computing device (100) may be installed on the on-premise server (200). At this time, the computing device (100) may receive information related to the software (or program, application, etc.) from the on-premise server (200) to monitor the status of the on-premise server (200). In particular, the computing device (100) may receive status information from the on-premise server (200) that can determine the status of the on-premise server (200) to determine whether the software installed on the on-premise server (200) requires an update. For an on-premise server (200) determined to require an update, the computing device (100) transmits data necessary for updating the corresponding software.

[0045] In this way, the computing device (100) according to one embodiment of the present disclosure enables an administrator to remotely monitor and manage the status of an on-premise server (200) without having to visit each medical facility (2000) in person. This reduces the human resources required to manage the on-premise server (200) and provides management efficiency.

[0046] Meanwhile, the medical facility (2000) is building a closed network to prevent medical data leakage, enhance security, and ensure the stability of the medical facility (2000) and medical devices from external intrusions. However, this closed network makes it virtually impossible for a computing device (100) to access the network to monitor or manage the on-premises server (200) of the medical facility (2000). Opening the network could potentially degrade the aforementioned security and stability.

[0047] A computing device (100) according to one embodiment of the present disclosure can remotely manage an on-premise server (200) installed in a medical facility (2000) while simultaneously solving the above two problems. Specifically, the computing device (100) and the on-premise server (200) communicate through a pre-configured port. At this time, the on-premise server (200) allows only outbound traffic to the computing device (100) and blocks inbound traffic from the computing device (100) to the on-premise server (200). This enables communication between the computing device (100) and the on-premise server (200) while maintaining security and stability.

[0048] Meanwhile, the computing device (100) can utilize Pods in a Kubernetes environment to manage each on-premises server (200). A Pod set up in response to each on-premises server (200) is responsible for communication and management tasks with a specific on-premises server, and can collect status information from the on-premises server and perform management tasks, including software updates. The computing device (100) creates independent Pods for each on-premises server to separate tasks, and secures management efficiency and stability through isolation and dynamic expansion between Pods. For example, the computing device (100) uses Pods to receive status information from the on-premises server (200), analyzes it, and provides update data appropriate for the specific on-premises server when a software update is required. In this process, the Pod communicates with the database or central repository of the computing device (100) to download update files, perform actions based on status information, and dynamically create or restore Pods as needed.

[0049] Hereinafter, embodiments of the present disclosure related thereto will be described in detail with reference to FIGS. 2 to 6.

[0050] FIG. 2 is a block diagram of a computing device (100) according to one embodiment of the present disclosure.

[0051] Referring to FIG. 2, the computing device (100) includes a processor (110) including at least one core, a memory (120), and a communication interface (130). However, FIG. 2 is merely an example, and the computing device (100) may further include other components for implementing a computing environment. Furthermore, only some of the disclosed components may be included in the computing device (100).

[0052] A processor (110) according to an embodiment of the present disclosure may be understood as a configuration unit including hardware and / or software for performing computing operations. For example, the processor (110) may read a computer program to perform data processing for machine learning. The processor (110) may process computational processes such as processing input data for machine learning, feature extraction for machine learning, and error calculation based on backpropagation. The processor (110) for performing such data processing may include a central processing unit (CPU), a general purpose graphics processing unit (GPGPU), a tensor processing unit (TPU), an application specific integrated circuit (ASIC), or a field programmable gate array (FPGA). The above-described type of processor (110) is only one example, and thus, the type of processor (110) may be configured in various ways within a range understandable to those skilled in the art based on the contents of the present disclosure.

[0053] The processor (110) is electrically connected to other components of the computing device (100), i.e., the memory (120) and the communication interface (130), and controls the overall operation of the computing device (100).

[0054] The memory (120) according to one embodiment of the present disclosure may be understood as a configuration unit including hardware and / or software for storing and managing data processed in the computing device (100). That is, the memory (120) may store any type of data generated or determined by the processor (110) and any type of data received by the network unit of the computing device (100). For example, the memory (120) may include at least one type of storage medium among a flash memory (120) type, a hard disk type, a multimedia card micro type, a card type memory (120), a random access memory (RAM), a static random access memory (SRAM), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a programmable read-only memory (PROM), a magnetic memory (120), a magnetic disk, and an optical disk. Additionally, the memory (120) may include a database system that controls and manages data in a predetermined system. The types of memory (120) described above are merely examples, and thus, the types of memory (120) may be configured in various ways within a range understandable to those skilled in the art based on the contents of the present disclosure.

[0055] The memory (120) can structure and organize and manage data, combinations of data, and program codes executable by the processor (110) required for the processor (110) to perform operations. For example, the memory (120) can store address information of a plurality of on-premise servers (200), software information, and setting information of each on-premise server (200). The setting information can include information such as the version of the software installed in each on-premise server (200), the most recent update time, etc. In addition, the memory (120) can store a learning data set used for learning a neural network model used in the software, or a program code for performing learning of a neural network model or operating a pre-learned neural network model, and can store data generated as the program code is executed.

[0056] The communication interface (130) can be understood as a component that transmits and receives data through any type of known wired or wireless communication system. For example, the communication interface (130) can perform data transmission and reception using a wired or wireless communication system such as a local area network (LAN), wideband code division multiple access (WCDMA), long term evolution (LTE), wireless broadband internet (WiBro), 5th generation mobile communication (5G), ultrawide-band, ZigBee, radio frequency (RF) communication, wireless LAN, wireless fidelity, near field communication (NFC), or Bluetooth. Since the above-described communication systems are only examples, the wired and wireless communication system for data transmission and reception of the communication interface (130) can be applied in various ways other than the above-described examples.

[0057] The communication interface (130) can receive data required for the processor (110) to perform calculations through wired or wireless communication with any system or any client, etc. In addition, the communication interface (130) can transmit data generated through calculations of the processor (110) through wired or wireless communication with any system or any client, etc. For example, the communication interface (130) can receive status information, output data of a neural network model, etc. through communication with an on-premise server (200) of a medical facility (2000), etc. In addition, the communication interface (130) can transmit data for software installation, software update data, etc. through communication with an on-premise server (200).

[0058] FIG. 3 is a flowchart of a method for managing an on-premise server installed in a medical facility (2000) according to one embodiment of the present disclosure.

[0059] The processor (110) can receive status information from multiple on-premise servers (200) installed in each of multiple medical facilities (2000) (S310).

[0060] Here, the status information is information indicating the status of the on-premises server (200). The status information may include information indicating the status of the hardware resources of the on-premises server (200). For example, the status information may include at least one of CPU usage, memory (120) usage, and disk usage.

[0061] Additionally, the status information may include information indicating the quality status of a service provided by an on-premises server (200). Here, the service may be a service provided to clients (medical staff, patients, etc.) of each medical institution by software provided by a computing device (100). For example, the status information may include at least one of the software's Transactions Per Second (TPS), response time, and processing success rate for client requests.

[0062] Meanwhile, the processor (110) can communicate with a plurality of on-premise servers (200) through a preset network port. Here, the preset network port may be a verified port based on Transmission Control Protocol (TCP). For example, the processor (110) connects the computing device (100) and a plurality of on-premise servers (200) through a communication interface (130), and can communicate with the plurality of on-premise servers (200) through standard ports such as HTTPS (Port 443), HTTP (Port 80), and SSH (Port 22).

[0063] At this time, each on-premise server (200) can block inbound traffic by the computing device (100) and allow only outbound traffic by the on-premise server (200) based on the firewall rules set in each on-premise server (200). Specifically, the on-premise server (200) can request data from the computing device (100) or download software update and setting information through outbound traffic. The processor (110) responds to the outbound request of each on-premise server (200) by transmitting the necessary data or supporting the maintenance of the latest state of the software through status information and an update flag.

[0064] Specifically, the on-premises server (200) can request data from the computing device (100) through outbound traffic, periodically transmit status information, or receive data required for software updates. As described above, the status information may include monitoring indicators such as the hardware status (CPU usage, memory (120) usage, disk usage) and network performance (TPS, response time, etc.) of the on-premises server (200), and the computing device (100) can analyze the performance status of the on-premises server (200) based on this status information and perform management tasks such as visualization of a dashboard or problem detection to improve the efficiency of server operation. This traffic control method fundamentally blocks unnecessary access to the on-premises server (200) from the outside in consideration of the sensitivity of medical data, while safely performing essential management tasks such as software updates and status monitoring.

[0065] And, the processor (110) can monitor a plurality of on-premise servers (200) based on the received status information and identify a target server requiring a software upgrade among the plurality of on-premise servers (200) (S320).

[0066] Specifically, the processor (110) can determine the status of each on-premise server (200) based on the status information received from each on-premise server (200). In particular, the processor (110) can monitor the on-premise server hardware resource status included in the status information to determine whether the on-premise server (200) is abnormal. Alternatively, the processor (110) can monitor the service quality status included in the status information to determine whether the on-premise server (200) is abnormal. That is, whether the on-premise server (200) is abnormal can be determined based on the hardware resource status or the service quality status of the on-premise server (200).

[0067] In particular, if the processor (110) determines that there is a possibility that the performance or failure of the on-premise server (200) may be degraded due to insufficient hardware resources of the on-premise server (200), or if it determines that the service quality is degraded, it may determine that an abnormality has occurred in the on-premise server (200). In particular, such an abnormality in the on-premise server (200) may be caused by an abnormal operation of the software installed in the on-premise server (200). Therefore, the processor (110) may determine that a software upgrade is required for an on-premise server (200) in which an abnormal state is detected among a plurality of on-premise servers (200). Hereinafter, the on-premise server (200) in which an abnormal state is detected will be referred to as a target server.

[0068] According to one embodiment of the present disclosure, the processor (110) may monitor the performance status of each of a plurality of on-premise servers (200) based on the received hardware resource status information, and identify a target server requiring a software upgrade among the plurality of on-premise servers (200). Specifically, the processor (110) may compare the performance indicators included in the resource status information with a reference value set for each performance indicator, and determine whether the on-premise server (200) is abnormal. For example, the processor (110) may determine that the status of the on-premise server is abnormal when the CPU usage of the on-premise server (200) is equal to or greater than a first preset value, the memory (120) usage is equal to or greater than a second preset value, or the disk space usage is identified as insufficient by equal to or greater than a third preset value.

[0069] In addition, according to one embodiment of the present disclosure, the processor (110) can monitor the quality status of the software of each of the plurality of on-premise servers (200) based on the received resource status information, thereby identifying a target server requiring a software upgrade among the plurality of on-premise servers (200).

[0070] Specifically, the processor (110) can determine whether the on-premise server (200) is abnormal by comparing the quality indicators included in the service quality status information with the reference values ​​set for each quality indicator. For example, the processor (110) can determine that the status of the on-premise server is abnormal if the TPS (request processing per second) for the software installed in the on-premise server (200) is less than a preset fourth value, the response time of the on-premise server (200) is greater than or equal to a preset time, or the processing success rate for a client request using the software is less than a preset fifth value. In addition, the processor (110) can determine the on-premise server (200) as a target server.

[0071] Meanwhile, the processor (110) can comprehensively determine the lack of hardware resources and deterioration of software quality to identify an abnormal state of the on-premise server (200).

[0072] According to one embodiment of the present disclosure, the status information may include score information obtained using software on each on-premise server (200). At this time, the processor (110) identifies a score trend corresponding to each on-premise server (200) based on the score information, and detects whether there is an abnormality in the accuracy of the software based on the identified score trend, thereby identifying a target server requiring a software upgrade among a plurality of on-premise servers (200).

[0073] In this regard, according to one embodiment of the present disclosure, software is provided by a computing device (100) and installed in each on-premise server (200), and can perform a function of calculating a score for predicting a disease of a patient by using a neural network model that has been trained on biometric data acquired from a patient. The neural network model may be a model that has been trained to calculate a score corresponding to a possibility of a disease of the patient by inputting biometric data corresponding to a biometric signal measured from the patient. The on-premise server (200) inputs biometric data corresponding to a biometric signal of a patient acquired using a biometric signal measuring device of a medical institution into the neural network model, obtains a score corresponding to a possibility of a disease of the patient calculated by the neural network model, and can predict the presence or absence of a disease or the possibility of a disease of the patient based on the obtained score corresponding to the possibility of a disease.

[0074] Biometric data may include electrocardiogram (ECG) data corresponding to electrocardiogram signals obtained from a patient. For example, the biometric data may be electrocardiogram data corresponding to electrocardiogram signals obtained through a 12-lead. However, the present disclosure is not limited thereto, and the biometric data may include data corresponding to electroencephalogram (EEG) signals, body temperature, blood pressure, pulse, etc. obtained from a patient. However, for the convenience of explanation of the present disclosure, the biometric data will be described below as electrical conductivity data.

[0075] And, the heart disease may be Left Ventricular Systolic Dysfunction (LVSD). However, it is not limited thereto, and the heart disease may include Atrial Fibrillation, Ventricular Tachycardia, Ventricular Fibrillation, Myocardial Infarction, etc. In addition, not limited to heart disease, the neural network model can be trained to determine the possibility of diseases of other biological organs besides the heart, such as Alzheimer's disease and Encephalitis, depending on the type of biometric data.

[0076] The processor (110) can obtain an input data set including a plurality of electrocardiogram data corresponding to electrocardiogram signals obtained from a plurality of patients. In addition, the processor (110) can obtain a label data set including a plurality of label data in which each of the plurality of electrocardiogram data is assigned a label indicating whether the patient has left ventricular systolic dysfunction (or a score indicating the degree of left ventricular systolic dysfunction). In addition, the processor (110) can train a neural network model using a learning data set including the input data set and the label data set. In particular, the processor (110) can train a neural network model using pairs of electrocardiogram data and label data corresponding to the same patient included in the input data set and the label data set.

[0077] For example, the processor (110) can input electrocardiogram data included in the learning data set into a neural network model to obtain a score indicating the degree of left ventricular systolic dysfunction. The processor (110) can calculate an error using a loss function that uses the score obtained through the neural network model and the label of the label data paired with the input electrocardiogram data included in the label data set as input variables. The processor (110) can adjust the parameters of the neural network included in the neural network model based on the calculated error. In addition, the processor (110) can repeat the process of adjusting the parameters of the neural network until the error satisfies the minimum standard. The learning of the neural network model can be performed based on supervised learning as in the example described above, but can also be performed based on self-supervised learning depending on the structure of the neural network model. Through this learning process, the neural network model can extract feature information related to the waveform of the electrocardiogram signal, such as P wave, QRS complex, T wave, PR interval, RR interval, etc. from the electrocardiogram data, and output a score corresponding to the possibility of left ventricular systolic dysfunction based on the extracted feature information. For example, the neural network model can be implemented as a multi-layer perceptron (MLP), a convolutional neural network (CNN), a recurrent neural network (RNN), a generative adversarial network, etc. Meanwhile, when the learning of the neural network model is completed, the processor (110) can distribute software using the neural network model to a plurality of on-premise servers (200) connected to the computing device (100).

[0078] The processor (110) can obtain score information calculated through software as status information from each on-premise server (200). At this time, the processor (110) can monitor score trends corresponding to each on-premise server (200). The processor (110) can monitor the amount of change in the score, the amount of score produced compared to a preset time, etc., and can detect whether there is an abnormality in the accuracy of the software based on the identified score trends.

[0079] In particular, the processor (110) can identify the number of patients visiting each medical institution where each on-premise server (200) is installed, the patient's age, gender, etc. based on the score. At this time, the processor (110) can determine that there is an abnormality in the accuracy of the software if the score trend changes rapidly by considering the characteristics of the patients identified for the medical institution. In particular, if such change in the score trend is repeated, the processor (110) can determine that there is an abnormality in the accuracy of the software and determine the corresponding on-premise server (200) as the target server. In addition, if the score is repeatedly obtained as an abnormal value (for example, the score is repeatedly obtained as 0 or 100), the processor (110) can detect whether there is an abnormality in the accuracy of the software based on the identified score trend. Meanwhile, if the processor (110) detects an abnormality in the software, it can identify the cause of the abnormality, update the software to resolve it, and generate data for updating the software.

[0080] According to an embodiment of the present disclosure, the score information produced may include biological information of a patient corresponding to the score. At this time, the processor (110) may determine the characteristics of a patient group of a medical institution corresponding to each on-premise server (200) based on the score information, and identify an on-premise server (200) in which the characteristics of the patient group have changed as a target server. In particular, since the accuracy of a pre-trained neural network model used by the software may decrease when the characteristics of the patient group change, the processor (110) may determine that an update of the software is necessary. At this time, the processor (110) may update the software by training the neural network model using a training data set in which the characteristics of the changed patient group are reflected.

[0081] FIG. 4 is an exemplary diagram illustrating a method for displaying a flag indicating whether a target server is updated according to an embodiment of the present disclosure. FIG. 5 is a flowchart illustrating a method for displaying a flag indicating whether a target server is updated according to an embodiment of the present disclosure. S510 and S520 illustrated in FIG. 5 may correspond to S310 and S320 illustrated in FIG. 3 , and thus, a detailed description thereof will be omitted.

[0082] According to one embodiment of the present disclosure, when a target server is identified, the processor (110) may display a flag regarding software update in the configuration information of the target server, and when the target server receives a request for software update data from a target server that has confirmed the flag, the processor (110) may transmit the update data to the target server.

[0083] Specifically, the processor (110) can create or manage a directory structure corresponding to each on-premise server (200), and setting information of the on-premise server (200) can be stored in the directory. Here, the setting information can include software version information of the on-premise server (200), most recent update time information, software update URL information, etc. Referring to FIG. 4, when a target server is identified, the processor (110) can create a flag (21) in a directory corresponding to the target server to indicate whether software is updated. The flag (21) can include the latest version information of the software or an item requiring update, and the on-premise server (200) can periodically check the directory to determine whether an update is necessary. For example, when a flag (21) is created in a directory corresponding to a target server, the target server starts an update operation through this and requests update data. Thereafter, the processor (110) can transmit software update data after receiving a request from the target server to keep the software of the target server up to date. Alternatively, the target server may obtain software update data by accessing a database or field where software update data is stored through a software update URL provided by the processor (110). Meanwhile, depending on the last update time, the cycle for determining whether an on-premise server (200) needs to be updated may change.

[0084] Meanwhile, the processor (110) can manage the flag (21) using a database. For example, when managing the flag (21) based on a database, the processor (110) can distinguish each on-premise server (200) with a unique identifier (Server ID) and store an update flag (21) in a database table. At this time, the flag (21) information can include data such as a software version, whether an update is necessary, and a priority, and the on-premise server (200) accesses the database to periodically check the set flag (21) value.

[0085] Additionally, the processor (110) can display and manage the flag (21) via an API. The processor (110) provides an API endpoint, and each on-premises server (200) can call the API to check the update flag (21) value. For example, the following JSON data can be returned via an API request to check the flag (21).

[0086] Meanwhile, according to one embodiment of the present disclosure, the processor (110) may provide software update data depending on the last update time of the software of each on-premise server (200) or whether the software has been updated in the computing device (100). At this time, each on-premise server (200) may periodically connect to the computing device (100) (or, a database of the computing device (100)) and monitor whether software update data has been uploaded or whether setting information of each on-premise server (200) has been changed. In particular, the setting information may include the version of the software installed in the on-premise server (200) and the latest version information of the software. If the on-premise server (200) determines that the software installed in the corresponding server is not the latest version or that software update data has been uploaded to the computing device (100), the on-premise server (200) may obtain update data regarding the latest version of the software. This may be performed on a target server, or may be performed on multiple on-premise servers as a whole without identifying the target server. Software update data may be generated in response to software abnormalities detected from a specific on-premise server. Meanwhile, the method by which the on-premise server (100) obtains update data or connects to the computing device (100) for this purpose may be equally applied to the description of the above-described embodiment.

[0087] Meanwhile, according to one embodiment of the present disclosure, if it is determined that the performance of the target server has not improved even after the software of the target server has been upgraded based on the resource status information received from the target server, the processor (110) may display a flag (21) regarding hardware resource addition in the configuration information of the target server. At this time, the processor (110) may display another flag (21) indicating that hardware resource addition is required in the configuration information of the target server. For example, if the CPU usage continues to exceed a preset first value even after the software upgrade, the processor (110) may determine the state as a limitation of hardware resources and set the hardware expansion flag (21).

[0088] FIG. 6 is an exemplary diagram showing a dashboard for managing multiple on-premise servers (200) according to one embodiment of the present disclosure.

[0089] In addition, according to one embodiment of the present disclosure, the processor (110) may display a UI (User Interface) indicating the status of each on-premise server (200) through a display based on status information received from each on-premise server (200). The UI may be designed to monitor in real time the hardware resource status (CPU usage, memory (120) usage, disk usage), service quality status (TPS, response time, etc.), update status, etc. of the server. In particular, referring to FIG. 6, the processor may simultaneously display the status of each on-premise server (200) through the display (140) of the computing device (100). The UI may include visual elements such as graphs, charts, and warning messages so that the user can grasp the status of the server at a glance, and may highlight or provide a warning notification for a server in which an abnormal status is detected. For example, if the CPU usage of a specific server becomes excessively high, the server may be displayed in a warning color on the UI and the need for follow-up measures such as increasing hardware resources or optimizing software may be notified to the user. These UIs can contribute to improving management efficiency by intuitively providing information on the server's status.

[0090] FIG. 7 is a block diagram of a computing device according to another embodiment of the present disclosure.

[0091] Referring to FIG. 7, a computing device (700) according to another embodiment of the present disclosure includes a processor (710), a memory (720), a communication interface (730), a display (740), a user interface (750), and a speaker (760). Among the configurations illustrated in FIG. 10, the processor (710) and the memory (720) correspond to the configurations of the processor (110) and the memory (120) of the computing device (100) illustrated in FIG. 2, and thus a detailed description thereof will be omitted.

[0092] The display (740) can display various images. Here, the images include both still images and moving images. The display (740) can output guide information regarding activities generated based on the user status. The display (740) can be implemented as various types of displays, such as an LCD (Liquid Crystal Display Panel), an OLED (Organic Light Emitting Diodes), an LCoS (Liquid Crystal on Silicon), a DLP (Digital Light Processing), etc. In addition, the display (740) can also include a driving circuit, a backlight unit, etc., which can be implemented in a form such as an a-si TFT, an LTPS (low temperature poly silicon) TFT, an OTFT (organic TFT), etc.

[0093] Meanwhile, the display (740) may be implemented as a touch screen by being combined with a touch panel. In this case, the display (740) may not only function as an output interface that outputs images through the touch screen, but also as an input interface that receives a user's touch input. The display (740) may display status information of multiple on-premise servers (200).

[0094] The user interface (750) is a component used by the computing device (100) to perform interaction with the user, and may include at least one of a touch sensor, a motion sensor, a button, a jog dial, and a switch, but is not limited thereto. The processor (710) may receive on-premise information ID, address information, etc. through the user interface (750).

[0095] The speaker (760) is a component that outputs various audio data that has undergone various processing operations, such as decoding, amplification, and noise filtering, by an audio processing unit (not shown). The speaker (760) can output various notification sounds or voice messages. According to one embodiment of the present disclosure, the processor (710) can convert an electrical signal received from an external device into a user voice and output it through the speaker (760). For example, the speaker (760) can output a voice message indicating whether a target server has been detected, an identification number of the target server, etc.

[0096] Meanwhile, a non-transitory computer readable medium may be provided in which a program is stored that sequentially performs a method of generating a reading text including an artificial intelligence-based analysis result according to the present disclosure.

[0097] A non-transitory readable medium refers to a medium that permanently stores data and can be read by a device, rather than a medium that stores data for a short period of time, such as a register, cache, or memory. Specifically, the various applications or programs described above may be stored and provided on non-transitory readable media, such as a CD, DVD, hard disk, Blu-ray disc, USB, memory card, or ROM.

[0098] The various embodiments of the present disclosure described above can be combined with additional embodiments and modified within a scope that would be understood by those skilled in the art in light of the detailed description set forth above. It should be understood that the embodiments of the present disclosure are illustrative in all respects and not restrictive. For example, each component described as a single component may be implemented in a distributed manner, and likewise, components described as distributed may be implemented in a combined manner. Accordingly, all changes or modifications derived from the meaning, scope, and equivalent concepts of the claims of the present disclosure should be construed as being included within the scope of the present disclosure.

Claims

1. A method for managing an on-premise server installed in a medical facility, the method being performed by a computing device including at least one processor, A step of receiving status information from multiple on-premise servers each installed in multiple medical facilities; and A step of monitoring the plurality of on-premise servers based on the received status information and identifying a target server requiring a software upgrade among the plurality of on-premise servers; method.

2. In paragraph 1, When the target server is identified, a step of displaying a flag regarding software update in the configuration information of the target server; and When the target server receives a request for update data of the software from the target server that has confirmed the flag, the step of transmitting the update data to the target server is included; method.

3. In paragraph 1, The above status information is, Contains hardware resource status information including at least one of CPU Usage, Memory Usage, and Disk Usage of the on-premises server, The step of identifying the target server is: A step of monitoring the performance status of each of the plurality of on-premise servers based on the received resource status information, and identifying a target server requiring a software upgrade among the plurality of on-premise servers; method.

4. In paragraph 3, A step of displaying a flag regarding the addition of hardware resources in the configuration information of the target server, if it is determined that the performance of the target server is not improved even after the software of the target server is upgraded based on the resource status information received from the target server; method.

5. In paragraph 1, The above status information is, Contains service quality status information including at least one of TPS (Transactions Per Second), response time, and success rate of processing client requests of software installed on an on-premise server; The step of identifying the target server is: A step of monitoring the quality status of software of each of the plurality of on-premise servers based on the received resource status information, and identifying a target server requiring a software upgrade among the plurality of on-premise servers; method.

6. In paragraph 5, The above software, Provided by the above computing device, the function of calculating a score for predicting the patient's disease using a neural network model that has been trained on biometric data obtained from the patient is performed. method.

7. In paragraph 6, The above status information is, Contains the above calculated score information obtained from each on-premise server, The step of identifying the target server is: Based on the score information, a step of identifying a score trend or an abnormality in a score corresponding to each on-premise server, and detecting an abnormality in the accuracy of the software based on the identified score trend or an abnormality in the score, thereby identifying a target server requiring a software upgrade among the plurality of on-premise servers; Including, method.

8. In paragraph 7, The above calculated score information includes: Contains the patient's biological information corresponding to the above score, The step of identifying the target server is: Based on the above score information, a step of identifying the characteristics of a patient group of a medical institution corresponding to each on-premise server, and identifying an on-premise server in which the characteristics of the patient group are determined to have changed as the target server; Including, method.

9. In paragraph 1, A step of displaying a UI (User Interface) indicating the status of each on-premise server through a display based on the received status information; including; method.

10. In paragraph 1, The above multiple on-premise servers, Communicate with the computing device through a preset port, but block inbound traffic by the computing device and allow only outbound traffic by the on-premise server based on the firewall rules of each on-premise server. method.

11. A method for obtaining update data of software provided by a cloud server managing a plurality of on-premise servers, the method being performed by a computing device including at least one processor, A step for periodically checking the setting information corresponding to the on-premise server set on the cloud server; and Based on the configuration information of the above-mentioned on-premise server, if it is determined that an update of the software installed on the on-premise server is required, a step of obtaining update data of the software from the cloud server; Including, method.

12. In a computing device that manages an on-premise server installed in a medical facility, A processor comprising at least one core; a memory containing program codes executable by the processor; and a communication interface; The above processor, Receive status information from multiple on-premise servers installed in multiple medical facilities through the above communication interface, monitor the multiple on-premise servers based on the received status information, and identify a target server requiring a software upgrade among the multiple on-premise servers. Computing device.

13. A computer program stored on a computer-readable storage medium, wherein the computer program, when executed on one or more processors, performs operations for managing an on-premise server installed in a medical facility. The above actions are, An operation of receiving status information from multiple on-premise servers each installed in multiple medical facilities; and An operation of monitoring the plurality of on-premise servers based on the received status information and identifying a target server requiring a software upgrade among the plurality of on-premise servers; Computer program.

Citation Information

Patent Citations

  • Server of monitoring for server resources and web service and method thereof

    KR101414994B1

  • On-premises agent for mobile cloud service

    KR1020160119189A

  • Method and apparatus for encoding / decoding image and recording medium for storing bitstream

    KR1020220158210A

  • Light-emitting device, light-emitting apparatus, electronic appliance, and lighting device

    KR1020230014078A

  • Server management system supporting multi-vendor

    KR102526368B1