Preventive maintenance method for a computer peripheral device

EP4612579A1Pending Publication Date: 2025-09-10BANKS & ACQUIRERS INT HLDG SAS
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
EP2023798819
Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-11-03
Filing Date
2023-11-03
Publication Date
2025-09-10

AI Technical Summary

Technical Problem

Current predictive maintenance for computer peripherals, such as payment terminals, is inefficient due to arbitrary alerts and difficulty in determining relevant thresholds, leading to unnecessary or insufficient maintenance operations, which are costly and inconvenient.

Method used

A method using artificial immune algorithms and random forest algorithms to filter and analyze data from payment terminals, identifying fault profiles and risky components, thereby optimizing maintenance by reducing unnecessary alerts and enabling proactive maintenance.

Benefits of technology

This approach allows for precise and timely identification of potential malfunctions, reducing unnecessary maintenance and improving the efficiency of maintenance operations by processing large data sets quickly and accurately, thus minimizing downtime and costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 1.1
    Figure 1.1
Patent Text Reader

Abstract

The invention relates to a method (100) for detecting the risk of malfunction of a computer peripheral device, wherein computing means perform the steps of: - obtaining (120) data relating to a current state of a computer peripheral device; - filtering (130) the obtained data in such a way as to retain only some of these data, the retained data forming filtered data; - applying (140) a negative-selection artificial immune algorithm to the filtered data so as to distinguish data forming a fault profile from data forming a normal operating profile; - applying (150) a random forest algorithm to the data forming the fault profile so as to detect one or more components at risk of malfunction within the computer peripheral device.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Preventive maintenance of computer devices

[0002] The invention relates to the maintenance of computer peripherals. It relates in particular to the maintenance of payment terminals.

[0003] The operation of a payment terminal located at a professional's premises, such as a retailer, is sometimes suspended due to terminal malfunctions. It is then necessary to carry out maintenance on the terminal, either manually by sending an operator on site, or remotely via a payment terminal management server allowing software modifications to be transmitted to the terminal. However, these corrective maintenance operations are costly and the terminal downtime is inconvenient for users.

[0004] A predictive maintenance method is known in the state of the art for anticipating a malfunction of a terminal. It consists of alerting the server, and possibly an operator, as soon as a predetermined threshold, corresponding in particular to a number of operating cycles of the terminal, is reached. Thus, the alert sent allows, by sending an operator, or via the server, to carry out a maintenance operation aimed at preventing a malfunction, so as to avoid possible unavailability of the terminal.

[0005] However, the only alerts set are arbitrary, limited to certain parameters, independent of each other, generalized to all terminals, so that alerts are raised for terminals that could nevertheless continue to operate normally, when other alerts are not raised for terminals that ultimately fail. In addition, the large number of variables and parameters of the terminals makes it difficult to set predetermined relevant thresholds to prevent a malfunction in time and appropriately. The maintenance of a terminal is therefore sometimes unnecessary, sometimes insufficient, and thus always costly and troublesome.

[0006] The invention aims in particular to optimize the maintenance of computer peripherals. It also aims to optimally anticipate malfunctions despite a large amount of data to be processed.

[0007] To this end, the invention relates to a method for detecting the risk of a computer peripheral defect, in which computer calculation means implement the following steps:

[0008] - obtaining data relating to a current state of a computer device; - filtering the data obtained so as to retain only some of this data, this retained data forming filtered data;

[0009] - application to the filtered data of an artificial immune algorithm with negative selection, so as to distinguish data forming a fault profile from data forming a normal operating profile;

[0010] - application to the data forming the fault profile of a random forest algorithm, in order to detect one or more components at risk of fault within the computer peripheral.

[0011] Thus, filtering allows the large amount of data received to be sorted, retaining only some of it to be processed in order to identify a possible future fault in a device in the following steps. By reducing, via filtering, the amount of data to be processed by negative selection and random forest algorithms, the process is made fast and suitable for integration into a standalone device, such as a payment terminal management server.

