Preventive maintenance of computer peripherals
Patent Information
- Application Number
- FR2022011465
- Authority / Receiving Office
- FR · FR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-11-03
- Publication Date
- 2025-03-14
- Estimated Expiration
- 2042-11-03
Smart Images

Figure 00000016_0000 
Figure 00000016_0001
Abstract
Description
Title of the invention: Preventive maintenance of computer peripherals
[0001] The invention relates to the maintenance of computer peripherals. It relates in particular to the maintenance of payment terminals.
[0002] The operation of a payment terminal located at a professional, such as a merchant, is sometimes suspended due to terminal malfunctions. It is then necessary to carry out a maintenance operation 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 time the terminal is unavailable is inconvenient for users.
[0003] A predictive maintenance method is known in the prior 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.
[0004] 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 which could nevertheless continue to operate normally, when other alerts are not raised for terminals which finally break down. 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 useless, sometimes insufficient, and thus always costly and troublesome.
[0005] The invention aims in particular to optimize the maintenance of computer peripherals. It also aims to optimally anticipate a malfunction despite a large amount of data to be processed.
[0006] 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:
[0007] - obtaining data relating to a current state of a computer peripheral;
[0008] - filtering the data obtained so as to retain only some of this data, these retained data forming filtered data;
[0009] - application to filtered data of an artificial immune algorithm with selection negative, so as to distinguish data forming a fault profile from data forming a normal operating profile;
[0010] - application to data forming the fault profile of a forest algorithm random, in order to detect one or more components at risk of failure within the computer device.
[0011] Thus, filtering makes it possible to sort the large number of data received to retain only some to be processed in order to identify in the following steps a possible future fault of a peripheral. By reducing, via filtering, the number of data to be processed by the negative selection and random forest algorithms, the process is made fast, and suitable for integration on a standalone device, such as a payment terminal management server.
[0012] The negative selection immune algorithm makes it possible to identify, among the filtered data, those which form data associated with a device in normal operating condition, in order to reject them. Thus, only the data associated with a device which is not in normal operating condition, or which risks no longer being in normal operating condition soon, are transmitted to the next step. Finally, the random forest algorithm, or decision tree forest algorithm, makes it possible to identify, using the 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 operation. 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 step of applying the immune algorithm, of types of data 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 enabling 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 method includes a self-regulating loop. This loop aims to identify the data to be filtered during the filtering step on the basis of the steps which 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 variables of the device 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 step of the random forest algorithm, the data having 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, at 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 the following iterations, the calculation 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 computer 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 in the filtering step for the next iterations of the method. This self-regulation makes it possible to constantly improve the accuracy of the method, 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 the filtering, so as to identify first types of data to be filtered.
[0023] Thus, the calculation means are trained to identify initial types of data to be filtered to prevent negative selection and random forest algorithms from having to process too much data during the first iterations of the method.
[0024] Advantageously, beforehand, the computer calculation 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 trained beforehand, so that it to have relevant fault profile detectors created before these detectors are applied to real-world device data.
[0026] Preferably, an affinity distance relative to the defect profile detectors is a Jaro-Winker distance.
[0027] Advantageously, beforehand, the computer calculation means implement, on a learning database, a step of training the random forest algorithm, so as to learn to detect faulty characteristics of computer peripherals.
[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 calculation means obtain data from the terminal, relating to all of the terminal's parameters, so as to deduce whether this terminal is likely to malfunction in the near future, 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 Internet connection of the terminal;
[0037] - a state of an Internet connection of the terminal;
[0038] - a type of terminal connection;
[0039] - a state 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, of a peripheral in computer science, as described above;
[0044] - depending on the fault detected, identification of a correction to be made relating to a software configuration of the device.
[0045] Thus, the means identify an action to be carried out, for example a change of software configuration, to prevent a malfunction of the terminal. The identified action comes directly from the fault risk identification method, it is related to the identified components.
[0046] Preferably, the computer calculation means further implement a step of automatic correction of the peripheral by applying the identified correction to the peripheral.
[0047] Thus, the identified correction is carried out automatically, without manual intervention being necessary.
[0048] According to the invention, a maintenance server is also provided comprising computer calculation means capable of implementing the steps of the methods described above.
[0049] 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 to the server data relating to a current state of the terminal.
[0050] 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.
[0051] Also provided according to the invention is a computer-readable recording medium comprising instructions which, when executed by a computer, cause the latter to implement the steps of the methods described above. 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] [Fig.l] is a diagram of a system comprising a server according to a mode of carrying out the invention;
[0054] [Fig.2] [Fig.2] is a diagram of a stand-alone module of the server of [Fig.l];
[0055] [Fig.3] [Fig.3] is a flowchart of a default risk identification process of peripheral according to an embodiment of the invention;
[0056] [Fig.4] [Fig.4] is a flowchart of a maintenance process according to a mode of implementation of the invention;
[0057] [Fig.5] [Fig.5] is a flowchart of an initialization process according to a mode of implementation of the invention. Detailed description
[0058] [Fig.l] schematically illustrates a payment terminal management server 10 and a payment terminal 5.
[0059] The server 10 comprises conventional computer computing 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.
[0060] 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.
[0061] 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.
[0062] 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.
[0063] We will now focus on the autonomous module 2, with reference to [Fig. 2]. It can be divided on the software level 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.
[0064] We will now describe, with reference to FIGS. 2 and 3, a method 100 for detecting a risk of fault in the terminal 5.
[0065] 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.
[0066] 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.
[0067] [Tables 1] with MULi. [NULL,. For IrML NUL JStUl RUl. 1NJ1.L ZERO”. NL-LL AU.!. JM11J- N-JLL 1 ' " [MJIL SILLL kUk- 'AM 'l-Wri MA [nUL-L- 611:.-. |MLAL NUL jrWILL. OLli.:. 1-HUi-t [NUL foire k-Ui-t. U M'll fore—fore. NÜ'l. 1 J-J-.....'. fTS,V-----jR'AT----- t-ûti' ■■■'* nült..... Rurr— RUL iKWt RUV-----[RÔT----- 6-1.--1 jwjLL ÂL-LL...... ter.- MULf l----- ST-- ATA. fc'-----TO '"rifoiT. ?71“-- 1 IJ li MM J '■JWL. i'K'ÏJ. •isiwsr'q 1 1 Ü .. S-1- ,V .'.'k ].OJLL M'K......!'Œ...... 'icsr.....!........rç f[KŒL &[ '" «-SVJIL. WAHL, W.!) «dis 'l-yFAlf ?H AAH h] 'h'" , . „.. 5-:,:.. -.i: .i.-..-xii • ' fo-XL 7 ,7 t...........——7^—- ' ' ............|rirr..... US. T.Tre?? .j, ' ut ' pAH. 4dlï.......[bïiLL nt".....^ur...... ni;il îNUt: MJ-a IWri' RU!T—ran— .....feir..... mjff.....7m.'..... srAi'.....kLAï..... 'A nul imu rd~--put--- NvLÏ.......[-ATl KrAA'.......... MA:. [mULL MUL-. [m,'SL Mùlü.....j wAT RUTi-.....frlAT U!:: |1-ÆS.L N-ni 1-.-: U l fri..."...h U NUL. !-vxL fo.'tt wg...... i'Altt UtiL'.....Ê&Udd..... K'..<L kOLL hîh.L ït'IiAA Nl.-Lt [nul r.-> .-1 ih-j., ii l Ni,-LL N1AL IK-IUl ÎUIlI' K-JLL ........ [WI1 Nl-LL L'Llk fA:-'. iMl Hi'LL EnÜLl 611:: [MIKL . '■!Lll ' LATER.-. [N-.-lL [NUL NkjLÏ ÙjJLL .•i-iONti L'dUt rifûT'A' 'j'ûlLL ............pjy...... ^1^777^^77777 NÎM^tRnLT"”' NUL......foui...... ^l.;_}^___ • •'J^r • RTjLÜ.....küLÏ..... FSJfT......W."'"" NlAu WULL nL <L.....forëi' Ml”.'.....[RÔT 777 f i ? • r"" fnrr ~ ULL U.U.............fo.’iu..... ATT.....ITAT.....W....... 7777 ’ _’ ’ ALl îNLXL jniJCL -------------------------£------------- / , xfofo” ITT'..... NÜU.—4——■ ------------------------------J =4= , ............^JL'L'..... MULT......ÈLL'IL-L...... — NUL. Ê-'JLHLa >'il'5A......ESLAL'..... nut.....juw...... RIAL -WoLL fo <J. -AU. ! - ! ‘t ' .........‘1.........7 ...................,- f-roufci mut )MW WI Smü W’t.......|W73....... fo?i M“S ....... MW !M?8 fo??: ?,he LAANAIW. fMC.-ct'ovl' .......... lAS^'MA [iL'.h:1 'ri r" v 1 jvce.i / CLV W .«.tiSl, Vt-SKixœ jM.A-ed.jkW MOk-ecdt-^ r -1-1-2.--iv,1 • 1 Rl’T< .....'W5Y 5! -5'5^ 'i'T-15! .....'!^?5 j- -v ■ p Lm. • : 1 ’i ; A 1 Va ............fojTU..... N!!L-_ [NUL qui".....fol".'..... fri'!! MISA MAl JNiAL RUl".....j*AT.‘. Wj!A !> AM. ïïRû".....[ROT r>::-i mai AIT.""" NUI IJLU. !u'!-.-. foîLL BROKEN…..fol”.....jr.AlT….. reire….. ' ' ' ! « : NHL,. [NOTHING ………2 NHv.[NiAL NU: Womb. nu: IAA. jUM. ÎNoLL 3 '! . .........il......... 1E - •w? 1 • '1 : lïT ......iN'-N'l......IkUl...... -SMB fo-KT nitl.....'Êwf..... NUL Wl il r '1 : kdtt -k___________H : ' ' l ' KR^' ! k <l! 1 ' ~ _ K Æt StlAL 1 _ d : Mi" «ri I ■•Xav 1 ' b-.- I a 1! 1 Il 2} J V ............................U-1'-1- NUL MA: '"■■ L- MU Mri F.U.I, W, Ul .'IL,!.'. !M,A.. jN(Xl !-X'i : hdll !UU fofo Kuri jkUU- nu: 1^4. MAI. iNULt' NUL ALI'..... N-JLi. ] w H ■L M.......ÏW &d nl'll Mai. k'-'ü ;k<Ü.L Ul-.l. |wkt vi ir : k!LL fojtt NUL Ma.'. MX-. ;N‘XL NUL Ï-jLIi.ï. NUL AU-> - ■'il a.-. NU'.v |NU1 ,|i-RAI. '■■-11'.-. 4 1 '1 ' ......... v “ 1 ' ' {n-JIL UT:. ÎMij. k'.AL Wj! i. ÏMlh.'. NL'u [NOil rM.i ]WJi.>. UAL He-U-. right.1. N-jl.L tv-itx N'.Al kNWl / AM- (Wri M.Ak (NUI: "AM. ' [MAL N'.AL [WH hUi-:- U;!.-.. |M.Ai. fo. <u nil ll mu». t^ull_____ ^.2. h aa_____ r.aal______ wja1. jkat nl-ll j\-lal. tii>".....foôtf...... 6-1151 ^NJia NUL vLLt 7:LM.' NDU NyLL • 'fW •Vl.i-lS -.*1 fol». quT—forer— NUC ji'.'UÎ.I. £7TM---------- MJv. MiAL NIGHT.-----tATT----- NUI UUj. snTM—[rot….. Ml-.i. MJLl rut forer. :iT------ ML-N. [-5-0.-. Jmxl reii' four forei" N-jL : i • • -________________fol>> ___________ ix.;;_____MbJ._____ mj, , nl»:: jw:j. ^A IN -.... M TRÉ tat.....T?rer....... •M- ftrfo.....wc a~ ......foréf....... nu: 1 "unal hw- fo-ju NI.'LL Mûri IfikJ. Nl-A'- [nOLL of:. |5AM. N-..-LL ]mUL 155,12. ...... ;,»>XL a:.., l . ”i ...... r ri fout (JUl-î, foril k'.-ri UUll W.-!-: EriJU AAI. [NIAI « ' NUL MAI kb-L |VJ Lk. MN fo-Jlt NtLL MIll fdv- jk'XL Rurr^^sur^ null [nui.:^. NLL"A NLL"A N-.'LL. nüx m —LU,TM ' -1 fo-jlt ."Yforer— HÜLL KLLTA NTA foilT----- MJv. ;AAL RA7T—t-^r. NUL ^jUl.a MT."-----fRFAt"----- null-. KULL rt.t.'—yjrej"..... NUL -AkL IT-.I. :fojT----- RUT----- SLA (NUI M6LL ôi.tt fore— sre'— v 1L -.od-N fo-UL r •î'à^'Æ^u.............-......'UkkA M': N>XL RU:''-----”RTJ.------ NVLl. [---111.:. K-'jTM---------- MX-. j^-U- NUL. |-'jdl.l. Vv.....k'AV..... TUT------- TTJ: fore i. iilri.:U ji-xU HUi. ^1.-.' Walls N'.-U. <LL hm_____|mûll NUL_____|\UL iAU ]NJll ml-LL li'Alu ïbiUL rrere \ p’rr™n kui_____ " • ■ VL kULL *• 6 ----------------four— NUll Mûri —iuprr.------ NelL j'WLL ---------- NIL:. Mûri W?. ULh.L NUL Mil MJ-.l NOri ----- NvLL MTA------ 'A-LL IM.!-.'. MONTHLY ROT RTf:------ N-JLL 1 :fo —4^—.g, U1-! ■■■■■■T?3 --------Hr--------- AriJ "A .......515 ....... »V1...........^.........^ --------fo rvr -ta. foill 1 l.NULL l'StKL il i N'.xL ÎsmIA li-MLi. fo'XL nJlL .1.-10,1 'viv I ÿ ri ÿ ^E < li 4] ■, ; t7 ;fo ......................forer:— .........UStUl”..... ----■[JbA-- MT.F-------- RUlS kiTÎÂ. .........W'-..... RAT:------ôT.):----- æ__ .........if.........F " UÜLL ' MT.".....fair..... -ÛX-- 11 ' j_________: ..........ffore.....before..... RUT—~ END..... dL-tC - ]' 0 2 ! 'EW 5 b t'I L' 't A - ' M ;MJll IF.'LL iNUll UL!:-. M.AL where: HW: where. MAL font: ua,-. jw-xi fout what : wuid 1 1" LA Ü'.i! ’iï'j ' u<![ ' Ud UL ' 1ÜL 1 UIA LTJ] 11 2-45’ ]SW -] *• ; [ - fo-Ull Nvl-!- ni.Al । N : ri M" kllLL NU! l-l-NU- UU <XV(4l-?dU.-jN? lit NU ! fol ! iAN-.A-riAfouWI-?^ IWW-UU rii ; • Uk 1 **—rvfo^— ’ 1 ! 4 1 W 1 A t 11 71 yMn T t" ' "4 IF 1 ) O.aJ 'ri 5 r*-' tri t " — >--i------ i 1 m- -- n---------- 111 ü ______.'A -rJ 1 '4 l ' l,} 7,47-,1.1.11].....^ ' revre" formol foJLL ......! ...... -<j ....... .'•M.' 5-6-1 .r .-. . -1-,- / 1 ' ......SV 1 ......" ■Ni >.-:■ :■ zn Wsc k-lss । i' • : ■ -1 -:nt so-s ce -kXr^xi: : .'m-."-.< i • ,.\i * "" % v H i A 1 ..W V.I T'fîMil" lïL”AS"" / .-,- / wa -i c V ri ■• -d I ...... M A ' -] - ■ • l : * : ■..-k.-vv ps-i-vs L:AA 1 SülkA ILU-a |L!A< ' pLULA' * -• i $U iUIU 1 5IL5UA MM ! ■ 1.
[0068] 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 of the second column of left. The other columns relate to data relating to the status of other terminals. Indeed, the filtering sub-module 21 receives data from a large number of different payment terminals.
[0069] These data relate, 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 computer 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. Thus, it only retains certain types of data from the left column. This table of filtered data is as follows.
[0071] [Tables2] " ~ --------------------. ---------.J----------rj ci il —---------, --------------------------------------------------------------------------------------------------------------------------------------------------; ............'i...... ......----- ""'"37^"""??^ ............5SS8 — ' ' ' ' .....'Cf ......SâLl.....SK® .....W 4271 >x4 7<y4J ?SS?2 r> ,--1- ii.wr rh. and-yes ! c 4Sc<( ■? LL^sj s-mW! 7 î sCi' i! 0 K ' ' "s} ÿv ■>? ;<} xj r AMM lùW^Shl fbj&SSM!;-! M-'i-tftà 'AWW>>* ]«• * •■ ifnfewi; WWÿSb ™'-] WiLLia 3K.'M£| 15< 3Sb TM ………4 jj ai 7 74 zzzz 44' 4-’L' f4ï< '7** 'IIIe .........^........,■1.... ---?i a :c S; c j fi y L ;■[ 3 fl; -1 « « .« s ( M Y ) W3 •whswt ——77^7® ' 7^4 -51-^ 1 "7TW; "'•?t5555? "7^734—‘"TfW 1 t ■ ’HA' " •jNKÉU-Ol t 23 Æ] IJ w •5; 11 s |’ ' ’ ' F t-' "XWUW |WJLt Wir k‘I.L Ml jfü.lll hln. 71b. MLM [Ml Mil. -711.1. Mi.'LL Ml [M: |M.i. NiLL 44.....44______ $ . VX-____jwtl____ Ml [Ml LM. ] 7JLL ZZZZZlS^ZL Ml______ ML_____44_____jlM-k_____*44_____ .........1! ''""4.........Æ 3 ....... """ Xf* ÎWlÜX..... ml______gkuii______ nUll......îMi...... MT_____ KiLL______Mi______ Null -oi...... M:._____Lj:___________L^______ ■j Ûi ■ [Maï ML Mi M;______ ■Mj. :H:;ll jML______Mt______ | ... N!,. , ... Ml Mb.- H*£. Ml Hlh.-.[ML k-'LL ;ML ■'itri.!. MLLL 1 1 AU. TU;.;. ' ' ' ' ' ' ' ' ' ' «t. huiA ------■■■■■■ ME jw; MC.....WI...... M: SlM..... M-. [Ml ML '7’1.1. Ml IÎT&l M i : MT..... Sël”..... SlTil?-?™” 4^444 MC SH 44----- Mi :w;;i 1M.L Ml DLL Ml MUM |ML Ml_____[M;______ __________ M.l Mi ;SL<: [ w. ____: ml fw!ï j W7 NOLU : fiqu; ^vf:'------ M?........... ^j,v...... ktlWlIN' If' ]Mlï Ml îhb'Lt ML Mi flM [WLL ML :ML l'iuL.!. MA ' AU GUûl ;NJIL ML.i:, taiaj. MM km. rc:: ^77- NM [wxt Kull Nljl.-. Mil IM; llM.1, M.L |Ml Mi. [MUL IhWll ■JlLL 711.1. •ML [Ml Mil. f’JUjJ. wbi.L Ml IM; ÎMJ. Mill.L IWS ? WWW WôM [ML ^4.....144....- SüLÏ [Mi' 17-11 [MILL Ml . .. M‘Ll____ "Mi ^Ll______kit klL-L....' 41(1 MuLl____ WM.....iilyt;......ji'ivlX NAL.... [M.. Mec N'jit |!Æ?lA<‘R< M.I. Ml......ÊMl...... œ1.....Ml..... WîjLL J4ULL m: iN'Jti Nul: •4L41. iN.a'. [NOLL !WLL ItŒîîWîfK CW {ML 4^7^4^-W^u Hi;Ll______ NÜlE ^Ùï.’.' liM M-l- N)J7 NiJLl_____ Ml.....' Mr__mj.__Ml__; Ml__ !\IÜE-___________feA L_____~ _____ Ma [WXÏ ML Mr flvl-U ..... CfCi" :Ml iMC......i^iîl...... MT lUCT™!4Üîr™ MT RH""" ME [tWlt mi. ». N!>.l jK«AL Mi.'.....mm..... Ml......[Ml......Ml.'.....^CJjCk..... MULL irotl îWlJ. ML dAfib !'M ! b M.-. ! il 4L ü hll:. :l WijU. kbit il il Ml mL'LL. ! d ________il :) [MvMMLI £| iML WulA Iml TL-i: î ■' N.JLl •JIM ai:- X'Mi •jill?. LM S-! 77 4« Afe dMLÜ-l-! M- 1 Wli 11¾ a-sg-nî tl111 1 -T 1 l --- ’ ' DllD IW .......k'*' [Ml MC.....t"'"...... ncs".....Ml..... Kl.'lL ’-M fjüi: [Ml. ' < iM: Mj. iN-.M NLU Tilt " ' ” -■■■■ JML______ ...... Mt_____wL.... ML._____-1111______ M”.......... M, jMl 1 MC ]MC Ml ’^ÏE flvL:- ,4'4 1*44_____ ...... Ml H' 'T- ' ------------W— flViT ÈHLMA ME-----W----- Ml ;ML Ml *"*W MÛ*------fe----- WL<1 Ml " 1 1 Ml—W* ’ *T * Ni il Mî— MIL IM 1 kl:J.. MIL Mi ÎMi MiJLl 444444________[Mi--- ML.....jMl______ MC [MT Î7û;î [SùlE M______ML..... ML Lt'i _____44___________ nÜÎT fîTÎSI MT :?3ÎŒ ' Ml IJM.....[M-......^MLL..... MLL______ U.ifi. ML klfn nia. tar— f;M —Mr— Ml '<IJA "MSJ. 1 11 ' '111 11¾ [Ml Ni .'il. W’II MvL:; M*....... f-IUu. iriLAl Ml £"T ?JJT—iwr— (ML ^GLL.....[TlE:..... N!>_l ;N‘X.L M. r.....GluL..... NM [Nl'LL N' •: ! 7111 ML...... MuLL AhJ. 1DLL >' k'___' A ____________WL p P' \ 1T " ............fc....... Ml______ ..... NLLl [Ml1 HvU 7II.1. NI>a [Ml M.1__711.1, «K fer » t 'a • ■ML Ml MLl1 IM:}Mi. Njl.L *11 NlO .....|w RÎT:. 'MO 7...... M?.....SM.....WAV ' k:!.k MIL Mi ;m.:. iM'-t njii '"'f- îkhUd. Ml IjMi kl-:: 5^10-1- ML ML IM: [MJ. ML :^Jll Mi M.!. illl'.i. jKi.U Mi 1J >- |Mk MC.......... .....Ml..... MC......MC...... f-'Œ'"""h>ttL..........TO1CC...... jjÇjs...... ^1:. iML IFS'CC WH.
[0072] All the data in this table was included in the data initially received (not all of it was illustrated 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 the terminal 5. We will return later to the types of data to be filtered which are identified during this process.
[0073] 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 this latter case.
[0074] How the fault detectors are generated would be described below.
[0075] In step 145, this optimization sub-module 22 sends to the filtering sub-module 21, by the feedback loop 24, of the data types 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.
[0076] Alternatively, the submodule could send other types of data, for example variable names that turned out to be unnecessary.
[0077] 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.
[0078] At the end of this step, called decision-making, we have the identification of characteristics considered to be defective or at risk of being defective, relating to the components of the 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 the terminal 5.
[0079] In step 155, this decision sub-module 23 refers to the filtering module 21 of the data types to filter. They correspond to the names of the variables that 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 other variables, those that have proven to be useless.
[0080] 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.
[0081] 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.
[0082] Thanks to this self-regulating loop, the calculation means 11 improve the process 100 iteration after iteration. Indeed, the data to be filtered become more and more relevant and less and less numerous, which makes the following steps faster and more accurate.
[0083] We will now describe a method 200 for maintaining the terminal 5, with reference to [Fig.4].
[0084] 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.
[0085] 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).
[0086] In step 230, the scheduling module 4 remotely performs the correction to be made on the terminal 5.
[0087] We will now describe an initialization method 300 of the module 2 before its implementation in the server 1, with reference to [Fig.5].
[0088] 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 data types. to filter.
[0089] 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 that 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 artificial immune algorithm with negative selection 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 distinct 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 clear to those skilled in the art.
Claims
Claims
1. Method (100) for detecting a risk of a computer peripheral (5) defect, in which computer computing 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; - applying (140) to the filtered data an artificial immune algorithm with negative selection, so as to distinguish data forming a defect profile from data forming a normal operating profile; - applying (150) to the data forming the defect profile a random forest algorithm, so as to detect one or more components at risk of defect 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 applying the immune algorithm, of data types allowing the distinction between the fault profile and the normal operating profile; - identification (155), during the step (150) of applying 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 calculation means implement, on a learning database, a step (80) training of the artificial immune algorithm with negative selection, in order to train detectors of fault profiles of computer peripherals.
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 reloads of the operating system of the terminal; - a number of restarts of the terminal; - a version number of software of the terminal; - a type of Internet connection of the terminal; - a state of an Internet connection of the terminal; - a type of connection of the terminal; - a state of a connection of the terminal; - a manufacturer code of the terminal; - a type of computer hardware integrated in 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 a risk of 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).
11. Maintenance server (10) comprising computer calculation means (11) 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, cause the computer to carry out the steps of a method according to any one of claims 1 to 10.