Managing laboratory instruments
Patent Information
- Application Number
- CN202580010144.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-01-25
- Filing Date
- 2025-01-15
- Publication Date
- 2026-08-11
AI Technical Summary
然而,由于软件更新的安装可能导致实验室仪器在安装期间暂停工作,因此软件更新的安装可以被推迟或调度到实验室仪器的计划停机时间可用的特定时间
Smart Images

Figure CN122555906A_ABST
Abstract
Description
[0001] Cross-references to related applications
[0002] This is a PCT international application for Indian provisional patent application IN202441005280 entitled “Managing a Laboratory Instrument”, filed on 25 January 2024 with the Indian Patent Office, and claims priority to it, the disclosure of which is hereby incorporated in its entirety by reference. Technical Field
[0003] This invention relates to the field of managing laboratory instruments and / or devices, such as sample rack manipulation devices and / or sample testing systems, such as semi-automatic or fully automatic sample analysis and testing equipment for testing sample materials. This invention may particularly relate to software updates for managing laboratory instruments, especially software updates for remotely managing laboratory instruments. Background Technology
[0004] The content of this section provides only background information in relation to this disclosure and may not necessarily be prior art.
[0005] Various analytical testing instruments (e.g., sample tubes, sample containers, or cups) used to test samples or sample materials are essential in the medical field, especially in clinical and laboratory medicine. Specifically, fully automated or semi-automated laboratory instruments are widely used in clinical laboratories for processing large numbers of samples per unit time and have become an important part of modern laboratory testing.
[0006] Fully automated or semi-automated laboratory instruments are commonly used in high-throughput laboratories. These systems can operate 24 / 7 with minimal downtime, as downtime can negatively impact workflow and / or the speed of providing analysis or test results for multiple samples. Therefore, minimizing downtime in these laboratory instruments is desirable.
[0007] The laboratory instruments discussed typically include controllers or control units, which usually run software or software applications to control the laboratory instrument and / or its workflow. Software updates for the software or software applications used on the laboratory instrument can be provided, for example, by the manufacturer of the laboratory instrument. These updates can be received by the laboratory instrument via online services, such as downloading from a server, or via offline media, such as computer-readable media storing the software updates. However, because the installation of software updates may cause the laboratory instrument to pause operation during the installation process, the installation of software updates can be postponed or scheduled until a specific time when the planned downtime of the laboratory instrument is available.
[0008] Even with thorough testing, software updates can still have unintended effects on laboratory instruments. Such scenarios may involve special circumstances that might not even be foreseeable before the software update is released for the laboratory instruments. On the other hand, improvements to software released prior to previous software updates can be installed on laboratory instruments. Summary of the Invention
[0009] Therefore, it is desirable to provide control over the software update procedures for laboratory instruments and / or to provide improvements in the management of at least one laboratory instrument, particularly minimizing unnecessary downtime of the laboratory instrument. Thus, aspects of this disclosure can allow for improvements in the management of at least one laboratory instrument, particularly preventing unnecessary downtime. Furthermore, aspects of this disclosure can allow for improvements in the management of software updates for at least one laboratory instrument, particularly preventing negative or undesirable effects of software updates and / or allowing for earlier installation of software improvements.
[0010] This is achieved through the subject matter of the independent claims, with further examples contained in the dependent claims and the following description.
[0011] Various aspects of this disclosure relate to a computer-implemented method. The method may be a computer-implemented method in which a computing device manages software updates for at least one laboratory instrument, the computing device being communicatively coupled to the laboratory instrument, or it may be a computer-implemented method in which at least one laboratory instrument manages software updates. Further aspects of this disclosure relate to corresponding one or more computer programs, and to corresponding one or more computer-readable media, such as non-transitory computer-readable media, storing such one or more computer programs. Further aspects of this disclosure relate to a computing device, a laboratory instrument, and a laboratory instrument service system. Any disclosure presented herein with reference to one aspect of this disclosure is equally applicable to any other aspect of this disclosure.
[0012] According to a first aspect of this disclosure, a computer-implemented method is provided, for example, a computer-implemented method for managing at least one laboratory instrument and / or managing software updates for at least one laboratory instrument. The method may be a method for remotely managing at least one laboratory instrument and / or software updates for at least one laboratory instrument by a computing device communicatively coupled to and / or communicatively coupled to the laboratory instrument. The method according to the first aspect of this disclosure comprises:
[0013] - A pause command is provided by a computing device to at least one laboratory instrument, the laboratory instrument being communicatively coupled to the computing device, wherein the pause command is configured to, when processed by the laboratory instrument, cause and / or instruct the laboratory instrument to at least temporarily block the installation of software updates on the laboratory instrument; and
[0014] - The computing device provides a resolution command to the at least one laboratory instrument, wherein the resolution command is configured to cause and / or instruct the laboratory instrument to perform a resolution action when processed by the laboratory instrument, the resolution action being one of: allowing the installation of the software update, replacing the software update with an updated version, and permanently preventing the installation of the software update on the laboratory instrument.
[0015] Laboratory instruments can be laboratory analyzers. Specifically, laboratory instruments are used in clinical laboratories to perform laboratory tests on biological samples. Laboratory instruments can be designed to measure clinical parameters, such as chemical substances, cellular components, or biomarkers. Laboratory instruments can be designed to assist in one or more aspects of the diagnosis, monitoring, and treatment of medical conditions. Laboratory instruments can be pre-analytical laboratory instruments and / or post-analytical laboratory instruments.
[0016] Laboratory instruments may be automated laboratory systems (ALS) or included within said ALS. Laboratory instruments may be able to communicate with other laboratory instruments and / or with other devices (e.g., computers). Laboratory instruments may be referred to as laboratory apparatus or laboratory equipment and may include laboratory automation. Laboratory instruments may be medical or clinical analyzers. Laboratory instruments may include one or more pre-analytical components, analytical components, and post-analytical components.
[0017] Specifically, a laboratory analyzer is a laboratory instrument configured to perform one or more analytical steps, such as measuring one or more properties of a biological sample, for example, the concentration of an analyte. Laboratory analyzers may include immunoassay analyzers, chemical analyzers, as well as identification and antibiotic susceptibility analyzers, bacteriological analyzers, molecular analyzers, hematological analyzers, or urine analyzers.
[0018] Automation components can be used to move containers from one laboratory instrument to another, or to move containers from one component of a laboratory instrument to another component of the same laboratory instrument, or to another component of another laboratory instrument. Automation components may include tracks, belts, and / or container carriers configured to move biological samples.
[0019] Typically, an ALS (Automatic Level Analyzer) is an assembly comprising multiple components and a computing device, wherein the computing device is operatively connected to and configured to control each component. Components may be laboratory analyzers, pre-analytical laboratory instruments, post-analytical laboratory instruments and input / output modules, and automated components (e.g., tracks, belts, container carriers) configured to move biological samples within the laboratory. Specifically, an ALS may comprise one or more subsystems, each containing one or more components of the ALS.
[0020] Preanalytical laboratory instruments are configured to perform one or more analytical steps on biological samples to prepare the biological samples for analytical instruments. Preanalytical laboratory instruments may include centrifuges, cap openers, recappers (e.g., for placing caps back onto containers), and / or dispensing instruments.
[0021] Post-analytical laboratory instruments are configured to perform one or more post-analytical steps on biological samples after they have been processed by one or more laboratory analyzers. Post-analytical laboratory instruments may include one or more of a recapping device, storage device, refrigerator, and input / output device. Both pre-analytical and post-analytical laboratory instruments can be referred to as peri-analytical laboratory instruments.
[0022] Specifically, laboratory instruments can generally be laboratory devices used for laboratory or clinical testing of samples (e.g., samples containing sample material obtained from one or more patients or individuals). The term "laboratory instrument" can include, for example, devices for collecting, manipulating, preparing, transporting, sorting, storing, and / or actually analyzing one or more samples, such as to obtain and / or measure one or more parameters based on the analysis. A biological sample (or simply "sample") can be a sample of bodily fluids from a human or animal subject. For example, bodily fluids can be physiological fluids such as blood, saliva, urine, sweat, amniotic fluid, cerebrospinal fluid, ascites, etc. Biological samples can be placed in a sample container after collection and can remain in the container during processing. The sample container can be a sample tube. Typically, a sample tube includes a closed end and an opposite end. The latter end defines an opening for inserting the sample into the sample tube. The opening can be closed by a cap, such as a seal.
[0023] Laboratory instruments may run software applications, such as firmware, for controlling the laboratory instruments. In the context of this disclosure, a "software update" may be, or may include, changes, modifications, and / or additions to this software application, such as feature updates relating to the operational functions of the laboratory instruments and / or security updates relating to data and / or process safety. Specifically, laboratory instruments may include computing devices.
[0024] According to this disclosure, a computing device may include or be a cloud computing system or platform. It may include or be a distributed computer system. The computing device may include or be connected to desktop PCs and / or workstations and / or laptop computers and / or tablet PCs, etc. The network may be a LAN and / or a wireless LAN. Specifically, according to the present invention, a computing device may be a desktop PC, workstation, laptop computer, or tablet PC, etc. As described herein, a computing device (e.g., a first computing device) may include one or more processors, such as a CPU, GPU, Tensor Processing Unit (TPU), etc., and memory.
[0025] The computing device can be, for example, a server device or server network. For instance, the computing device can be a web server and / or a cloud server. The computing device can provide network services and / or cloud services, where the services can be used to communicate with laboratory instruments, for example, via the Internet. The computing device can be configured to connect to and / or communicatively couple to the laboratory instruments, for example, via IoT connectivity, cellular connectivity, Wi-Fi connectivity, WLAN connectivity, LPWAN connectivity, or Bluetooth connectivity. This is particularly suitable if the method involves remote management. In alternative embodiments, the computing device can also be a portable device, such as a laptop computer, laptop computer, handheld computer, or smartphone, which can be used, for example, by a service technician servicing the laboratory instruments. Communication with the laboratory instruments can then be established via local wired or wireless communication, such as LAN, WLAN, LPWAN, Wi-Fi, Bluetooth, or any other suitable communication technology.
[0026] This disclosure is described as a method that can be executed by a computing device and / or a method that can be executed by a laboratory instrument and / or a method that can be executed by a laboratory instrument service system, wherein the last laboratory instrument service system may be a combination of the former two. However, regardless of the viewpoint, the methods disclosed herein are highly related and correspond to each other. Therefore, features of one of the methods disclosed herein are equally and similarly applicable to other methods, and vice versa.
[0027] According to this disclosure, a command may comprise, for example, one or more data items. Specifically, the command may be a computer file or contained within said computer file, which is provided to the laboratory instrument, for example, by a computing device. The computer file may be a JSON file, a text file, and / or an executable file. For example, the command contains information specifying a corresponding action to be performed by the laboratory instrument. For example, in the case of a pause command, the corresponding action is a pause action, i.e., an action that at least temporarily prevents the installation of a software update on the laboratory instrument. Exemplarily, in the case of a resolve command, the corresponding action is a resolve action. Specifically, when processed by the laboratory instrument, the information contained in the command instructs and / or causes the laboratory instrument to perform the corresponding action. Specifically, the information contained in the command may be contained in the values of one or more variables. Exemplarily, the laboratory instrument may contain computer-executable instructions that, when executed by the laboratory instrument, cause the laboratory instrument to access the information contained in the command and perform the corresponding action based on said information. For example, the information may be contained in a set of computer-executable instructions that, for example, cause the laboratory instrument to perform the corresponding action when executed by the laboratory instrument. For example, a pause command may contain information specifying that the laboratory instrument should at least temporarily prevent the installation of a software update. Alternatively or additionally, a resolution command may include information specifying the resolution action that the laboratory instrument should perform.
[0028] According to this disclosure, providing data items (e.g., commands, identifiers, software, software updates, a message) to a device (e.g., a computing device or laboratory instrument, especially a computing device contained therein) can be performed by making the items available to the device, for example by storing the information in a memory contained in or accessible by the device and / or by granting the device access to the items, enabling the device to retrieve, copy, and / or access the data. For example, providing data items to a device may include, for example, sending and / or transmitting the data to the computing device via a network. For example, providing data items to a laboratory instrument includes providing the data items to a computing device contained within the laboratory instrument.
[0029] To prevent the workflow of laboratory instruments from being abruptly interrupted whenever a software update is provided by a computing device or received by the laboratory instruments, the instruments can be configured to store software updates without immediate installation. Therefore, the actual installation can be scheduled or initiated by the user or operator of the laboratory instruments at a convenient time. An installation deadline can be specified for the software update, defining a date on or after which the installation of the software update on the laboratory instruments will be mandatory. Before the installation deadline, the operator of the laboratory instruments is free to schedule the installation of the software update whenever convenient for the workflow of the laboratory instruments. The installation deadline can be specified to be at least one month, two months, three months, five months, or seven months, such as nine months, after the software update is provided on the cloud server and / or received on the laboratory instruments.
[0030] This gives operators of laboratory instruments a high degree of flexibility in when to install software updates. Typically, software updates can be provided for multiple laboratory instruments. Therefore, at any point between the software update's provision and the installation deadline, there can be multiple laboratory instruments with the software update installed, and multiple laboratory instruments without the software update installed. Consequently, the issuer of the software update (e.g., the manufacturer of the laboratory instrument) may be aware and / or discover that if the software update is installed on the laboratory instruments, it may have one or more undesirable effects on those instruments. For example, this information may be provided by the operator of a laboratory instrument that has already installed the software update and / or automatically by the laboratory instrument itself that has already installed the software update.
[0031] In this context, this disclosure provides a method to prevent unintended effects on laboratory instruments that have not yet had a software update installed. By providing a pause command, a computing device can prevent the installation of the software update on any other laboratory instruments that have not yet been fully updated. With this disclosure, installation of the software update can be prevented even before an installation deadline has arrived, for example, even if the software update has already been obtained and stored locally on the laboratory instrument (e.g., in a local data storage device on the laboratory instrument itself). By simply changing or stopping the delivery of the software update to laboratory instruments that have not yet downloaded the software update, laboratory instruments that have downloaded but not yet installed the software update will generally not be overwritten and may therefore potentially experience unintended effects from the software update. By providing a pause command that also reaches these laboratory instruments, the installation of the software update can be prevented, and thus the corresponding unintended effects can be prevented.
[0032] Therefore, the software update provider has a time window to correct any faults and resolve any issues related to the software update. During this time window, at least no further installations occur. After a solution to the potential problem may have been found, a remediation command can be provided to resolve the suspended software update in one of several ways. If it has been found that the software update has virtually no undesirable impact, or the undesirable impact is negligible, or the one or more undesirable impacts are positively outweighed, the remediation command, when processed by the laboratory instrument, can cause and / or instruct the laboratory instrument to allow the installation of the software update; that is, cause and / or instruct the laboratory instrument to perform the action of allowing the installation of the software update. If an updated version of the software update is provided, the remediation command, when processed by the laboratory instrument, can cause and / or instruct the laboratory instrument to obtain the updated version of the software update and, for example, install the updated version on an installation deadline, which may be the installation deadline of the original software update or a new installation deadline applicable to the updated version of the software update. Therefore, in this case, the remediation command, when processed by the laboratory instrument, can cause and / or instruct the laboratory instrument to perform the action of obtaining the updated version of the software update. If the optimal course of action is determined to be to completely cancel the software update, the resolve command, when processed by the laboratory instrument, can cause and / or instruct the laboratory instrument to perform an action that permanently prevents the installation of the software update on the laboratory instrument, such as by deleting the software update.
[0033] Exemplarily, the method according to the first aspect of this disclosure may further include receiving pause information by the computing device specifying that a pause command should be issued. Specifically, receiving the pause information is performed after the manufacturer of the laboratory instrument has become aware and / or discovered that if a software update is installed on the laboratory instrument, the update may cause one or more undesirable effects on these laboratory instruments. The method according to the first aspect of this disclosure may further include receiving resolution information by the computing device specifying that a recovery command should be issued. Specifically, the resolution information may further specify a resolution action that the laboratory instrument should perform. Specifically, receiving the resolution information is performed after, for example, the manufacturer of the laboratory instrument has found a solution to the potential problem. For example, the pause information and / or resolution information may be provided to the computing device by the manufacturer of the laboratory equipment (e.g., by an employee of the manufacturer of the laboratory instrument and / or software), for example, through the use of specialized software and / or via a network.
[0034] The method may include obtaining a software update from a computing device for download to the laboratory instrument. Specifically, obtaining the software update is performed before a pause command is provided. Furthermore, the method may further include providing the software update to the laboratory instrument from the computing device. This may be sufficient for the computing device to provide the software update only in a manner that makes it accessible to the laboratory instrument, for example, via an online service or cloud service. The computing device may also provide the software update as push data, such as actively sending the software update to the laboratory instrument. Any method can be used to transfer the software update from the computing device to the laboratory instrument.
[0035] According to this disclosure, obtaining data items (e.g., commands, identifiers, software, software updates, instructions, log messages, schedules, a message) from a device (e.g., a computing device or laboratory instrument, especially one containing a computing device) may include receiving the data items from the device, such as sending and / or transmitting the data items. Obtaining data items from a device may include retrieving the data items from the device, such as making the data items available. In this case, obtaining data items from a device may include accessing the data items, for example, by accessing the device's memory storing the data items. For example, obtaining data items from a device may include receiving a link to the data items, and accessing and / or downloading the data items using the link.
[0036] This can be applied to the steps of providing pause and / or resolve commands. For example, providing a pause command may involve transmitting and / or sending the pause command from the computing device to the laboratory instrument. Alternatively, providing a resolve command may involve transmitting and / or sending the resolve command from the computing device to the laboratory instrument. Alternatively, it may be sufficient for the computing device to provide the pause and / or resolve commands in a manner that makes the pause and / or resolve commands accessible to the laboratory instrument, for example, via an online service or cloud service. In this case, it is advantageous if the laboratory instrument is configured to periodically check whether the pause and / or resolve commands are available / provided on the computing device.
[0037] Prior to issuing a pause command, the method may include an indication obtained (e.g., received) by the computing device that a software update may have undesirable effects when installed on laboratory instruments. This indication may include or may be the pause information mentioned above. It may originate, for example, from a user or provider of the computing device, typically the manufacturer of the laboratory instruments and therefore also the provider of the software update. Alternatively, this indication may originate from at least one laboratory instrument and / or at least one user of at least one laboratory instrument on which the software update has been installed. For example, when a software update is installed on a laboratory instrument, the computing device's cloud service may be used to register reports of undesirable effects caused by the software update on these laboratory instruments. The indication may then be used to trigger the issuance of a pause command. The indication or pause information may or may not include information specifying the nature of the potential undesirable effects of the software update. Thus, the indication or pause information may be a simple command or control signal issuing a pause command, or it may include additional information, for example, regarding the type and / or magnitude of the undesirable effects. Where such information is included, it may also be included in the pause command and may be made available to the user of the laboratory instrument, for example, by outputting information on the laboratory instrument. Alternatively, a pause command may be triggered only when an indication of a threshold number of unwanted effects is reached, for example, when a minimum number of laboratory instruments on which software updates have been installed or when users of laboratory instruments report at least one unwanted effect to a computing device or its user or provider.
[0038] Before providing a resolution command, the method may include an indication obtained by the computing device (e.g., receiving) that an unwanted effect does not exist or a solution to the unwanted effect is provided by one of the following: replacing the software update with an updated version, or permanently preventing the installation of the software update on the laboratory instrument. This indication may include or may be the resolution information mentioned above. It may originate from the user or provider of the computing device. For example, it may have been determined that the unwanted effect does not actually exist, or that an updated version of the software update can prevent the unwanted effect. Alternatively, it may have been determined that the optimal course of action is not to install the software update at all. Thus, this indication can be used to trigger the provision of a resolution command. The indication or resolution information may or may not include information specifying the nature of the solution to the possible unwanted effect of the software update. Thus, the indication or resolution information may be a simple command or control signal issuing a resolution command, or it may include additional information, such as information about the type of solution to the unwanted effect. Where such information is included, it may also be included in the resolution command and may be made available to the user of the laboratory instrument, for example, by outputting information on the laboratory instrument.
[0039] To ensure the correct sequence of steps and that commands provided by the computing device are executed only on qualified laboratory instruments, it can be specified that the installation of a software update is at least temporarily blocked only if each of the conditions in a first set of conditions is met, wherein the first set of conditions includes conditions where the software update is not yet installed on the laboratory instrument. Specifically, a pause command can be configured to take effect only if the software update is not yet installed on the laboratory instrument. For example, the pause command can only be processed by the laboratory instrument if each of the conditions in the first set of conditions is met. In some cases, the pause command is processed by the laboratory instrument, and therefore, the action specified by the command, i.e., the action of at least temporarily blocking the installation of the software update on the laboratory instrument, is executed by the laboratory instrument only if each of the conditions in the first set of conditions is met.
[0040] Alternatively or concurrently, it can be specified that a resolving action is performed and / or implemented only if each of the conditions in the second set of conditions is met, wherein the second set of conditions includes one or more of the following: a condition that at least temporarily prevents the installation of the software update, and a condition that the software update has not yet been installed on the laboratory instrument. Therefore, the second set of conditions may include a condition that the action specified by the pause command, i.e., the action that at least temporarily prevents the installation of the software update on the laboratory instrument, has already been performed and / or implemented on the laboratory instrument. Specifically, it can be specified that the resolving command is configured to take effect only if the pause command has been applied to the laboratory instrument. For example, the resolving command can only be processed by the laboratory instrument if each of the conditions in the second set of conditions is met. In some cases, the resolving command is processed by the laboratory instrument, and therefore, the resolving action is performed by the laboratory instrument only if each of the conditions in the second set of conditions is met.
[0041] For example, resolve and / or pause commands may include instructions for checking the current status of laboratory instruments, and are only effective if the status matches the first set of conditions and the second set of conditions, respectively. For example, pause and / or resolve commands may be processed only by qualified laboratory instruments.
[0042] According to this disclosure, a set may contain one or more elements. Therefore, specifically, a set of conditions may contain one or more conditions. The method may further include receiving (e.g., receiving) a first log message provided by a laboratory instrument, wherein the first log message indicates whether a software update was successfully or unsuccessfully obtained or downloaded at the laboratory instrument. Thus, the first log message can be used at the computing device to create an overview of which of a plurality of laboratory instruments managed by the computing device has successfully obtained a software update. Since these laboratory instruments are instruments that may potentially experience undesirable effects from software updates, such an overview may help address potential problems.
[0043] The method may further include receiving (e.g., receiving) a second log message from the laboratory instruments, obtained by the computing device, wherein the second log message indicates at least temporarily whether the installation of the software update was successfully or unsuccessfully prevented. Therefore, the second log message can be used at the computing device to create an overview of which laboratory instruments have actually installed the software update and which have not. Since implementing some immediate action at the laboratory instruments that have already installed the software update may be helpful, even before a remediation command is provided, this can help prevent downtime.
[0044] The method may further include receiving (e.g., receiving) a third log message provided by the laboratory instrument, wherein the third log message indicates whether the execution of the remediation action has been successful or unsuccessful. Specifically, the third log message may indicate: a) successful or unsuccessful installation of the software update, b) successful or unsuccessful replacement of the software update, or c) successful or unsuccessful installation of the software update permanently. Therefore, the third log message can be used at the computing device to create an overview of potential threats involving undesirable effects that have been avoided at the laboratory instrument due to the original software update. This overview can then be used to further focus remediation efforts on laboratory instruments where the remediation has not yet taken effect, thus potentially preventing downtime.
[0045] In the event that any of the first, second, and third log messages indicates an unsuccessful process, the computing device may be configured to notify the provider of the computing device and / or the user of the laboratory instrument. This may be achieved, for example, by providing and / or outputting an error message. To describe the problem more precisely, the notification may include information specifying why the corresponding process failed. This notification focuses on laboratory instruments experiencing a certain malfunction of the method disclosed in this invention, which are therefore particularly prone to errors and potential downtime. Thus, the notification serves to ensure the correct performance of the method and enables the user to intervene if necessary. Specifically, the first log message indicates an unsuccessful process when the first log message indicates that the laboratory instrument has failed to receive and / or download a software update. Exemplarily, the second log message indicates an unsuccessful process when the second log message indicates that the installation of a software update on the laboratory instrument has been unsuccessfully prevented. For example, the third log message indicates an unsuccessful process when a remedial action has been performed unsuccessfully, i.e., indicating unsuccessful installation, alternative, or permanent prevention of the installation of a software update on the laboratory instrument, depending on the remedial action.
[0046] Any or all of the first log message, second log message, third log message, and error message may contain or be an indication of the meaning of a plaintext message, an encoded message, or a corresponding alphanumeric code. Messages may contain computer-readable codes and / or human-readable text or numbers indicating the corresponding content or meaning of the message.
[0047] To enable rapid and easy implementation of the method, laboratory instruments and their software updates can be remotely managed. This can be achieved by further including one or more of the following: a computing device causing the laboratory instrument to receive a software update, and a computing device causing the laboratory instrument to receive an updated version of the software update. For example, the method may include remotely scheduling the laboratory instrument to receive a software update, such as downloading the software update, by a computing device. Alternatively or additionally, the method may include remotely scheduling the laboratory instrument to receive an updated version of the software update. This eliminates the need for service technicians to be physically present at the laboratory instrument site. Since all processes that need to be performed at the laboratory instrument can be remotely initiated, controlled, scheduled, and / or started by a computing device, the response speed for preventing undesirable effects is high.
[0048] According to this disclosure, causing a laboratory instrument to do something by a computing device can include instructing the laboratory instrument to do something by the computing device. For example, causing a laboratory instrument to do something by a computing device can include remotely controlling one or more components of the laboratory instrument to do something by the computing device.
[0049] For example, a pause command may include remotely scheduling and / or initiating the execution of a pause action, i.e., an action that at least temporarily prevents the installation of a software update on a laboratory instrument. Specifically, remotely scheduling and / or initiating the execution of a pause action can be performed using a pause command. More specifically, the pause command may include information specifying the start time at which the pause action should be executed. In this case, the pause command is configured to cause and / or instruct the laboratory instrument to execute the pause action at or after the start time when it is processed by the laboratory instrument. For example, the pause command may include information specifying that the pause action should be executed directly upon processing the pause command. In this case, the pause command is configured to cause and / or instruct the laboratory instrument to execute the pause action directly upon processing the pause command when it is processed by the laboratory instrument.
[0050] For example, a resolution command may include remotely scheduling and / or initiating the execution of a resolution action, namely, replacing and permanently preventing the installation of a software update at or on a laboratory instrument. Specifically, the remote scheduling and / or initiation of the execution of a resolution action can be performed using a resolution command. More specifically, the resolution command may include information specifying the start time at which the resolution action should be executed. In this case, the resolution command is configured to cause and / or instruct the laboratory instrument to execute the resolution action at or after the start time when it is processed by the laboratory instrument. For example, the resolution command may include information specifying that the resolution action should be executed directly when the resolution command is processed. In this case, the resolution command is configured to cause and / or instruct the laboratory instrument to execute the resolution action directly when the resolution command is processed by the laboratory instrument.
[0051] The method may include providing an instrument identifier to the laboratory instrument by the computing device, wherein the instrument identifier indicates which laboratory instrument or type of laboratory instrument is addressed by the pause command, and at least temporarily blocking the installation of the software update only if each of the first set of conditions is met, wherein the first set of conditions includes conditions that the laboratory instrument is indicated by the instrument identifier or belongs to the type indicated by the instrument identifier. The first set of conditions may be the same as the first set of conditions mentioned above. Specifically, the pause command may run and / or be implemented only on laboratory instruments that meet the first set of conditions. The pause command may include an instrument identifier. The instrument identifier may indicate which laboratory instrument or type of laboratory instrument is addressed by the pause command. Specifically, the instrument identifier is used to identify each laboratory instrument on which the pause command should be processed from a plurality of laboratory instruments managed by the computing device. Laboratory instruments do not process the pause command except for the laboratory instrument indicated by the instrument identifier. For example, the pause command may be configured to, when processed by a laboratory instrument, cause and / or instruct the laboratory instrument to block the installation of the software update on the laboratory instrument only if the laboratory instrument is indicated by the instrument identifier of the pause command or belongs to the type indicated by the instrument identifier. For example, a subgroup of laboratory instruments that only receive software updates may exhibit undesirable effects after the software update is installed, and / or only a certain type of instrument may be affected by the software update. To specifically target these laboratory instruments, instrument identifiers can be used. Therefore, instrument identifiers can be configured to indicate a subgroup of laboratory instruments that receive software updates and are expected to experience undesirable effects upon the installation of the software update.
[0052] An instrument identifier may contain information about a laboratory instrument that includes at least one of the following: software version, such as one or more versions of software currently running on the laboratory instrument, instrument version, instrument build number, and geographical location. These parameters can be used to identify laboratory instruments that may experience unintended effects from software updates and are therefore targeted by pause commands. For example, the first set of conditions may include the condition that the software version currently running on the laboratory instrument is one of the one or more versions. In this way, the laboratory instrument can be specifically targeted using the instrument identifier.
[0053] To inform users of laboratory instruments, the method may include configuring a pause command to cause the laboratory instrument to output an explanatory notification indicating that installation of a software update is currently blocked. Specifically, the explanatory notification is output whenever a user attempts to initiate the installation of a software update on the laboratory instrument. Specifically, it may be specified that when a pause command is applied to the laboratory instrument, the explanatory notification may be displayed on the laboratory instrument, indicating that installation of the software update is currently blocked. The explanatory notification is specifically output whenever a user attempts to initiate the installation of a software update on the laboratory instrument at a point in time within a time interval following a pause action performed by the laboratory instrument. Specifically, this time interval is before a resolution action has been performed by the laboratory instrument. Simultaneously, attempts by the user to initiate the installation of the software update may be blocked, prevented, or ignored to ensure that no software update is installed after the pause command reaches the laboratory instrument and before the laboratory instrument receives a resolution command. The explanatory notification informs the user that software updates cannot be installed until a resolution command has been received from the computing device. The explanatory notification may also be used if the resolution command permanently blocks the installation of software updates on the laboratory instrument through a corresponding resolution action. Therefore, a notification can be output after a resolution command has been run and / or implemented on the laboratory instrument, thereby permanently preventing the installation of software updates on the laboratory instrument. The notification can be output directly to the laboratory instrument's output device, such as a display, or it can be output to another device that the laboratory instrument's user can use to control the instrument, such as a computer or handheld device, like a smartphone.
[0054] The output instruction notification may include, for example, displaying the notification on a computer monitor. The output instruction notification may also include providing the notification to a user in a human-readable format, for example, using an output device of a laboratory instrument. For example, the instruction notification may be a window displayed on the computer monitor of the laboratory instrument. Specifically, the instruction notification may be a text file printed using a printer of the laboratory instrument. Exemplarily, the instruction notification may be an audio file played using one or more speakers of the laboratory instrument.
[0055] The method may further include having a computing device provide a message to the laboratory instrument and / or its user whenever a software update becomes available. The message may be displayed (e.g., output) to the user of the laboratory instrument, similar to an instructional notification, either on the laboratory instrument itself or on another device. By providing the message, the computing device can assist the user in keeping the laboratory instrument up-to-date and in optimal working condition.
[0056] The method may further include maintaining a state repository of the laboratory instrument on the computing device. The state repository may contain information about the laboratory instrument. This information may include at least the current software version installed on the laboratory instrument and the latest software version available for use with the laboratory instrument. Additional information about the laboratory instrument, such as the instrument version, instrument build number, geographical location, or other information, may also be included in the state repository. The state repository may contain a device twin or digital twin of the laboratory instrument. Any or all of a first log message, a second log message, or a third log message may be stored in the state repository or used to update the state repository. In this way, the state repository can always contain the current and latest state information of the laboratory instrument. Communication and / or data transfer between the computing device and the laboratory instrument can be implemented by each of the computing device and the laboratory instrument accessing and updating the state repository.
[0057] Another optional step of the method may be that a computing device receives (e.g., receives) an instruction from a user of the laboratory instrument regarding user input. The user input may be transmitted directly to the computing device, or the user input may trigger the generation of a message, which is then transmitted to the computing device. The user input may indicate whether the user wishes to install a software update on the laboratory instrument. The method may further include updating information about the laboratory instrument in the status repository based on the instruction. For example, the status repository may contain information specifying the current software version running on the laboratory instrument, currently available software versions, and the desired software version for the laboratory instrument. The desired software version is the software version that the user of the laboratory instrument expects to have on their instrument. This may be a different software version than the currently available software version, which may require software updates that the user does not wish to receive.
[0058] The second aspect of this disclosure relates to a computing device configured to implement the method according to the first aspect of this disclosure. Specifically, the computing device is a server, which, for example, provides cloud access to laboratory instruments. All the features, functionalities, and advantages of the methods described herein also apply to the computing device, and vice versa.
[0059] A third aspect of this disclosure relates to a computer program that, when executed by a computing device, instructs the computing device to perform the steps of the method according to a first aspect of this disclosure. All features, functions, and advantages of the methods or computing devices described herein also apply to the computer program, and vice versa.
[0060] A fourth aspect of this disclosure relates to a computer-implemented method. The method may be a method for managing at least one laboratory instrument and / or for managing software updates by at least one laboratory instrument. The method according to the fourth aspect of this disclosure includes: the laboratory instrument receiving (e.g., receiving) a pause command provided by a computing device, wherein the pause command is configured to cause and / or instruct the laboratory instrument to prevent the installation of a software update on the laboratory instrument when processed by the laboratory instrument; and the laboratory instrument receiving (e.g., receiving) a resolve command provided by the computing device, wherein the resolve command is configured to cause and / or instruct the laboratory instrument to perform a resolve action when processed by the laboratory instrument, the resolve action being one or more of the following: an action to allow the installation of the software update, an action to replace the software update with an updated version, and an action to permanently prevent the installation of the software update on the laboratory instrument. Receiving the pause command may include the laboratory instrument receiving the pause command. Receiving the resolve command may include the laboratory instrument receiving the resolve command. The method may include the laboratory instrument processing the pause command and / or resolve command provided by the computing device. Specifically, the method according to the fourth aspect of this disclosure corresponds to the method according to the first aspect of this disclosure, but the process is described from the perspective of a laboratory instrument. Therefore, all features, functions, and advantages described herein for methods performed by a computing device also apply to methods performed by a laboratory instrument, and vice versa. To avoid repetition, reference is made to other corresponding methods as described herein, and steps and aspects similar to those already described herein are not repeated. A command processed by a laboratory instrument may include accessing information contained in the command, interpreting the information, and, based on the information, causing a corresponding action to be performed. If the command contains computer-executable instructions, then the command processed by the laboratory instrument may include executing those instructions. Specifically, a pause command processed by a laboratory instrument may include determining whether each condition in the first set of conditions is satisfied using at least a portion of the information contained in the command, and, if affirmative, causing a pause action to be performed. A resolve command processed by a laboratory instrument may include determining whether each condition in the second set of conditions is satisfied using at least a portion of the information contained in the command, and, if affirmative, causing a resolve action to be performed. Processing may include any combination of decoding, translating, running, and implementing.
[0061] The method may include obtaining a software update from a computing device by a laboratory instrument. For example, the laboratory instrument may download the software update from the computing device, such as from a cloud service provided by the computing device. The method according to a fourth aspect of the invention may include storing the software update in the laboratory instrument's memory or storage device. The laboratory instrument may download the software update and store it locally in memory without immediately installing it. For example, during the time interval between obtaining and installing the software update, the laboratory instrument may receive and / or process a pause command from the computing device, thereby preventing potentially undesirable effects of the software update on the laboratory instrument. After obtaining (e.g., receiving) a resolution command, the method may include performing a resolution action in response to obtaining and / or based on the resolution command. Specifically, the method may include installing the software update on the laboratory instrument, replacing the software update with an updated version, or permanently preventing the installation of the software update on the laboratory instrument based on the resolution command. Which of these solutions to implement may be indicated in the resolution command.
[0062] The method may include the laboratory instrument determining whether a first set of conditions is met; and when each condition in the first set is met, the laboratory instrument processing the pause command provided by the computing device. For example, the laboratory instrument may check whether the first set of conditions is met. Further processing of the pause command may then depend on whether this check is positive, i.e., whether the first set of conditions is met. In this way, the correct sequence of events can be guaranteed, and the installation of software updates will only be stopped on laboratory instruments that may be undesirably affected.
[0063] The first set of conditions may include one or more conditions. For example, the first set of conditions may include the condition that the software update has not yet been installed on the laboratory instrument. This can prevent errors from occurring when processing a pause command to attempt to prevent the installation of an already installed software update. The first set of conditions may additionally or alternatively include the condition that the software update has been obtained (e.g., downloaded) by the laboratory instrument. This can prevent errors from occurring when processing a pause command to attempt to prevent the installation of a software update that has not yet been obtained.
[0064] The method may include obtaining an instrument identifier from the computing device by the laboratory instrument, wherein the instrument identifier indicates which laboratory instrument or type of laboratory instrument was addressed by the pause command, and wherein the first set of conditions includes conditions that the laboratory instrument is indicated by the instrument identifier or belongs to the type indicated by the instrument identifier. As explained above, the instrument identifier may be included in the pause command. Also as explained herein, the instrument identifier may include information specifying at least one of the following for the laboratory instrument: software version, instrument version, instrument build number, and geographical location. The first set of conditions may also include at least one of the following for the laboratory instrument as conditions: software version, instrument version, instrument build number, and geographical location, meaning that the corresponding aspect of the laboratory instrument must resemble the aspect indicated by the conditions for the conditions to be met.
[0065] The method may further include the laboratory instrument determining whether a second set of conditions is met; and when each condition in the second set of conditions is met, the laboratory instrument processing the solution command provided by the computing device. For example, the laboratory instrument may check whether the second set of conditions is met. Further processing of the solution command may then depend on whether this check is affirmative, i.e., whether the second set of conditions is met.
[0066] The second set of conditions may include one or more conditions. For example, the second set of conditions may include one or more of the following: a condition that at least temporarily prevents the installation of the software update, and a condition that the software update has not yet been installed on the laboratory instrument. Specifically, the second set of conditions may include a condition that a pause command has been processed and / or has taken effect on the laboratory instrument.
[0067] On the laboratory instrument side, the method may include generating a first log message on the laboratory instrument, wherein the first log message indicates that the laboratory instrument successfully or unsuccessfully received and / or downloaded the software update. The method may further include generating a second log message on the laboratory instrument, wherein the second log message indicates that the installation of the software update on the laboratory instrument was successfully or unsuccessfully prevented. The method may further include generating a third log message on the laboratory instrument, wherein the third log message indicates whether the resolving action has been successful or not. Specifically, the third log message may indicate the following on the laboratory instrument: a) successful or unsuccessful installation of the software update, b) successful or unsuccessful replacement of the software update, or c) successful or unsuccessful permanent prevention of the software update installation.
[0068] The laboratory instrument can be configured to provide (e.g., transmit and / or send) a first log message and / or a second log message and / or a third log message to a computing device. Alternatively or additionally, the method may further include providing, for example, the first log message and / or the second log message and / or the third log message to the computing device. Specifically, the log messages can be proactively pushed from the laboratory instrument to the computing device, and are proactively pushed to the computing device by the laboratory instrument. Alternatively, the log messages can also be provided to the computing device by the laboratory instrument. In this case, the computing device can be configured to periodically check the log messages on the laboratory instrument.
[0069] In the event that any of the first, second, and third log messages indicates an unsuccessful process, the laboratory apparatus can be configured to notify the provider of the computing device and / or the user of the laboratory instrument. This can be achieved, for example, by providing and / or outputting an error message. To allow for a more detailed description of the problem, the notification may include information specifying why the corresponding process failed. The notification may be transmitted or sent to the computing device. The notification focuses on the laboratory instrument experiencing a certain failure of the method disclosed in this invention, which is therefore particularly prone to errors and potential downtime. Thus, the notification serves to ensure the correct performance of the method and enables the user to intervene if necessary. Specifically, the first log message indicates an unsuccessful process when the first log message indicates that the laboratory instrument has failed to receive and / or download a software update. Exemplarily, the second log message indicates an unsuccessful process when the second log message indicates that the installation of a software update on the laboratory instrument has been unsuccessfully prevented. For example, the third log message indicates an unsuccessful process when a remedial action has been performed unsuccessfully, i.e., indicating unsuccessful installation, alternative, or permanent prevention of the installation of a software update on the laboratory instrument, depending on the remedial action.
[0070] The method according to the fourth aspect of this disclosure may include a scheduling and / or initiation command obtained by the laboratory instrument (e.g., receiving) for obtaining a software update from a computing device. The method may further include a scheduling and / or initiation command obtained by the laboratory instrument (e.g., receiving) for resolving an action. Specifically, the scheduling and / or initiation command may be used to obtain a software update from a computing device or from a user of the laboratory instrument, install a software update, replace a software update, or permanently block the installation of a software update. Exemplarily, the method may further include a scheduling and / or initiation command obtained by the laboratory instrument (e.g., receiving) for pausing an action. While these steps can therefore be controlled by the computing device, a user of the laboratory instrument may also control the steps, i.e., schedule and / or initiate the steps.
[0071] For example, a resolve command may contain a schedule and / or start command for a resolve action. Similarly, a pause command may contain a schedule and / or start command for a resolve action.
[0072] The method may further include the laboratory instrument outputting (e.g., displaying) an explanatory notification in response to a user-initiated attempt to install the software update, the explanatory notification indicating that the installation of the software update is currently blocked. As discussed above, the explanatory notification can be output whenever a user attempts to initiate the installation of the software update on the laboratory instrument. Specifically, the explanatory notification is output whenever a user attempts to initiate the installation of the software update on the laboratory instrument at a point in time within a time interval following a pause action performed by the laboratory instrument. Specifically, this time interval is before a resolution action has been performed by the laboratory instrument. Furthermore, in this case, the method according to the fourth aspect of the invention may include blocking, preventing, or ignoring the user's attempt to initiate the installation of the software update, for example, to ensure that no software update is installed after a pause command arrives at the laboratory instrument and before a resolution command is received by the laboratory instrument.
[0073] The method according to a fourth aspect of the invention may include a laboratory instrument receiving (e.g., receiving) a message from a computing device indicating that a software update is available for the laboratory instrument. The message may be output to (e.g., displayed to) a user of the laboratory instrument, or the message may be used to trigger the laboratory instrument to obtain a software update, such as downloading a software update from a computing device.
[0074] The method may further include: the laboratory instrument obtaining information from a state repository of the laboratory instrument stored on the computing device; and the laboratory instrument obtaining the software update from the computing device when the information from the state repository indicates that the software update version is available for the laboratory instrument. Specifically, the method may include: the laboratory instrument downloading the software update from the computing device when information about the laboratory instrument stored in the state repository indicates that an updated software version is available for the laboratory instrument. To determine whether a software update is available for the laboratory instrument, a comparison can be made between the current software version installed on the laboratory instrument and the available software versions on the computing device and / or the desired software version of the laboratory instrument.
[0075] The method may further include updating the information about the laboratory instrument stored in the status repository with update information, the update information including the current software version installed on the laboratory instrument and / or the desired software version as indicated by the user of the laboratory instrument.
[0076] The fifth aspect of this disclosure relates to a laboratory instrument running a software application configured to implement the method according to the fourth aspect of this disclosure. All the features, functionalities, and advantages of the method described herein also apply to the laboratory instrument, and vice versa.
[0077] A sixth aspect of this disclosure relates to a computer program that, when executed by a laboratory instrument, instructs the instrument to perform the steps of the method according to a fourth aspect of this disclosure. All features, functions, and advantages of the methods or laboratory instruments described herein also apply to the computer program, and vice versa.
[0078] Another aspect of this disclosure relates to a computer-readable medium, such as a non-volatile computer-readable medium, on which one or more computer programs according to the description herein are stored. All features, functionalities, and advantages of the computer programs or methods described herein also apply to the computer-readable medium, and vice versa.
[0079] Another aspect of this disclosure relates to a laboratory instrument service system comprising at least one computing device and at least one laboratory instrument, such as the computing device and / or laboratory instrument described herein, providing cloud services, wherein the service system is configured to implement any of the methods described herein. All features, functions, and advantages of the computing device, laboratory instrument, or method described herein also apply to the laboratory instrument service system, and vice versa. Attached Figure Description
[0080] The accompanying drawings described herein are for illustrative purposes only and not for all possible embodiments, and are not intended to limit the scope of this disclosure.
[0081] Figure 1 A schematic diagram of a laboratory instrument service system is shown.
[0082] Figure 2 A flowchart of a method of the present disclosure, which can be executed by a computing device, is shown.
[0083] Figure 3 A flowchart of the method of this disclosure, which can be performed by laboratory instruments, is shown. Detailed Implementation
[0084] Exemplary embodiments according to this disclosure will now be described more fully with reference to the accompanying drawings.
[0085] Exemplary embodiments are provided so that this disclosure will be thorough and will fully communicate the scope of this disclosure to those skilled in the art. Numerous examples of specific details, such as specific components, apparatuses, and methods, are described to provide a thorough understanding of embodiments of this disclosure. It will be apparent to those skilled in the art that exemplary embodiments may be implemented in many different forms without specific details and should not be construed as limiting the scope of this disclosure. In some exemplary embodiments, well-known methods, well-known apparatus structures, and well-known techniques will not be described in detail.
[0086] Figure 1 A schematic illustration of a laboratory instrument service system 36 is shown. System 36 or components thereof can be used to perform one or more of the methods of this disclosure. The laboratory instrument service system 36 may include at least one laboratory instrument 1 and at least one computing device 2. The laboratory instrument 1 may be arranged remotely from the computing device 2 and may be, for example, arranged in a laboratory, and may be used for medical, chemical and / or biochemical testing, such as for semi-automatic or automatic testing of large numbers of samples. The laboratory instrument 1 may include: a controller 4, which may be or may include a processing unit, such as a CPU, MCU, etc.; and a storage device 5, such as a data storage device or memory. Specifically, the laboratory instrument 1, such as its controller 4, is configured to perform the methods according to the fourth aspect of this disclosure. The computing device 2 may provide an online service or cloud service 3, through which a data connection 6 can be established between the at least one computing device 2 and the at least one laboratory instrument 1. The data connection 6 may be, for example, an Internet connection, and may enable the transfer of data from the computing device 2 to the laboratory instrument 1 and / or from the laboratory instrument 1 to the computing device 2. Although Figure 1 Only one laboratory instrument 1 is shown, but the computing device 2 can be communicatively coupled to and / or data-connected to multiple laboratory instruments 1. Specifically, the computing device is configured to perform the method according to the first aspect of this disclosure. Thus, specifically, the computing device 2 can be used to manage software updates for multiple laboratory instruments 1.
[0087] To perform the tasks of laboratory instrument 1 in the laboratory, laboratory instrument 1 may, for example, run a software application on controller 4. The computer program or computer program code of the software application may be stored in storage device 5. To maintain an overview of the state of laboratory instrument 1, and especially of the state of all laboratory instruments 1 managed by computing device 2, computing device 2 may maintain a state repository 35, which may be part of cloud service 3. State repository 35 may contain device twins or digital twins of the corresponding laboratory instrument 1. Thus, for example, state repository 35 may contain information about the currently running software version on laboratory instrument 1. State repository 35 may also contain information about whether updated versions of the software are available for the corresponding laboratory instrument 1.
[0088] From time to time, it may be expected and / or necessary to update the software running on laboratory instrument 1. For this purpose, as will be outlined in more detail below, software updates can be provided to laboratory instrument 1 on computing device 2. Software updates can be provided (e.g., transferred) to laboratory instrument 1 via data connection 6. It can be stored in storage device 5. Since the work schedule of laboratory instrument 1 is typically very demanding, and since the actual installation of software updates may result in temporary downtime of laboratory instrument 1, software updates can be stored on laboratory instrument 1 without immediate installation. Typically, the actual installation of software updates can be scheduled at the moment when the pause in the workflow of laboratory instrument 1 is most suitable for its operation and / or for the users of laboratory instrument 1. Therefore, software updates applicable to multiple laboratory instruments 1 may not be installed simultaneously on all eligible laboratory instruments 1. In fact, there may be considerable time intervals between the installation of software updates on different laboratory instruments 1, for example, days, weeks, or months. If an undesirable effect occurs after a software update is installed on laboratory instrument 1, information about the occurrence of the undesirable effect can therefore be obtained before the software update has been installed on all laboratory instruments 1 managed by computing device 2. Therefore, it may be advantageous to stop the installation of software updates on laboratory instrument 1 until a solution to the problem is found. However, since multiple laboratory instruments 1 may have already obtained and / or stored software updates, it is insufficient to simply stop providing software updates on computing device 2 even though the software updates have not been installed.
[0089] To address this issue, the following was provided: Figure 2Method 7. Method 7 can be performed by computing device 2 and / or laboratory instrument service system 36. Method 7 can begin by providing a pause command 10. The pause command can be provided by computing device 2, for example, via cloud service 3, and can be provided (e.g., distributed / transmitted) to laboratory instrument 1, for example, by sending the pause command from computing device 2 to laboratory instrument 1 or by downloading the pause command from computing device 2 to laboratory instrument 1. For example, the pause command can be sent to all laboratory instruments 1 whose software updates are managed by computing device 2 in a broadcast manner. Laboratory instrument 1 can receive the pause command, and the pause command may have the effect of at least temporarily preventing the installation of the software update for laboratory instrument 1. To this end, laboratory instrument 1 can process the pause command, which can enable and / or instruct laboratory instrument 1 to implement the effect of the pause command. The pause command may contain an instrument identifier indicating which laboratory instruments 1 are eligible to perform the pause command. The laboratory instrument 1 receiving the pause command can check the instrument identifier, and only the eligible laboratory instrument 1 can implement the effect of the pause command. As an alternative to indefinitely postponing the installation of software updates, a pause command can also include a period for which the installation of the software update is blocked, such as one or more days, one or more weeks, or one or more months. Therefore, solutions to potential problems can be found within this period. By providing this pause command, the installation of the software update on laboratory instrument 1 can be blocked at least temporarily, thus mitigating undesirable impacts.
[0090] Method 7 can continue by providing a resolving command 12. The resolving command is provided (e.g., distributed / transmitted (e.g., broadcast)) to laboratory instrument 1 in a manner similar to a pause command. The resolving command is configured to cause and / or instruct laboratory instrument 1 to perform a resolving action when processed by laboratory instrument 1. Specifically, the resolving action is one of the following: (i) an action that allows the installation of a software update, (ii) an action that replaces the software update with an updated version, and (iii) an action that permanently blocks the installation of a software update on laboratory instrument 1. Specifically, depending on whether the software update is actually likely to cause a problem leading to undesirable effects, or depending on how the problem can be resolved, the resolving command can be configured to have different effects. Specifically, the resolving command can cause and / or instruct laboratory instrument 1 to allow the installation of the software update. This can be advantageous, for example, when it has been determined that there are actually no undesirable effects, for example, at least for the specific laboratory instrument 1 that the resolving command can target, or when the undesirable effects are determined to be negligible, or when the desired effects of the software update are sufficient to outweigh the undesirable effects. Alternatively, the resolving command can cause and / or instruct laboratory instrument 1 to replace the software update with an updated version. Specifically, an updated version of the software update can be provided on computing device 2, and laboratory instrument 1 can be instructed to obtain and install the updated version instead of the original software update. Alternatively, a remediation command can cause and / or instruct laboratory instrument 1 to permanently prevent the installation of the software update on laboratory instrument 1. In this case, specifically, it may have been determined that the optimal course of action is to at least temporarily maintain the current software version as already installed on laboratory instrument 1. It should be noted that by remediation command, computing device 2 enables laboratory instrument 1 to allow or replace the software update installation, or permanently prevent the installation of the software update. While the actual installation, replacement, or permanent prevention of the software update installation is implemented on laboratory instrument 1, the remediation command may contain corresponding instructions enabling laboratory instrument 1 to do so. By enabling computing device 2 to provide a remediation command (and also a pause command), computing device 2 can therefore perform all the steps of method 7 itself, from its perspective. By taking the described measures, undesirable effects of software updates on multiple laboratory instruments 1 can be prevented, thereby maintaining uninterrupted workflow and preventing unnecessary downtime.
[0091] In addition to steps 10 and 12 described above, method 7 may include one or more additional optional steps, each optional step being... Figure 2The corresponding boxes with dashed lines are schematically shown. For example, prior to step 10, method 7 may include providing a software update 8 on computing device 2. For example, the software update may be transmitted to laboratory instrument 1 via cloud service 3, either by actively sending the software update to laboratory instrument 1 or by laboratory instrument 1 accessing cloud service 3 and downloading the software update. Therefore, providing the software update 8 may include actively sending the software update to laboratory instrument 1 or making the software update available for download by laboratory instrument 1. In the absence of optional step 8, the software update may be provided to laboratory instrument 1 by other means, such as by providing the software update on a computer-readable medium.
[0092] As an optional step preceding step 10, method 7 may include an indication obtained by computing device 2 after installation (e.g., received) regarding the potential undesirable impact 9 of a software update on laboratory instrument 1. The software update relating to this undesirable impact indication may be the one provided by computing device 2 in step 8. This indication received in step 9 can be used to trigger computing device 2 to provide a pause command in step 10. In the absence of optional step 9, the pause command in step 10 can be triggered by other means, such as manually.
[0093] Between steps 10 and 12, method 7 may include instructions obtained by computing device 2 (e.g., received) regarding a potential problem of undesirable effects 11 of a software update on laboratory instrument 1. For example, it may have been determined that the undesirable effects are nonexistent or negligible, or that an updated version of the software update can be provided, or that the optimal course of action is to permanently prevent the installation of the software update. Therefore, the instructions regarding the solution can serve as a trigger for computing device 2 to provide a solution command in step 12. In the absence of an optional step 11, the provision of the solution command in step 12 may be triggered by other means, such as manually.
[0094] Following step 8, method 7 may include receiving a first log message 16 by computing device 2. The first log message may be provided by laboratory instrument 1 and may indicate whether a software update was successfully obtained by laboratory instrument 1. Computing device 2 may use the received first log message and its contents to update the state repository 35.
[0095] Following step 10, method 7 may include receiving a second log message 17 by computing device 2. The second log message may be provided by laboratory instrument 1 and may indicate whether the installation of the software update was at least temporarily successfully prevented by the pause command. The computing device 2 may use the received second log message and its contents to update the state repository 35.
[0096] Following step 12, method 7 may include receiving a third log message 18 from the computing device 2. The third log message may be provided by the laboratory instrument 1 and may indicate whether the software update installation was successfully completed, whether the software update was successfully replaced by an updated version, or whether the installation of the software update was successfully and permanently blocked. The computing device 2 may use the received third log message and its contents to update the status repository 35.
[0097] Figure 3 The diagram illustrates an additional or alternative method 22 for addressing the aforementioned problem. Method 22 can be performed by laboratory instrument 1 and / or laboratory instrument service system 36. Typically, method 22 can supplement method 7, performed by computing device 2, from one side of laboratory instrument 1. Both method 7 and method 22 can be performed together by laboratory instrument service system 36. Therefore, many features of method 22 can be similar to or complementary to features of method 7. Thus, the features of the steps of method 7 are similarly applicable to method 22, and vice versa.
[0098] Method 22 may begin by obtaining (e.g., receiving) a pause command 26. The pause command may be received by laboratory instrument 1, for example, from computing device 2, for example, via cloud service 3. For example, laboratory instrument 1 may receive a pause command sent to laboratory instrument 1 by computing device 2, or laboratory instrument 1 may download a pause command from computing device 2, for example, from cloud service 3. The processing and effects of the pause command on the laboratory instrument 1 side have already been described, so refer to these previous descriptions to avoid repetition.
[0099] Method 22 can continue by obtaining (e.g., receiving) a resolution command 28. The resolution command is distributed / transmitted (e.g., broadcast) to laboratory instrument 1 in a manner similar to a pause command. The resolution command is configured to cause and / or instruct laboratory instrument 1 to perform a resolution action 39 when processed by laboratory instrument 1. Specifically, the resolution action is one of the following: (i) an action that allows the installation of a software update, (ii) an action that replaces the software update with an updated version, and (iii) an action that permanently blocks the installation of a software update on laboratory instrument 1. At step 39, laboratory instrument 1 performs the resolution action. Thus, the resolution command can be configured to have different effects at laboratory instrument 1. Specifically, laboratory instrument 1 may perform the action that allows the installation of a software update in response to receiving a resolution command. Alternatively, laboratory instrument 1 may perform the action that replaces the software update with an updated version in response to receiving a resolution command. In another alternative, laboratory instrument 1 may perform the action that blocks the installation of a software update in response to receiving a resolution command. It should be noted that the resolution command instructs and / or causes laboratory instrument 1 to allow or replace the software update, or permanently block the installation of a software update. Although the commands, namely the pause command and the resolve command, originate from outside the laboratory instrument, the installation, replacement, or permanent blocking of the software update is implemented on laboratory instrument 1 itself. From the perspective of laboratory instrument 1, laboratory instrument 1 can therefore execute all the steps of method 22 itself in response to receiving the corresponding command.
[0100] In addition to steps 26, 28, and 39 described above, method 22 may include one or more additional optional steps, each optional step being... Figure 3 The corresponding boxes with dashed lines are shown schematically. For example, prior to step 26, method 22 may include obtaining a software update 23 on laboratory instrument 1. The details of step 8 of method 7 have been outlined above and can be referenced thereto.
[0101] As an optional step preceding step 26, method 22 may include storing the software update 24 on laboratory instrument 1, for example, in storage device 5. Laboratory instrument 1 may store the software update, such as the program code required to update software running on laboratory instrument 1, without immediately installing the software update. Instead, the software update can be scheduled for installation later at a time conveniently suited to the work schedule of the operator of laboratory instrument 1. A considerable period of time may pass between downloading and installing the software update, for example, days, weeks, or months.
[0102] Optionally, method 22 may include, for example, obtaining (e.g., receiving) a scheduling command or start command 25 from laboratory instrument 1, wherein the scheduling command or start command may be obtained from computing device 2. The scheduling command or start command may contain instructions regarding when to install the software update on laboratory instrument 1. For example, the scheduling command or start command may contain a time period after or at a point in time during which the installation of the software update on laboratory instrument 1 is forced.
[0103] Following step 26, where the pause command is received by laboratory instrument 1, method 22 may include generating an explanatory notification in response to a user of laboratory instrument 1 attempting to install a software update 27. Step 27 may include outputting (e.g., displaying) the explanatory notification, which informs the user that a pause command related to a software update has been received by laboratory instrument 1, and therefore currently blocks the installation of the software update by laboratory instrument 1. Specifically, the explanatory notification is output (e.g., displayed) whenever the user attempts to install a software update. Exemplarily, the explanatory notification is specifically output whenever the user attempts to initiate the installation of the software update by laboratory instrument 1 at a point in time within a time interval following a pause action performed by laboratory instrument 1. Specifically, this time interval precedes a resolution action performed by laboratory instrument 1. Alternatively, the user may be given the option to override the pause command if they decide to accept or ignore the possibility of undesirable effects caused by the software update.
[0104] Following step 23, method 22 may include the generation of a first log message 32 by laboratory instrument 1. The first log message may be provided by laboratory instrument 1 and may be sent to computing device 2. It may indicate whether laboratory instrument 1 has successfully received a software update.
[0105] Following step 26, method 22 may include the generation of a second log message 33 by laboratory instrument 1. The second log message may be provided by laboratory instrument 1 and may be sent to computing device 2. It may indicate whether the suspension command has at least temporarily successfully prevented the installation of the software update.
[0106] Following step 39, method 22 may include the generation of a third log message 34 by laboratory instrument 1. The third log message may be provided by laboratory instrument 1 and may be sent to computing device 2. It may indicate whether a resolution action has been successfully performed. Specifically, depending on the resolution action, the third log message may indicate: (i) whether the software update installation was successfully completed, (ii) whether the software update was successfully replaced by an updated version, or (iii) whether the installation of the software update was successfully and permanently blocked.
[0107] Furthermore, methods 7 and 22 may include notifying the user of information containing any one of the first, second, and third log messages. In the case of method 22, this can be performed after one of the first, second, and / or third log messages is generated at laboratory instrument 1. In the case of method 7, this can be performed after one of these log messages is received at computing device 2. The user may be a user of computing device 2, such as an employee of the manufacturer of laboratory instrument 1 providing the software update, or a user or operator of laboratory instrument 1. Therefore, the user can be informed whether the software update was successfully obtained by laboratory instrument 1, whether the pause command successfully prevented the installation of the software update at least temporarily, and whether the remedial action was successfully performed.
[0108] Information carried in the first log message, the second log message, and / or the third log message can also be used to update the state repository 35. In this way, the device twin or digital twin of laboratory instrument 1 stored in the state repository 35 always contains up-to-date information about the state of laboratory instrument 1, which allows the computing device 2 to effectively manage laboratory instrument 1.
[0109] Prior to any of the steps explained above, methods 7 and 22 may include receiving an instruction regarding user input (e.g., user input by a user of laboratory instrument 1). For example, the instruction may be received at the very beginning of methods 7 and 22. The user input may be received by laboratory instrument 1 and / or computing device 2. The user input may, for example, be transmitted from laboratory instrument 1 to computing device 2. Alternatively, the user input may trigger the generation of a message, which is then sent to computing device 2. In both cases, computing device 2 receives the instruction regarding the user input. The user input may contain information about whether the user wishes to install or receive a software update on laboratory instrument 1. In this way, for example, the user input may define whether laboratory instrument 1 is eligible for a software update. If the user does not wish to receive a software update, this information may be stored in a status repository 35, such that the software update is not even transmitted to laboratory instrument 1 (e.g., downloaded by said laboratory instrument).
[0110] In summary, this disclosure provides systems and methods to advantageously prevent undesirable effects of software updates on multiple laboratory instruments 1 managed by a computing device 2. In this way, unnecessary downtime can be prevented and the operational efficiency of the laboratory instruments 1 can be improved.
Claims
1. A computer-implemented method comprising: - A pause command is provided by a computing device to at least one laboratory instrument, the laboratory instrument being communicatively coupled to the computing device, wherein the pause command is configured to, when processed by the laboratory instrument, cause and / or instruct the laboratory instrument to at least temporarily block the installation of software updates on the laboratory instrument; and - The computing device provides a resolution command to the at least one laboratory instrument, wherein the resolution command is configured to cause and / or instruct the laboratory instrument to perform a resolution action when processed by the laboratory instrument, the resolution action being one of: allowing the installation of the software update, replacing the software update with an updated version, and permanently preventing the installation of the software update on the laboratory instrument.
2. The method according to claim 1, further comprising: The software update is obtained by the computing device for download to the laboratory instrument, and in particular, the computing device provides the software update to the laboratory instrument.
3. The method according to any one of the preceding claims, wherein providing the pause command comprises transmitting and / or sending the pause command from the computing device to the laboratory instrument; and / or Providing the solution command includes transmitting and / or sending the solution command from the computing device to the laboratory instrument.
4. The method according to any one of the preceding claims, further comprising, before providing the pause command: The computing device provides an indication that the software update may have undesirable effects when installed by the laboratory instrument. Optionally, the method further includes, prior to providing the resolution command: The computing device obtains an indication that the undesired effect does not exist or an indication of a solution to the undesired effect by one of the following: replacing the software update with an updated version, or permanently preventing the installation of the software update on the laboratory instrument.
5. The method according to any one of the preceding claims, wherein the installation of the software update is at least temporarily blocked only if each of the conditions in the first set of conditions is met, wherein the first set of conditions includes the condition that the software update has not yet been installed on the laboratory instrument.
6. The method according to any one of the preceding claims, further comprising: The computing device provides an instrument identifier to the laboratory instrument, wherein the instrument identifier indicates which laboratory instrument or type of laboratory instrument was addressed by the pause command, and the installation of the software update is at least temporarily blocked only if each of the conditions in the first set of conditions is met. The first set of conditions includes conditions that the laboratory instrument is indicated by the instrument identifier or belongs to the type indicated by the instrument identifier.
7. The method according to the preceding claim, wherein The instrument identifier contains information indicating at least one of the following: software version, instrument version, instrument build number, and geographical location of the laboratory instrument.
8. The method according to any one of the preceding claims, The resolving action is performed only if each of the conditions in the second set of conditions is met, wherein the second set of conditions includes one or more of the following: a condition that at least temporarily prevents the installation of the software update, and a condition that the software update has not yet been installed on the laboratory instrument.
9. The method according to any one of the preceding claims, further comprising: The computing device obtains a first log message provided by the laboratory instrument, wherein the first log message indicates whether the software update was successfully or unsuccessfully downloaded at the laboratory instrument.
10. The method according to any one of the preceding claims, further comprising: The computing device obtains a second log message provided by the laboratory instrument, wherein the second log message indicates whether the installation of the software update was successfully or unsuccessfully prevented.
11. The method according to any one of the preceding claims, further comprising: The computing device obtains a third log message provided by the laboratory instrument, wherein the third log message indicates whether the execution of the resolving action has been successful or not.
12. The method according to any one of the preceding claims, further comprising one or more of the following: The computing device enables the laboratory instruments to receive the software update; and The computing device enables the laboratory instrument to obtain the updated version.
13. The method according to any one of the preceding claims, further comprising one or more of the following: The software update is remotely scheduled by the computing device and obtained from the laboratory instruments; and The updated version is obtained by the laboratory instruments through remote scheduling by the computing device.
14. The method according to any one of the preceding claims, wherein the pause command is configured to output a description notification to the laboratory instrument, the description notification indicating that the installation of the software update is currently blocked, wherein the description notification is optionally output whenever a user attempts to initiate the installation of the software update on the laboratory instrument.
15. The method according to any one of the preceding claims, further comprising: Whenever a software update becomes available for the laboratory instrument, the computing device provides a message to the laboratory instrument and / or its user.
16. The method according to any one of the preceding claims, further comprising: A status repository for the laboratory instrument is maintained on the computing device, wherein the status repository contains information about the laboratory instrument, wherein the information about the laboratory instrument includes at least information indicating the current software version installed on the laboratory instrument, and information indicating the latest software version that can be used for the laboratory instrument.
17. The method according to the preceding claim, further comprising: The computing device obtains a user input from a user of the laboratory instrument, the user input indicating whether the user wishes to install the software update on the laboratory instrument; and updates the information about the laboratory instrument in the status repository based on the instruction.
18. A computer-implemented method comprising: - A pause command is received by a laboratory instrument from a computing device, the computing device being communicatively coupled to the laboratory instrument, wherein the pause command is configured to, when processed by the laboratory instrument, cause and / or instruct the laboratory instrument to block the installation of software updates on the laboratory instrument; and - The laboratory instrument receives a resolution command provided by the computing device, wherein the resolution command is configured to cause and / or instruct the laboratory instrument to perform a resolution action when processed by the laboratory instrument, the resolution action being one of the following: an action to allow the installation of the software update, an action to replace the software update with an updated version, and an action to permanently prevent the installation of the software update on the laboratory instrument.
19. The method according to the preceding claim, further comprising one or more of the following: - The software update is obtained from the computing device by the laboratory instrument; - The software update is stored in the memory of the laboratory instrument by the laboratory instrument; - In response to obtaining the resolution command and based on the resolution command, perform the resolution action.
20. The method according to any one of claims 18 to 19, further comprising processing the pause command provided by the computing device by the laboratory instrument.
21. The method according to any one of claims 18 to 20, further comprising: Whether the first set of conditions is met is determined by the laboratory instruments mentioned above; And when each of the conditions in the first set is met, the laboratory instrument processes the pause command provided by the computing device.
22. The method according to the preceding claim, wherein the first set of conditions includes the condition that the software update has not yet been installed on the laboratory instrument.
23. The method according to any one of claims 21 to 22, further comprising: The laboratory instrument obtains an instrument identifier from the computing device, wherein the instrument identifier indicates which laboratory instrument or type of laboratory instrument was addressed by the pause command, and wherein the first set of conditions includes conditions that the laboratory instrument is indicated by the instrument identifier or belongs to the type indicated by the instrument identifier.
24. The method according to the preceding claim, wherein the instrument identifier includes information specifying at least one of the following: software version, instrument version, instrument build number, and geographical location of the laboratory instrument.
25. The method according to any one of claims 18 to 24, further comprising: The laboratory instruments will determine whether the second set of conditions is met; And when each of the conditions in the second set is met, the laboratory instrument processes the solution command provided by the computing device.
26. The method according to the preceding claim, wherein the second set of conditions includes one or more of the following: conditions that at least temporarily prevent the installation of the software update, and conditions that the software update has not yet been installed on the laboratory instrument.
27. The method according to any one of claims 18 to 26, further comprising: A first log message is generated on the laboratory instrument, wherein the first log message indicates whether the laboratory instrument successfully or unsuccessfully received and / or downloaded the software update.
28. The method according to any one of claims 18 to 26, further comprising: A second log message is generated on the laboratory instrument, wherein the second log message indicates whether the installation of the software update on the laboratory instrument was successfully or unsuccessfully prevented.
29. The method according to any one of claims 18 to 28, further comprising: A third log message is generated on the laboratory instrument, wherein the third log message indicates whether the resolution action has been successful or not.
30. The method according to any one of claims 18 to 29, further comprising one or more of the following: The laboratory instruments obtain scheduling and / or startup commands for the software obtained from the computing device; The laboratory instrument obtains the updated scheduling and / or start command from the computing device.
31. The method according to any one of claims 18 to 30, further comprising: The laboratory instrument outputs a notification indicating that the installation of the software update is currently blocked in response to a user-initiated attempt to install the software update.
32. The method according to any one of claims 18 to 31, further comprising: The laboratory instrument receives a message from the computing device indicating that the software update can be used by the laboratory instrument.
33. The method according to any one of claims 18 to 32, further comprising: Information is obtained by the laboratory instrument from its state repository stored on the computing device, and When information from the status repository of the laboratory instrument indicates that the software update version is available for use with the laboratory instrument, the laboratory instrument obtains the software update from the computing device.
34. The method according to the preceding claim, further comprising: The information about the laboratory instrument stored in the status repository is updated with update information, which includes the current software version installed on the laboratory instrument.
35. A computing device, particularly a server, configured to implement the method according to any one of claims 1 to 17.
36. A computer program, when executed by a computing device, instructs the computing device to perform the steps of the method according to any one of claims 1 to 17.
37. A laboratory instrument running a software application, the laboratory instrument being configured to implement the method according to any one of claims 18 to 34.
38. A computer program that, when executed by a laboratory instrument, instructs the laboratory instrument to perform the steps of the method according to any one of claims 18 to 34.
39. A computer-readable medium having stored thereon a computer program according to claim 36 and one or more of the computer programs according to claim 38.
40. A laboratory instrument service system comprising at least one computing device and at least one laboratory instrument providing cloud services, wherein the service system is configured to implement the method according to any one of claims 1 to 17 and / or the method according to any one of claims 18 to 34.