[0012] The negative selection immune algorithm identifies, among the filtered data, those that form data associated with a device in normal operating condition, to reject them. Thus, only data associated with a device that is not in normal operating condition, or that may no longer be in normal operating condition soon, are transmitted to the next step. Finally, the random forest algorithm, or decision tree forests, makes it possible to identify, using data associated with a current or future malfunction of a device, the components of the device responsible for this malfunction.

[0013] Thus, the method makes it possible to process all the data coming from the device to identify whether it is at risk, and, if so, which components are responsible for the risk of malfunction. The invention therefore allows for preventive and optimized maintenance, raising alerts only in appropriate cases, so as to avoid any unnecessary maintenance operations. The invention also allows for the processing of a large amount of data quickly.

[0014] Advantageously, the computer calculation means implement the following steps:

[0015] - identification, during the application step of the immune algorithm, of data types allowing the distinction between the fault profile and the normal operating profile;

[0016] - identification, during the step of applying the random forest algorithm, of data types allowing the detection of the faulty characteristic(s);

[0017] - the data types identified during the two identification steps forming data types to be filtered, integration into the filtering step of the data types to be filtered, so that, during a reiteration of the process, the filtering step is carried out on the basis of the data types to be filtered.

[0018] Thus, the process includes a self-regulating loop. This loop aims to identify the data to be filtered during the filtering step based on the steps that follow it.

[0019] Thus, in one embodiment, at each iteration of the method, data types are identified at the output of the negative selection immune algorithm, those making it possible to identify a device in a current or future state of malfunction. In particular, the parameters, i.e. the names of the device variables to which these data refer, can be identified as types corresponding to data to be processed at the following iteration. Similarly, at the output of the random forest algorithm step, the data that made it possible to identify at-risk components of the device are retained as part of the data types to be filtered.Therefore, when the method is executed again, in the filtering step, the computing means retain the data from the device that are associated with the filtered data types, in particular the data associated with the parameters that were deemed important to consider during the previous iterations. The other data are not processed by the following steps.

[0020] In an alternative implementation mode, rather than retaining certain types of data to be processed in subsequent iterations, the computing means proceed in the opposite manner: they identify the types of data not to be considered during filtering, those which have not proven useful, in order to process only the relevant data during the following iteration.

[0021] In summary, in both implementation modes and in any combination of these modes, the computing means identify, at the output of the immune algorithm and at the output of the random forest algorithm, types of data to be filtered at the filtering stage for the next iterations of the process. This self-regulation makes it possible to constantly improve the accuracy of the process, while reducing the number of data to be processed.

[0022] Preferably, beforehand, the types of data to be filtered being non-existent, the computer calculation means implement, on a learning database, a training step relating to filtering, so as to identify the first types of data to be filtered.

[0023] In this way, the computing resources are trained to identify the first types of data to be filtered to avoid negative selection and random forest algorithms having to process too much data during the first iterations of the process.

[0024] Advantageously, beforehand, the computer computing means implement, on a learning database, a step of training the artificial immune algorithm with negative selection, so as to train detectors of computer peripheral fault profiles.

[0025] Thus, the negative selection algorithm is pre-trained to create relevant fault profile detectors before these detectors are applied to real-world device data.

[0026] Preferably, an affinity distance relative to defect profile detectors is a Jaro-Winker distance.

[0027] Advantageously, beforehand, the computer computing means implement, on a learning database, a step of training the random forest algorithm, so as to learn to detect characteristics in computer peripheral defects.

[0028] Thus, the random forest algorithm is first trained to identify the components responsible for a current or future malfunction of a device, before applying this algorithm to device data in real conditions.

[0029] Preferably, the device is a payment terminal.

[0030] Thus, the computing means obtain data from the terminal, relating to all of the terminal's parameters, in order to deduce whether this terminal risks malfunctioning soon, and, if so, which components are responsible for this risk. The means then make it possible to carry out preventive maintenance of the terminal.

[0031] Advantageously, the payment terminal data obtained relates to:

[0032] - a counter of keys pressed on the terminal;

[0033] - a number of terminal operating system reloads;

[0034] - a number of terminal restarts;

[0035] - a version number of terminal software;

[0036] - a type of terminal Internet connection;

[0037] - a status of an Internet connection of the terminal;

[0038] - a type of terminal connection;

[0039] - a status of a terminal connection;

[0040] - a terminal manufacturer code;

[0041] - a type of computer hardware integrated into the terminal.

[0042] The invention also provides a method for maintaining a computer peripheral, in which computer computing means implement the following steps:

[0043] - implementation of the method for detecting the risk of a fault in a computer peripheral, as described previously; - depending on the fault detected, identification of a correction to be made relating to a software configuration of the peripheral.

[0044] Thus, the means identify an action to be carried out, for example a change in software configuration, to prevent a terminal malfunction. The identified action comes directly from the fault risk identification process, it is linked to the identified components.

[0045] Preferably, the computer computing means further implement a step of automatic correction of the device by applying the identified correction to the device.

[0046] Thus, the identified correction is carried out automatically, without manual intervention being necessary.

[0047] The invention also provides a maintenance server comprising computer computing means capable of implementing the steps of the methods described above.

[0048] The invention also provides a payment system comprising a maintenance server as described above and at least one payment terminal, the payment terminal being capable of transmitting data relating to a current state of the terminal to the server.

[0049] The invention also provides a computer program comprising instructions which, when the program is executed by a computer, cause the latter to implement the steps of the methods described above.

[0050] Also provided according to the invention is a computer-readable recording medium comprising instructions which, when executed by a computer, cause the computer to implement the steps of the methods described above.

[0051] CORRECTED SHEET (RULE 91) ISA / EP Brief description of the figures

[0052] The invention will be better understood on reading the following description, given solely by way of example and with reference to the appended drawings in which:

[0053] [Fig. 1] Figure 1 is a diagram of a system comprising a server according to one embodiment of the invention;

[0054] [Fig. 2] Figure 2 is a diagram of a stand-alone module of the server of Figure 1;

[0055] [Fig. 3] Figure 3 is a flowchart of a method for identifying the risk of a peripheral defect according to an embodiment of the invention;

[0056] [Fig. 4] Figure 4 is a flowchart of a maintenance method according to an embodiment of the invention;

[0057] [Fig. 5] Figure 5 is a flowchart of an initialization method according to an embodiment of the invention.

[0058] Detailed description

[0059] Figure 1 schematically illustrates a payment terminal management server 10 and a payment terminal 5.

[0060] The server 10 comprises conventional computer calculation means 11, including a hard memory, a RAM, a processor. This server 10 also comprises, in executable and recorded form, a computer program 12 implementing, when executed by the means 11, the methods 100 to 300 described below.

[0061] This server is divided, in software terms, into a supervision module 1, an autonomous module 2, a scheduling module 3 and an allocation module 4. These modules use the same calculation means 11 and the same computer program 12. Alternatively, they could be separate computer programs operating on the same server 10. Alternatively again, they could be separate programs operating on separate devices equipped with their own computer calculation means. These arrangements do not change anything in the methods described below.

[0062] The role of the supervision module 11 is to receive information from payment terminals to be supervised, in particular from the terminal 5. This information includes all the data sent by the terminal 5, relating to the current state of the terminal 5, some of which will be mentioned below. The role of the autonomous module 2 is to carry out the method 100 for identifying the risk of failure of the terminal 5 described below. It receives the data from the terminal 5 from the supervision module 1, and deduces therefrom whether the terminal 5 is at risk of failure, and if so, which components are responsible for the risk of malfunction. The role of the scheduling module 3, based on data received from the supervision module 1 and the autonomous module 2, is to decide on possible actions to be considered for the terminal 5, if the latter involves a risk of malfunction.The role of the assignment module 4 is to transmit action decisions, in particular the configuration changes decided, to the payment terminal 5.

[0063] The payment terminal 5 is a conventional payment terminal, comprising conventional computer computing means 51 configured to operate the terminal. These means 51 are capable of regularly transmitting data from the terminal 5 to the server 10, and in particular to its supervision module 1. They are also capable of receiving software modification orders from the allocation module 4.

[0064] We will now focus on the autonomous module 2, with reference to Figure 2. It can be divided in software terms into three sub-modules: a filtering sub-module 21, an optimization sub-module 22, and a decision sub-module 23. The data from the terminal 5, provided by the supervision module 1, are intended to circulate from the sub-module 21 to the output of the sub-module 23, the output data then being transmitted to the scheduling module 3. However, there is also within the autonomous module 2 a self-regulation loop, illustrated by the arrows 24 and 25, between the sub-modules 21, 22 and 23. Thus, as described below, the optimization sub-module 22 is able to identify, during data processing, types of data to be filtered. The decision sub-module 23 is able to do the same, all of these types of data to be filtered being transmitted to the module 21, by the references 24 and 25 with a view to the continuous improvement of the filtering.

[0065] We will now describe, with reference to figures 2 and 3, a method 100 for detecting the risk of fault in the terminal 5.

[0066] In step 110, the terminal 5 sends, via its means 51, data relating to the state of the terminal to the supervision module 1 of the server 10.

[0067] In step 120, the supervision module 1 transmits this data to the autonomous module 2, more specifically to the filtering sub-module 21. An extract of all the data obtained by this filtering sub-module for several payment terminals is the following table.

[0068] [Table 1]

[0069] The terminal data types are written in the first column on the left. A data type is therefore the name of a variable, while a data item is the value of this variable, in the other columns. Only some of the data types are in this extract, the actual data types to be processed by the filtering sub-module 21 being more numerous. The data corresponding to each of these types, coming from terminal 5, therefore relating to the state of terminal 5, are those in the second column on the left. The other columns are related to data relating to the state of other terminals. Indeed, the filtering sub-module 21 receives data from a large number of different payment terminals.This data relates, in particular, to a counter of keys pressed on the terminal, a number of reloads of the terminal's operating system (data type "OS COUNTER" in the extract), a number of restarts of the terminal 5, a version number of terminal software (line "protocolversion"), a type of Internet connection of the terminal (line "Wifi"), a state of an Internet connection of the terminal, a type of connection of the terminal (line "USBD type"), a state of a connection of the terminal, a manufacturer code of the terminal (line "productCode"), a type of hardware integrated in the terminal (line "TECHNOLOGY"). In general, all data relating to states, static or dynamic, of a payment terminal, are likely to be sent to the filtering sub-module 21.

[0070] In step 130, the filtering sub-module 21 filters this data by data type.

[0071] So it only retains certain types of data from the left column. This filtered data table is as follows.

[0072] [Table 2]

[0073] All the data in this table was included in the data initially received (not all of it was shown in the extract), but only the data in this second table is sent by this filtering sub-module 21 to the optimization sub-module 22. Here again, the second column on the left represents the data from terminal 5. We will return later to the types of data to be filtered that are identified during this process.

[0074] In step 140, the optimization sub-module 22 implements an artificial immune algorithm with negative selection on the filtered data of the terminal 5 received from the filtering sub-module 21. The purpose of this algorithm is to identify whether this set of data corresponds to a current or future fault or malfunction profile of the terminal 5, this identification being done by means of fault profile detectors generated beforehand by learning. If none of the detectors operated by this fault profile algorithm identifies a fault profile, this means that it is not necessary to make a correction on the terminal 5, and the method goes directly to step 160. On the other hand, if a fault profile detector resulting from this algorithm identifies the set of data as corresponding to a current or future fault, then this set of data is transmitted to the optimization sub-module 23.In the following, we will consider that we are in the latter case.

[0075] How fault detectors are generated would be described below.

[0076] In step 145, this optimization sub-module 22 sends to the filtering sub-module 21, via the feedback loop 24, types of data to be filtered which were identified during this negative selection step. These are the names of the variables used which made it possible to identify that the terminal 5 presented a fault profile.

[0077] Alternatively, the submodule could send other data types, e.g. variable names that turned out to be unnecessary.

[0078] In step 150, the decision sub-module 23 implements a random forest algorithm on the data set of the terminal 5 transmitted by the optimization sub-module 22. This algorithm makes it possible to identify which component(s) of the terminal 5 are responsible for the fault identified by the optimization sub-module 22. This identification of the component(s) is done by means of the prior training of this random forest algorithm on a learning basis.

[0079] At the end of this stage, called decision-making, we have the identification of characteristics considered to be defective or at risk of being defective, relating to the components of terminal 5. We can therefore raise an alert to correct these characteristics in order to prevent a breakdown or the worsening of a current breakdown of terminal 5.

[0080] At step 155, this decision sub-module 23 refers to the filtering module 21 the types of data to be filtered. They correspond to the names of the variables which made it possible to characterize one or more components of the terminal as being faulty or at risk of fault. Alternatively, they can correspond to the names of the other variables, those which have proven to be useless.

[0081] We will now return to the self-regulation loop formed by the returns or feedback loops 24 and 25 from the respective sub-modules 22 and 23, to the filtering module 21.

[0082] Indeed, at each iteration of the method 100, for the terminal 5 but also for the other terminals, data types to be filtered are sent at steps 145 and 155 to the filtering sub-module 21. These data types are stored by the sub-module 21 for use at the next iteration of the method. It may be decided that only the most frequently returned data types, and not all of them, will be considered as data types "to be filtered" by this sub-module 21. Alternatively, these may be the types returned a certain number of times proportionally to others, or having reached a predetermined number of corresponding returned data.

[0083] Thanks to this self-regulating loop, the computing means 11 improve the process 100 iterations after iterations. In fact, the data to be filtered become more and more relevant and less and less numerous, which makes the following steps faster and more accurate.

[0084] We will now describe a method 200 for maintaining the terminal 5, with reference to FIG. 4.

[0085] Step 210 of this method corresponds to steps 110 to 155 of the method 100 for identifying a fault in the terminal 5. Thus, at the end of step 210, one or more characteristics of the terminal 5 are identified as malfunctioning.

[0086] In step 220, the decision of the random forest algorithm, which corresponds to one or more characteristics of the terminal in fault or at risk of fault, is sent to the scheduling module 3. This module automatically deduces a correction to be made on the terminal 5, and sends this chosen correction to the scheduling module 4. The correction to be chosen has been configured, manually, beforehand, according to the identified fault characteristics. Alternatively, calculation means have been trained, by learning on a learning basis, to deduce an adequate correction according to the identified fault(s).

[0087] In step 230, the scheduling module 4 remotely performs the correction to be made on the terminal 5.

[0088] We will now describe an initialization method 300 of the module 2 before its implementation in the server 1, with reference to figure 5.

[0089] Before implementing the method 100 and therefore before the first implementation of the self-regulation loop, the filtering sub-module 21 does not include any types of data to be filtered. This is why, in step 70, the sub-module 21 is trained, in relation to the means 11, to identify the types of data to be filtered for the purpose of step 130 of the method 100 for detecting the risk of default. For this, a learning database is submitted to the means 11, so that the means 11 identify the types of data to be filtered therein. These types correspond to data considered useful for the following steps of the method. In particular, these are the names of the variables, from the first left-hand column of the tables shown above, having an impact on the detection of a risk of default in the immune algorithm, or on the decision chosen in the random forest algorithm.In other words, these types of data to be filtered are the types of data useful for the determinations to be made subsequently by the autonomous module. Once these types of data to be filtered have been identified, they are implemented in the filtering sub-module 21 before the first iteration of the fault risk detection method 100 on real data, including those of the terminal 5. Thus, thanks to this step 70, during the first iteration of the method 100, the filtering sub-module 21 already includes types of data to be filtered in step 130.

[0090] In step 80, the negative selection artificial immune algorithm is trained on a training database, so that it forms one or more fault profile detectors. The distance chosen in this algorithm, making it possible to define the affinity thresholds of the fault profile detectors, is that of Jaro-Winkler. Alternatively, a Euclidean distance could be chosen. These fault profile detectors aim to identify data sets, each set corresponding to a terminal, which correspond to one or more current or future malfunctions of the terminal. Once the fault profiles have been generated by the training, they are implemented in the optimization sub-module 22, before the first iteration of the fault risk detection method 100 on real data, including that of the terminal 5. These profile detectors will then detect the faults of the terminals.

[0091] In step 90, the random forest algorithm is trained on a training database. In this way, the algorithm is trained to identify, from a set of data corresponding to a current or future fault of the terminal, the characteristic(s) of the faulty terminal.

[0092] These learning, or initiation, steps 70 to 90 can be implemented separately, on separate learning bases, or jointly on the same learning base. Once carried out, the method 100 can be implemented using the types of data to be filtered identified in step 70, the fault profile detectors generated in step 80, and the decision trees generated in step 90.

[0093] The invention is not limited to the embodiments presented and other embodiments will become apparent to those skilled in the art.

Claims

Claims

1. Method (100) for detecting the risk of a fault in a computer peripheral (5), in which computer calculation means (11) implement the following steps: - obtaining (120) data relating to a current state of a computer peripheral (5); - filtering (130) the data obtained so as to retain only some of this data, this retained data forming filtered data; - application (140) to the filtered data of an artificial immune algorithm with negative selection, so as to distinguish data forming a fault profile from data forming a normal operating profile; - application (150) to the data forming the fault profile of a random forest algorithm, so as to detect one or more components at risk of fault within the computer peripheral (5).

2. Method (100) according to the preceding claim, in which the computer calculation means (11) implement the following steps: - identification (145), during the step (140) of application of the immune algorithm, of data types allowing the distinction between the fault profile and the normal operating profile; - identification (155), during the application step (150) of the random forest algorithm, of data types allowing the detection of the faulty characteristic(s); - the data types identified during the two identification steps forming data types to be filtered, integration (145, 155) into the filtering step of the data types to be filtered, so that, during a reiteration of the method (100), the filtering step (130) is carried out on the basis of the data types to be filtered.

3. Method (100) according to the preceding claim, in which, beforehand, the types of data to be filtered being non-existent, the computer calculation means implement, on a learning database, a training step (70) relating to the filtering, so as to identify first types of data to be filtered.

4. Method (100) according to any one of the preceding claims, in which, beforehand, the computer computing means implement, on a training database, a step (80) of training the artificial immune algorithm with negative selection, so as to form detectors of computer peripheral fault profiles.

5. Method (100) according to the preceding claim, wherein an affinity distance relative to the defect profile detectors is a Jaro-Winker distance.

6. Method (100) according to any one of the preceding claims, in which, beforehand, the computer calculation means implement, on a learning database, a step (90) of training the random forest algorithm, so as to learn to detect faulty characteristics of computer peripherals.

7. Method (100) according to any one of the preceding claims, wherein the peripheral is a payment terminal (5).

8. Method according to the preceding claim, in which the data of the payment terminal (5) obtained relate to: - a counter of keys pressed on the terminal; - a number of terminal operating system reloads; - a number of terminal restarts; - a version number of terminal software; - a type of terminal Internet connection; - a status of an Internet connection of the terminal; - a type of terminal connection; - a status of a terminal connection; - a terminal manufacturer code; - a type of computer hardware integrated into the terminal.

9. Method (200) for maintaining a computer peripheral, in which computer computing means implement the following steps: - implementation of the method (100) for detecting the risk of a fault, of a computer peripheral (5), according to any one of the preceding claims; - depending on the fault detected, identification of a correction (220) to be carried out relating to a software configuration of the peripheral (5).

10. Method (200) according to the preceding claim, in which the computer calculation means (11) further implement a step of automatic correction (230) of the peripheral by applying the identified correction to the peripheral (5). [Claim 1 1 ] Maintenance server (10) comprising computer calculation means (1 1 ) capable of implementing the steps of a method (100, 200) according to any one of claims 1 to 10.

12. Payment system comprising a maintenance server (10) according to the preceding claim and at least one payment terminal (5), the payment terminal (5) being capable of transmitting to the server data relating to a current state of the terminal.

13. A computer program (12) comprising instructions which, when the program is executed by a computer, cause the computer to implement the steps of a method (100, 200) according to any one of claims 1 to 10.

14. A computer-readable recording medium comprising instructions which, when executed by a computer, lead the latter to implement the steps of a method according to any one of claims 1 to 10.