EP3997637A1 - Identifizieren von ungenutzten servern - Google Patents

Identifizieren von ungenutzten servern

Info

Publication number
EP3997637A1
EP3997637A1 EP20734781.6A EP20734781A EP3997637A1 EP 3997637 A1 EP3997637 A1 EP 3997637A1 EP 20734781 A EP20734781 A EP 20734781A EP 3997637 A1 EP3997637 A1 EP 3997637A1
Authority
EP
European Patent Office
Prior art keywords
server
servers
unused
activity
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP20734781.6A
Other languages
English (en)
French (fr)
Inventor
Sven MAYER ZU EISSEN
Josephine BRAVIDOR
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bayer AG
Original Assignee
Bayer AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bayer AG filed Critical Bayer AG
Publication of EP3997637A1 publication Critical patent/EP3997637A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence

Definitions

  • the present invention is concerned with finding unused servers on a network.
  • the present invention relates to a method, an apparatus and a computer program product for finding unused servers.
  • CPU Central Processing Unit
  • network traffic of servers. This could be confirmed by our own investigations in an internal network (see Figures 1 and 2 and the associated description below). This is due, among other things, to the fact that there is no intuitive criterion for differentiating unused from used servers, because standard processes such as patching and virus scanning that generate CPU load and network traffic usually run on all servers. Forgotten servers have often installed applications that start automatic processes and thus take care of CPU load, network and storage traffic. In fact, CPU network and storage profiles for used and unused servers can look incredibly similar.
  • the proposed method is complex, however, since the entirety of interlinked servers is considered and corresponding usage information has to be collected for each server, as will be made clear below.
  • the topology analysis proposed in the publication mentioned is based on the evaluation of network communication. In other words, starting from the front-end server, it is explored which servers are addressed by these in sequence.
  • This usage data can often not be collected via hardware for intranet applications, since the servers of an intranet application are usually in the same logical network and are usually not separated by a firewall where such data could be collected.
  • Such an analysis is based on the installation of local scripts that log network connections directly on the server. To do this, it is necessary to develop appropriate scripts that do not endanger ongoing operations, distribute them to all servers, then collect the results from all servers and evaluate the huge flood of data.
  • the technical task is to identify unused servers in a network in an efficient and effective manner.
  • a first object of the present invention is a method comprising the steps:
  • the prediction model Inputting the data into a prediction model, the prediction model having been trained on the basis of a training data set on the activity of reference servers to distinguish unused reference servers from used reference servers,
  • Receiving a probability value representing a probability with which the server is an unused server.
  • Transmission of a message to a user the message comprising information that the server is an unused server or a used server.
  • Another object of the present invention is a device comprising:
  • control and computing unit is configured to cause the input unit to receive data on the activity of a server
  • control and arithmetic unit is configured to calculate a probability value on the basis of the data on the activity of the server, the probability value representing a probability that the server is an unused server, the calculation of the probability value taking place with a prediction model
  • the prediction model has been trained on the basis of a training data set for the activity of reference servers to distinguish unused reference servers from used reference servers,
  • control and computation unit is configured to cause the output unit to output the probability value and / or information derived from the probability value to a user.
  • Another object of the present invention is a computer program product comprising a computer program that can be loaded into a main memory of a computer and there causes the computer to carry out the following steps:
  • the probability value representing a probability that the server is an unused server
  • a “server” is a computer that provides computer functions such as utilities, data or other resources so that other computers or programs (“clients”) can access them over a network.
  • a "computer” is a device for electronic data processing that processes data using programmable arithmetic rules.
  • the principle generally used today which is also known as Von Neumann architecture, defines five main components for a computer: the arithmetic unit (essentially the arithmetic-logic unit (ALU)), the control unit, the bus unit, the storage unit and the input - / edition (s).
  • ALU arithmetic-logic unit
  • the control unit In today's computers, the ALU and the control unit are usually merged into one component, the so-called CPU (Central Processing Unit, central processor).
  • CPU Central Processing Unit, central processor
  • peripherals are all devices that are connected to the computer and are used to control the computer and / or as input and output devices. Examples of this are monitor (screen), printer, scanner, mouse, keyboard, drives, camera, microphone, Loudspeakers, etc. Internal connections and expansion cards are also considered peripherals in computer technology.
  • Today's computers are often divided into desktop PCs, portable PCs, laptops, notebooks, netbooks and tablet PCs and so-called handheids (e.g. smartphones); all of these devices can be used to practice the invention.
  • the inputs into the computer are made via input means such as a keyboard, a mouse, a microphone and / or the like.
  • Outputs usually take place via a screen (monitor), on a printer, via loudspeakers and / or by storage on a data memory.
  • the server for which it is to be determined whether it is used or unused can also be a "virtual server", i.e. a virtual machine that is used as a server.
  • the "virtual machine” is the software encapsulation of a computer system within an executable computer system.
  • the virtual machine simulates the computer architecture of a real hardware or a hypothetical computer.
  • a server is active, for example, when data enter the server and / or exit the server and / or calculations are carried out by one or more processors of the server.
  • Examples of activity data are processor utilization, number of processes carried out at a time, available memory, network activity, CPU temperature, cooling performance, power consumption, etc.
  • the processor load (also CPU load or CPU load) is determined for multitasking systems. It describes what proportion of his working time one or more of the main processors of a computer actually processes productive tasks and is usually given as a percentage.
  • the network activity can be specified, for example, as the amount of data per unit of time that is received on the server and / or originates from the server.
  • CPU usage e.g. number of processor cores used
  • outgoing network traffic e.g. measured in kbps
  • incoming network traffic e.g. measured in kbps
  • input / output processes for data storage storage demand, e.g. measured in kbps
  • memory usage e.g. measured in bytes
  • the activity data can be recorded with common software programs (e.g. CPU-ID or HWMonitor Pro from CPUID (https://www.cpuid.com/) or vCenter Operations Manager from VMware, Ine. (Https: // www. vmware.com/de/products/vcenter-server.html)).
  • CPU-ID or HWMonitor Pro from CPUID (https://www.cpuid.com/) or vCenter Operations Manager from VMware, Ine. (Https: // www. vmware.com/de/products/vcenter-server.html)
  • the activity data are preferably recorded over an observation period.
  • the observation period can be one hour or several hours, for example.
  • the observation period is preferably at least one day, preferably at least 5 days to 10 days.
  • the activity data can be recorded regularly and / or irregularly within the observation period. They are preferably recorded regularly, preferably periodically (for example every 1 to 15 minutes or once an hour or the like).
  • the activity data can be fed into the forecast model as a time series to identify unused servers. From the time series, however, values can also be derived using statistical or other mathematical methods, which are then fed into the forecast model as activity data. Examples of such values are: the arithmetic mean over an observation period, the variance, the standard deviation, the maximum, the minimum, the median, the sum, the longest period with values above the mean, the number of values above / below the mean, Fourier coefficients, entropy, first occurrence of the maximum, quantile values, skewness, the number of peaks, number of values over a multiple of the standard deviation, robust z-score, autocorrelation, linear trend and / or other / more.
  • a feature vector is usually generated for a server on the basis of the activity data.
  • a feature vector summarizes the (preferably numerically) parameterizable properties (features) of an object in a vectorial manner. Different features characteristic of the object form the different dimensions of this vector. The totality of the possible feature vectors is called the feature space. Feature vectors, for example, facilitate automatic classification since they greatly reduce the properties to be classified.
  • the object is the server for which it is to be determined whether it is used or not.
  • a feature vector is assigned to each object and is fed to the prediction model.
  • the prediction model is preferably a model that has been trained with the aid of machine learning to distinguish between used and unused servers on the basis of activity data.
  • the predictive model has been trained through supervised learning.
  • a training data set and a validation data set from reference servers are usually used here to generate and validate a statistical model. It is known from the reference servers whether they are used or not.
  • Reference activity data is available for the reference servers.
  • the model learns which features of the reference activity data are characteristic of used servers and which features of the reference activity data are characteristic of unused servers.
  • the remaining part of the reference activity data (validation data set) can be used to check how good the predictions of the prediction model are, i.e. with what error rates for the reference servers of the validation data set a prediction is made on the basis of the reference activity data as to whether it is a used or an unused server acts.
  • the prediction model can be a classification model, for example.
  • a classification model assigns a server to one of at least two classes on the basis of activity data.
  • a first class includes idle servers; a second class comprises used servers.
  • first class that includes servers that are very likely to be unused (e.g. greater than 90%)
  • second class that includes servers that are very unlikely to be used (e.g. less than 10%) that they are unused
  • third class which includes servers that cannot be assigned to either the first or the second class.
  • Meaningful probabilities can be determined from the learning process with which the respective classification model was created.
  • the prediction model can also be a regression model.
  • the regression model can, for example, use the activity data to calculate the probability that the server is unused and / or used for a server.
  • the prediction model (e.g. a classification model or a regression model) is preferably created on the basis of a self-learning algorithm.
  • the prediction model is particularly preferably created by means of monitored learning.
  • the result of the creation of the model is a prediction model (eg a classification model or a regression model) that can also be used on "unknown" servers.
  • An "unknown" server is a server for which it is not known whether it is a used or an unused server.
  • the activity data of an "unknown” server is fed into the prediction model and the prediction model calculates a probability value.
  • the probability value represents a probability that the server is an unused server.
  • the probability value usually depends on the model used.
  • the probability value (result value) can, for example, indicate the class to which the server has been assigned.
  • the probability value can, for example, indicate the probability that the server is an unused server.
  • the probability value is output as a result from the prediction model and can be output and / or stored for a user.
  • the user can recognize whether the “unknown” server is (more likely) a used or (more likely) an unused server. It is also conceivable that it is not the probability value itself that is output to the user, but rather information derived from the probability value. It is conceivable, for example, that the probability value indicates the probability that the "unknown" server is an unused server; If the probability value is above a defined threshold value, information can be output to the user, for example, which the user interprets to the effect that it is an unused server.
  • the user can For example, information can be output which the user interprets to the effect that it is a used server.
  • the information can be a word, a sentence, a graphic, a symbol, a table entry and / or the like.
  • unused and used servers can be distinguished.
  • a term used synonymously with the term “unused server” in the technical world is the term “comatose server”.
  • the user of the present invention can, to a certain extent, determine what is to be understood by an unused server as part of the generation of the prediction model.
  • the predictive model is trained using reference servers and reference activity data. In the case of monitored learning, it is known for the reference servers whether they are used or not. Depending on what the user understands by a used and unused server, he will make the appropriate assignment of the reference server to used and unused servers. This assignment is then learned from the predictive model and applied to "unknown" servers. The assignment (i.e. the definition of what an idle server is) is thus anchored in the prediction model.
  • a server is unused if, over a defined period of time, it does not perform any activity that is caused by a human user in the defined period of time and / or serves a human user in the period of time.
  • a server is unused if it can be removed from the network without the removal having a negative impact on a (human) user.
  • a server is unused if it can be removed from the network without a (human) user noticing the removal.
  • a server is unused if it can be removed from the network without the processes initiated by the user on other servers or clients being impaired.
  • a server is idle if it was accidentally installed and not removed again.
  • a server is unused if it is used by too few people or on too few days / times.
  • a server is idle if it has been scaled too large. This means that the server has more CPU or RAM available than is necessary for it and its running processes.
  • the method according to the invention runs automatically as a background process.
  • "Automatic” or “automated” means that no human intervention is required.
  • a computer program is based on the invention Apparatus installed that continuously collects activity data from servers in a network, generates a feature vector from the activity data of each server, inputs the feature vectors into a prediction model and receives a probability value from the prediction model.
  • the computer program can be configured to compare the probability value with a threshold value.
  • the computer program can be configured to output a name and / or an identifier to a user for each server for which the threshold value exceeds the probability value. The user can thus be informed continuously and automatically about servers in a network that are not being used.
  • Fig. 1 data on the CPU usage of six servers ((a), (b), (c), (d), (e), (f)) are compared to one another during an observation period.
  • the graphs show the CPU usage of the server (ordinate: number N of active processor cores) as a function of time t (abscissa: time in hours).
  • the graphs marked with the letter A show the processor cores active at the time.
  • the graphs marked with the letter B show an average value of the number of active processor cores over a period of 24 hours (moving arithmetic average).
  • the graphs on the left Fig.
  • FIG. 2 data on the network traffic of six servers ((a), (b), (c), (d), (e), (f)) are compared to one another during an observation period.
  • the graphs show the rates of the incoming data on the respective server (ordinate: data rate T) as a function of time t (abscissa: time in hours).
  • the graphs marked with the letter A show the data rates at the respective point in time.
  • the graphs marked with the letter B show a mean value of the data rates over a period of 24 hours (arithmetic mean value).
  • the graphs on the left Fig.
  • the device (1) comprises an input unit (10), a control and computing unit (20) and an output unit (30).
  • the input unit (10) receives activity data from servers and forwards them to the control and processing unit (20) (represented by the arrow between the input unit and the control and processing unit).
  • the control and computing unit (20) includes a prediction model (not explicitly shown in FIG. 3).
  • the prediction model is trained, unused servers by used servers differentiate based on activity data.
  • the control and computing unit (20) feeds the activity data to the prediction model.
  • the predictive model calculates a probability value based on the activity data.
  • the probability value represents a probability that the server is an unused server.
  • the control and computing unit (20) transmits the probability value and / or information derived from the probability value to the output unit (30) (represented by the arrow between the control and computing unit and the output unit).
  • the output unit (30) can display the probability value and / or the derived information to a user.
  • the device (1) can be a computer, for example. It is also conceivable to use several computers that are linked to one another via a network.
  • Fig. 4 shows schematically in the form of a flow chart an embodiment of the method according to the invention.
  • the procedure consists of the following steps:
  • Training dataset on the activity of reference servers has been trained to distinguish unused reference servers from used reference servers
  • FIGS. 5 and 6 show the results of the generation and validation of a prediction model with the aid of 1153 reference servers of an internal network.
  • a prediction model was trained on the basis of the activity data from 923 servers (training data set).
  • the processor utilization in percent
  • the incoming data on the respective server in kilobits per second
  • the data outgoing from the respective server in kilobits per second
  • input / output processes for data storage storage demand, in kilobits per Second
  • an artificial neural network of the type LSTM Long Short-Term Memory
  • the model was trained to output a value between 0 and 1 for unused reference servers, which is approximated as a regression value.
  • a value close to 0 means that the server associated with the input data is rather unused.
  • a regression value close to 1 means that the associated server is more in use.
  • the trained prediction model (LSTM network) was then validated with a validation data set.
  • Fig. 5 shows the result of the training in the form of a bar chart.
  • the abscissa (x-axis) is divided into ten sections: 0.0 ⁇ x ⁇ 0.1, 0.1 ⁇ x ⁇ 0.2, 0.2 ⁇ x ⁇ 0.3, 0.3 ⁇ x ⁇ 0.4, 0.4 ⁇ x ⁇ 0.5, 0.5 ⁇ x ⁇ 0.6, 0.6 ⁇ x ⁇ 0.7, 0.7 ⁇ x ⁇ 0.8, 0.8 ⁇ x ⁇ 0.9, 0.9 ⁇ x ⁇ 1.0.
  • the value x reflects the value that the neural network outputs as an output when a feature vector (activity data) for a Server is fed.
  • the respective number of reference servers for which the prediction model outputs an x value within one of the ten sections as the input value is plotted on the ordinate.
  • the majority of the unused servers are assigned to the section 0.0 ⁇ x ⁇ 0.1; the majority of the servers of the class used the section 0.9 ⁇ x ⁇ 1.0.
  • the abscissa (x-axis) is divided into ten sections as in FIG. 5: 0.0 ⁇ x ⁇ 0.1, 0.1 ⁇ x ⁇ 0.2, 0.2 ⁇ x ⁇ 0.3, 0.3 ⁇ x ⁇ 0.4, 0.4 ⁇ x ⁇ 0.5, 0.5 ⁇ x ⁇ 0.6, 0.6 ⁇ x ⁇ 0.7, 0.7 ⁇ x ⁇ 0.8, 0.8 ⁇ x ⁇ 0.9, 0.9 ⁇ x ⁇ 1.0
  • the value x reflects the value that the neural network outputs as output if a feature vector (activity data) for fed into a server.
  • the respective number of reference servers for which the prediction model outputs an x value within one of the ten sections as the input value is plotted on the ordinate.
  • the majority of the unused servers are assigned to the section 0.0 ⁇ x ⁇ 0.1; the majority of the servers of the class used the section 0.9 ⁇ x ⁇ 1.0.
  • test data set and validation data set were used to train and validate a classification model based on XGBoost.
  • the following parameters were derived for each of the values mentioned as a function of time: the global maximum, the arithmetic mean, the longest period with values above the mean (longest strike above mean), the variance, the standard deviation and Fourier coefficients. This resulted in 24 values for each reference server, from which a feature vector was generated for each reference server. These characteristics were used as input for the XGBoost procedure. The accuracy here was 92.5%.
  • a combination of the LSTM network and the XGBoost classifier made it possible to achieve an accuracy of 95.8%.
  • the output values of the two methods (the class assignment of the XGBoost in "unused” equals 0 and “used” equals 1; and the regression value of the LSTM) were combined in a feature vector and together with the reference values of the servers to be classified in a further algorithm given as input values.
  • Several models, such as a neural network, are conceivable for this algorithm.
  • an XGBoost classifier was calculated again.
  • the strengths of the LSTM network and XGBoost could be successfully combined in the resulting ensemble.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

Die vorliegende Erfindung befasst sich mit dem Auffinden von ungenutzten Servern in einem Netzwerk. Gegenstände der vorliegenden Erfindung sind ein Verfahren, eine Vorrichtung und ein Computerprogrammprodukt zum Auffinden von ungenutzten Servern.

Description

Identifizieren von ungenutzten Servern
Die vorliegende Erfindung befasst sich mit dem Auffinden von ungenutzten Servern in einem Netzwerk. Gegenstände der vorliegenden Erfindung sind ein Verfahren, eine Vorrichtung und ein Computerprogrammprodukt zum Auffinden von ungenutzten Servern.
In vielen Unternehmen sind die IT -Infrastrukturen komplex und unzureichend dokumentiert. Beispielsweise werden oftmals Veränderungen nicht (ausreichend) dokumentiert und/oder Test-Server vergessen. Wenn IT-Mitarbeiter eine neue Position einnehmen, verschwindet das nicht schriftlich festgehaltene Wissen über die IT-Infrastrukturkomponenten. Die Folge ist, dass IT-Komponenten vergessen werden und ungenutzt sind. Gemäß einer Schätzung sind durchschnittlich 30% der Server in heutigen Rechenzentren ungenutzt (https://blog.anthesisgroup.com/30-of-servers-are-sitting-comatose).
Die Identifizierung und Eliminierung ungenutzter Server senken nicht nur Kosten für Energie, Wartung, Softwarelizenzen, Betriebskosten und Räumlichkeiten, sie führen auch zu einer Reduzierung von Sicherheitsrisiken und der Minderung der Ausfallwahrscheinlichkeit von Netzwerkkomponenten.
Um ungenutzte Server zu identifizieren, reicht es nicht aus, die CPU -Nutzung (CPU: Central Processing Unit) oder den Netzwerkverkehr von Servern zu überwachen. Dies konnte durch eigene Untersuchungen in einem internen Netzwerk bestätigt werden (siehe Figuren 1 und 2 sowie die dazugehörigen Beschreibung weiter unten). Dies liegt u.a. daran, dass es kein intuitives Kriterium gibt, ungenutzte von genutzten Servern zu unterscheiden, denn auf allen Servern laufen üblicherweise Standardprozesse wie z.B. Patching und Virenscanning, die CPU-Last und Netzwerkverkehr erzeugen. Auch haben vergessene Server oftmals noch Applikationen installiert, die automatische Prozesse starten und damit für CPU- Last, Netzwerk- und Storage-Verkehr sorgen. Tatsächlich können CPU- Netzwerk- und Storage -Profile für genutzte und ungenutzte Server verblüffend ähnlich aussehen.
N. Joukov und V. Shorokhov schlagen in ihrer Veröffentlichung mit dem Titel " Hunt for Unused Servers " eine Methode zur Identifizierung nicht verwendeter IT-Ressourcen basierend auf topologischen Abhängigkeiten der IT-Komponenten und der Weitergabe von Nutzungsinformationen entlang eines Abhängigkeitsgrafen vor (https://www.usenix.org/system/files/conference/cooldc 16/cooldc 16-paper- joukov.pdf).
Die vorgeschlagene Methode ist jedoch aufwändig, da die Gesamtheit miteinander verknüpfter Server betrachtet wird und für jeden Server entsprechende Nutzungsinformationen gesammelt werden müssen, wie im Folgenden verdeutlicht wird. Die in der genannten Publikation vorgeschlagene Topologie- Analyse beruht auf der Auswertung von Netzwerk-Kommunikation. D.h. ausgehend von Front-End- Servem wird exploriert, welche Server von diesen in Folge angesprochen werden. Diese Nutzungsdaten können für Intranet-Applikationen oftmals nicht über Hardware gesammelt werden, da die Server einer Intranet-Applikation meistens im gleichen logischen Netzwerk stehen und meistens nicht durch eine Firewall getrennt sind, wo man solche Daten sammeln könnte. Eine solche Analyse beruht also auf der Installation lokaler Skripte, die Netzwerkverbindungen direkt auf dem Server protokollieren. Hierzu ist es notwendig, entsprechende Skripte zu entwickeln, die den laufenden Betrieb nicht gefährden, diese auf allen Server zu verteilen, dann von allen Servern die Ergebnisse einzusammeln und die riesige Datenflut auszuwerten. Allein das Protokollieren der Netzwerkverbindungen auf einem Server kann, wie eigene Untersuchungen gezeigt haben, zu Speicher- und CPU-Problemen führen, was ein Risiko für den laufenden Applikationsbetrieb darstellt. Die Auswertung wird insbesondere dadurch erschwert, dass nicht nur eine Kommunikation zu Servern der gleichen Applikation stattfindet, sondern zu vielen anderen Infrastrukturkomponenten wie zu Authentisierungs-Servem, SIEM-Servem, Antiviren-Servem, Patching-Servem, Monitoring-Servern, Backup-Servern, Administrations-Servern, File-Servern etc.
Ausgehend vom beschriebenen Stand der Technik stellt sich die technische Aufgabe, in effizienter und effektiver Weise ungenutzte Server in einem Netzwerk zu identifizieren.
Diese Aufgabe wird durch die Gegenstände der unabhängigen Patentansprüche gelöst. Bevorzugte Ausführungsformen finden sich in den abhängigen Patentansprüchen sowie in der vorliegenden Beschreibung und in den Zeichnungen.
Ein erster Gegenstand der vorliegenden Erfindung ist ein Verfahren umfassend die Schritte:
Erfassen von Daten zur Aktivität eines Servers,
Eingeben der Daten in ein Vorhersagemodell, wobei das Vorhersagemodell auf Basis eines Trainingsdatensatzes zur Aktivität von Referenzservem trainiert worden ist, ungenutzte Referenzserver von genutzten Referenzservem zu unterscheiden,
Empfangen eines Wahrscheinlichkeitswertes, wobei der Wahrscheinlichkeitswert eine Wahrscheinlichkeit wiedergibt, mit der es sich bei dem Server um einen ungenutzten Server handelt Übermitteln einer Mitteilung an einen Nutzer, wobei die Mitteilung eine Information darüber umfasst, dass es sich bei dem Server um einen ungenutzten Server oder um einen genutzten Server handelt.
Ein weiterer Gegenstand der vorliegenden Erfindung ist eine Vorrichtung umfassend:
- eine Eingabeeinheit,
- eine Steuer- und Recheneinheit und
- eine Ausgabeeinheit,
wobei die Steuer- und Recheneinheit konfiguriert ist, die Eingabeeinheit zu veranlassen, Daten zur Aktivität eines Servers zu empfangen,
wobei die Steuer- und Recheneinheit konfiguriert ist, auf Basis der Daten zur Aktivität des Servers einen Wahrscheinlichkeitswert zu berechnen, wobei der Wahrscheinlichkeitswert eine Wahrscheinlichkeit repräsentiert, dass es sich bei dem Server um einen ungenutzten Server handelt, wobei die Berechnung des Wahrscheinlichkeitswerts mit einem Vorhersagemodell erfolgt, wobei das Vorhersagemodell auf Basis eines Trainingsdatensatzes zur Aktivität von Referenzservem trainiert worden ist, ungenutzte Referenzserver von genutzten Referenzservem zu unterscheiden,
wobei die Steuer- und Recheneinheit konfiguriert ist, die Ausgabeeinheit zu veranlassen, den Wahrscheinlichkeitswert und/oder eine vom Wahrscheinlichkeitswert abgeleitete Information gegenüber einem Nutzer auszugeben. Ein weiterer Gegenstand der vorliegenden Erfindung ist ein Computerprogrammprodukt umfassend ein Computerprogramm, das in einen Arbeitsspeicher eines Computers geladen werden kann und dort den Computer dazu veranlasst, folgende Schritte ausführen:
Empfangen von Daten zur Aktivität eines Servers,
Zufuhren der Daten einem Vorhersagemodell, wobei das Vorhersagemodell auf Basis eines Trainingsdatensatzes zur Aktivität von Referenzservem trainiert worden ist, ungenutzte Referenzserver von genutzten Referenzservem zu unterscheiden,
Berechnen eines Wahrscheinlichkeitswertes mit Hilfe des Vorhersagemodells, wobei der Wahrscheinlichkeitswert eine Wahrscheinlichkeit wiedergibt, mit der es sich bei dem Server um einen ungenutzten Server handelt,
Ausgeben des Wahrscheinlichkeitswertes und/oder einer vom Wahrscheinlichkeitswert abgeleiteten Information gegenüber einem Nutzer.
Die Erfindung wird nachstehend näher erläutert, ohne zwischen den Erfmdungsgegenständen (Verfahren, Vorrichtung, Computerprogrammprodukt) zu unterscheiden. Die nachfolgenden Erläuterungen sollen vielmehr für alle Erfmdungsgegenstände in analoger Weise gelten, unabhängig davon, in welchem Kontext (Verfahren, Vorrichtung, Computerprogrammprodukt) sie erfolgen.
Wenn in der vorliegenden Beschreibung oder in den Patentansprüchen Schritte in einer Reihenfolge genannt werden, bedeutet dies nicht zwingend, dass die Erfindung auf die genannte Reihenfolge beschränkt ist. Vielmehr ist denkbar, dass die Schritte auch in einer anderen Reihenfolge oder auch parallel zueinander ausgeführt werden können; es sei denn, ein Schritt baut auf einem anderen Schritt auf, was zwingend erforderlich macht, dass der aufbauende Schritt nachfolgend ausgeführt wird (was im Einzelfall aber deutlich wird). Die genannten Reihenfolgen stellen damit bevorzugte Ausführungsformen der Erfindung dar.
Mit Hilfe der vorliegenden Erfindung kann für einen Server anhand von Aktivitätsdaten schnell, einfach und mit einer geringen Fehlerrate ermittelt werden, ob es sich bei dem Server um einen genutzten oder um einen ungenutzten Server handelt.
Ein "Server" ist ein Computer, der Computerfunktionalitäten wie Dienstprogramme, Daten oder andere Ressourcen bereitstellt, damit andere Computer oder Programme („Clients“) über ein Netzwerk darauf zugreifen können.
Ein "Computer" ist eine Vorrichtung zur elektronischen Datenverarbeitung, die mittels programmierbarer Rechenvorschriften Daten verarbeitet. Das heute allgemein angewandte Prinzip, das auch als Von-Neumann-Architektur bezeichnet wird, definiert für einen Computer fünf Hauptkomponenten: das Rechenwerk (im Wesentlichen die arithmetisch-logische Einheit (ALU)), das Steuerwerk, die Buseinheit, das Speicherwerk sowie die Eingabe-/Ausgabewerk(e). In den heutigen Computern sind die ALU und die Steuereinheit meistens zu einem Baustein verschmolzen, der so genannten CPU (Central Processing Unit, zentraler Prozessor).
Als "Peripherie" bezeichnet man in der Computertechnik alle Geräte, die an den Computer angeschlossen sind, und zur Steuerung des Computers und/oder als Ein- und Ausgabegeräte dienen. Beispiele hierfür sind Monitor (Bildschirm), Drucker, Scanner, Maus, Tastatur, Laufwerke, Kamera, Mikrofon, Lautsprecher etc. Auch interne Anschlüsse und Erweiterungskarten gelten in der Computertechnik als Peripherie.
Computer von heute werden häufig in Desktop-PCs, Portable PCs, Laptops, Notebooks, Netbooks und Tablet-PCs und so genannte Handheids (z.B. Smartphone) unterteilt; alle diese Geräte können zur Ausführung der Erfindung genutzt werden.
Die Eingaben in den Computer erfolgen über Eingabemittel wie beispielsweise eine Tastatur, eine Maus, ein Mikrofon und/oder dergleichen. Ausgaben erfolgen üblicherweise über einen Bildschirm (Monitor), auf einem Drucker, über Lautsprecher und/oder durch Speicherung auf einem Datenspeicher.
Bei dem Server, für den ermittelt werden soll, ob er genutzt oder ungenutzt ist, kann es sich auch um einen "virtuellen Server" handeln, d.h. eine virtuelle Maschine, die als Server genutzt wird. Als "virtuelle Maschine" wird in der Informatik die softwaretechnische Kapselung eines Computersystems innerhalb eines lauffähigen Computersystems bezeichnet. Die virtuelle Maschine bildet die Rechnerarchitektur eines real in Hardware existierenden oder eines hypothetischen Computers nach.
"Aktivitätsdaten" (= Daten zur Aktivität eines Servers) sind Daten, die eine Aktivität eines Servers anzeigen und/oder mit dem Maß der Aktivität korrelieren. Ein Server ist beispielsweise dann aktiv, wenn Daten in den Server eingehen und/oder aus dem Server ausgehen und/oder Berechnungen durch einen oder mehrere Prozessoren des Servers durchgeführt werden.
Beispiele für Aktivitätsdaten sind Prozessorauslastung, Zahl der zu einem Zeitpunkt durchgeführten Prozesse, verfügbarer Arbeitsspeicher, Netzwerkaktivität, CPU-Temperatur, Kühlleistung, Stromverbrauch u.a.
Die Prozessorauslastung (auch CPU-Last oder CPU-Auslastung) wird für Multitasking-Systeme ermittelt. Sie beschreibt, welchen Anteil seiner Arbeitszeit einer oder mehrere der Hauptprozessoren eines Computers tatsächlich produktive Aufgaben bearbeitet und wird üblicherweise prozentual angegeben.
Die Netzwerkaktivität kann beispielsweise als Menge der Daten pro Zeiteinheit, die auf dem Server eingehen und/oder vom Server ausgehen, angegeben werden.
Vorzugsweise werden eine oder mehrere der folgenden Aktivitätsdaten erfasst: CPU-Nutzung (z.B. Anzahl der genutzten Prozessorkeme (Cores)), ausgehender Netzwerkverkehr (z.B. gemessen in kbps), eingehender Netzwerkverkehr (z.B. gemessen in kbps), Eingabe/Ausgabe -Vorgänge für Datenspeicher (storage demand, z.B. gemessen in kbps), Arbeitsspeicherauslastung (RAM-Auslastung, z.B. gemessen in Bytes).
Die Aktivitätsdaten können mit gängigen Softwareprogrammen erfasst werden (z.B. CPU-ID oder HWMonitor Pro der Fa. CPUID (https://www.cpuid.com/) oder vCenter Operations Manager der Fa. VMware, Ine. (https://www.vmware.com/de/products/vcenter-server.html)).
Die Aktivitätsdaten werden vorzugsweise über einen Beobachtungszeitraum erfasst. Der Beobachtungszeitraum kann beispielsweise eine Stunde oder mehrere Stunden betragen. Vorzugsweise beträgt der Beobachtungszeitraum mindestens einen Tag, vorzugsweise mindestens 5 Tage bis 10 Tage. Die Aktivitätsdaten können innerhalb des Beobachtungszeitraums regelmäßig und/oder unregelmäßig erfasst werden. Vorzugsweise werden sie regelmäßig erfasst, vorzugsweise periodisch (z.B. alle 1 bis 15 Minuten oder einmal in der Stunde oder dergleichen).
Die Aktivitätsdaten können als Zeitreihe in das Vorhersagemodell zur Identifizierung ungenutzter Server eingespeist werden. Aus den Zeitreihen können aber auch mittels statistischer oder anderer mathematischer Methoden Werte abgeleitet werden, die dann als Aktivitätsdaten in das Vorhersagemodell eingespeist werden. Beispiele für solche Werte sind: das arithmetische Mittel über einen Beobachtungszeitraum, die Varianz, die Standardabweichung, das Maximum, das Minimum, der Median, die Summe, der längste Zeitraum mit Werten oberhalb des Mittelwerts, die Anzahl der Werte oberhalb/unterhalb des Mittelwertes, Fourierkoeffizienten, Entropie, erstes Auftreten des Maximums, Quantil-Werte, Schiefe ( skewness ), die Anzahl der Peaks, Anzahl der Werte über einem Vielfachen der Standardabweichung, robuster z-Score, Autokorrelation, linearer Trend und/oder andere/weitere.
Üblicherweise wird auf Basis der Aktivitätsdaten für einen Server ein Merkmalsvektor erzeugt. Generell gilt, dass ein Merkmalsvektor (engl.: feature vector) die (vorzugsweise numerisch) parametrisierbaren Eigenschaften (Merkmale) eines Objekts in vektorieller Weise zusammenfasst. Verschiedene, für das Objekt charakteristische Merkmale bilden die verschiedenen Dimensionen dieses Vektors. Die Gesamtheit der möglichen Merkmalsvektoren nennt man den Merkmalsraum. Merkmalsvektoren erleichtern beispielsweise eine automatische Klassifikation, da sie die zu klassifizierenden Eigenschaften stark reduzieren. Das Objekt ist im vorliegenden Fall der Server, für den ermittelt werden soll, ob er genutzt oder ungenutzt ist. Jedem Objekt wird ein Merkmalsvektor zugeordnet, der dem Vorhersagemodell zugeführt wird.
Das Vorhersagemodell ist vorzugsweise ein Modell, das mit Hilfe von maschinellem Lernen trainiert worden ist, anhand von Aktivitätsdaten genutzte und ungenutzte Server voneinander zu unterscheiden. Vorzugsweise wurde das Vorhersagemodell durch überwachtes Lernen trainiert. Hierbei werden üblicherweise ein Trainings- und ein Validierungsdatensatz von Referenzservem verwendet, um ein statistisches Modell zu erzeugen und zu validieren. Von den Referenzservem ist jeweils bekannt, ob sie genutzt oder ungenutzt sind. Für die Referenzserver liegen Referenzaktivitätsdaten vor. Anhand eines Teils der Referenzaktivitätsdaten (Trainingsdatensatz) lernt das Modell, welche Merkmale der Referenzaktivitätsdaten charakteristisch für genutzte und welche Merkmale der Referenzaktivitätsdaten charakteristisch für ungenutzte Server sind. Mit dem übrigen Teil der Referenzaktivitätsdaten (Validierungsdatensatz) kann überprüft werden, wie gut die Vorhersagen des Vorhersagemodells sind, d.h. mit welchen Fehlerraten für die Referenzserver des Validierungsdatensatzes auf Basis der Referenzaktivitätsdaten eine Vorhersage getroffen wird, ob es sich um einen genutzten oder um einen ungenutzten Server handelt.
Das Vorhersagemodell kann beispielsweise ein Klassifikationsmodell sein. Ein solches Klassifikationsmodell ordnet einen Server anhand von Aktivitätsdaten einer von mindestens zwei Klassen zu. Eine erste Klasse umfasst ungenutzte Server; eine zweite Klasse umfasst genutzte Server.
Es ist denkbar, dass mehr als zwei Klassen vorhanden sind. Denkbar sind beispielsweise drei Klassen: eine erste Klasse, die Server umfasst, bei denen die Wahrscheinlichkeit sehr groß ist (z.B. größer als 90%), dass sie ungenutzt sind, eine zweite Klasse, die Server umfasst, bei denen die Wahrscheinlichkeit sehr gering ist (z.B. kleiner als 10%), dass sie ungenutzt sind, und eine dritte Klasse, die Server umfasst, die weder der ersten noch der zweiten Klasse zuordenbar sind. Für die Server der dritten Klasse herrscht somit eine gewisse Unsicherheit, ob es sich um genutzte oder ungenutzte Server handelt. Sinnvolle Wahrscheinlichkeiten lassen sich aus dem Lernprozess, mit dem das jeweilige Klassifikationsmodell erstellt worden ist, ermitteln.
Bei dem Vorhersagemodell kann es sich auch um ein Regressionsmodell handeln. Das Regressionsmodell kann beispielsweise für einen Server anhand der Aktivitätsdaten die Wahrscheinlichkeit berechnen, dass der Server ungenutzt ist und/oder genutzt ist.
Das Vorhersagemodell (z.B. ein Klassifikationsmodell oder ein Regressionsmodell) wird vorzugsweise auf Basis eines selbstlernenden Algorithmus erstellt. Besonders bevorzugt wird das Vorhersagemodell mittels überwachten Lernens erstellt.
Für die Erstellung von Klassifikationsmodellen gibt es eine Vielzahl an Methoden, wie beispielsweise Random Forest oder Gradient Boosting. Für die Erstellung eines Regressionsmodells gibt es ebenfalls eine Vielzahl an Methoden, wie beispielsweise die logistische Regression. Diese und weitere Verfahren zur Klassifikation und Regression sind vielfältig im Stand der Technik beschrieben (siehe z.B. Norman Matloff: Statistical Regression and Classification Front Linear Models to Machine Learning, Texts in Statistical Science, CRC Press 2017, ISBN 978-1-4987-1091-6; Pratap Dangeti, Statistics for Machine Learning, Packt Publishing 2017, ISBN 978-1-78829-575-8).
Denkbar ist auch die Verwendung eines künstlichen neuronalen Netzes, das mittels eines Trainingsdatensatzes zum Beispiel über ein Backpropagations-Verfahren trainiert worden, ungenutzte von genutzten Servern zu unterscheiden. Details zur Erzeugung eines künstlichen neuronalen Netzes können der umfangreichen Fachliteratur entnommen werden (siehe z.B. Francois Chollet: Deep Learning mit Python und Keras, mitp Verlags GmbH & Co. KG, 2018, ISBN 978-1617294433).
Das Ergebnis der Modellerstellung ist ein Vorhersagemodell (z.B. ein Klassifikationsmodell oder ein Regressionsmodell), das auch auf "unbekannte" Server anwendbar ist. Dabei ist ein "unbekannter" Server ein Server, für den nicht bekannt ist, ob es sich um einen genutzten oder ungenutzten Sever handelt. Die Aktivitätsdaten eines "unbekannten" Servers werden in das Vorhersagemodell eingespeist und das Vorhersagemodell berechnet einen Wahrscheinlichkeitswert. Der Wahrscheinlichkeitswert repräsentiert eine Wahrscheinlichkeit, mit der es sich beim dem Server um einen ungenutzten Server handelt. Der Wahrscheinlichkeitswert richtet sich üblicherweise nach dem verwendeten Modell. Bei Verwendung eines Klassifikationsmodells kann der Wahrscheinlichkeitswert (Ergebniswert) beispielsweise die Klasse angeben, der der Server zugordnet worden ist. Bei Verwendung eines Regressionsmodells kann der Wahrscheinlichkeitswert beispielsweise die Wahrscheinlichkeit angeben, dass es sich bei dem Sever um einen ungenutzten Server handelt. Der Wahrscheinlichkeitswert wird als Ergebnis vom Vorhersagemodell ausgegeben und kann gegenüber einem Nutzer ausgegeben und/oder gespeichert werden. Anhand des Wahrscheinlichkeitswerts kann der Nutzer erkennen, ob es sich bei dem "unbekannten" Server (eher) um einen genutzten oder (eher) um einen ungenutzten Server handelt. Denkbar ist auch, dass nicht der Wahrscheinlichkeitswert selbst gegenüber dem Nutzer ausgegeben wird sondern eine vom Wahrscheinlichkeitswert abgeleitete Information. Denkbar ist zum Beispiel, dass der Wahrscheinlichkeitswert die Wahrscheinlichkeit angibt, dass es sich bei dem "unbekannten" Server um einen ungenutzten Server handelt; liegt die Wahrscheinlichkeitswert oberhalb eines definierten Schwellwertes, kann gegenüber dem Nutzer beispielsweise eine Information ausgegeben werden, die der Nutzer dahingehend interpretiert, dass es sich um einen ungenutzten Server handelt. Liegt die Wahrscheinlichkeitswert unterhalb eines definierten Schwellenwertes, kann gegenüber dem Nutzer beispielsweise eine Information ausgegeben werden, die der Nutzer dahingehend interpretiert, dass es sich um einen genutzten Server handelt. Die Information kann ein Wort, ein Satz, eine Grafik, ein Symbol, ein Tabelleneintrag und/oder dergleichen sein.
Mit Hilfe der vorliegenden Erfindung können ungenutzte von genutzten Servern unterschieden werden. Ein in der Fachwelt synonym zum Begriff "ungenutzter Server" (engl unused Server) verwendeter Begriff ist der Begriff "komatöser Server" (engl comatose Server). Dabei kann der Nutzer der vorliegenden Erfindung in einem gewissen Ausmaß im Rahmen der Erzeugung des Vorhersagemodells selbst festlegen, was unter einem ungenutzten Server zu verstehen ist. Das Vorhersagemodell wird mit Hilfe von Referenzservem und Referenzaktivitätsdaten trainiert. Für die Referenzserver ist bei einem überwachten Lernen bekannt, ob sie genutzt oder ungenutzt sind. Je nachdem, was der Nutzer unter einem genutzten und ungenutzten Server versteht, wird er die entsprechende Zuordnung der Referenzserver zu genutzten und ungenutzten Servern vornehmen. Diese Zuordnung wird dann von dem Vorhersagemodell gelernt und auf "unbekannte" Server angewendet. Die Zuordnung (d.h. die Definition, was ein ungenutzter Server ist) ist damit in dem Vorhersagemodell verankert.
Die nachfolgenden Definitionen für den Begriff "ungenutzt" sind damit lediglich bevorzugte Ausführungsformen der vorliegenden Erfindung. Es ist denkbar, dass ein ungenutzter Server im Sinne der vorliegenden Erfindung eine oder mehrere der nachfolgenden Definitionen erfüllt.
In einer Ausführungsform der vorliegenden Erfindung ist ein Server dann ungenutzt, wenn er über eine definierte Zeitspanne keine Aktivität leistet, die durch einen menschlichen Nutzer in der definierten Zeitspanne hervorgerufen wird und/oder einem menschlichen Nutzer in der Zeitspanne dient.
In einer Ausführungsform der vorliegenden Erfindung ist ein Server dann ungenutzt, wenn er aus dem Netzwerk entfernt werden kann, ohne dass die Entfernung einen negativen Einfluss auf einen (menschlichen) Nutzer hat.
In einer Ausführungsform der vorliegenden Erfindung ist ein Server dann ungenutzt, wenn er aus dem Netzwerk entfernt werden kann, ohne dass ein (menschlicher) Nutzer das Entfernen bemerkt.
In einer Ausführungsform der vorliegenden Erfindung ist ein Server dann ungenutzt, wenn er aus dem Netzwerk entfernt werden kann, ohne dass die von Nutzem angestoßenen Prozesse auf anderen Servern oder Clients beeinträchtigt werden.
In einer Ausführungsform der vorliegenden Erfindung ist ein Server dann ungenutzt, wenn er versehentlich installiert wurde und nicht wieder entfernt wurde.
In einer Ausführungsform der vorliegenden Erfindung ist ein Server dann ungenutzt, wenn er von zu wenigen Personen oder an zu wenigen Tagen/Zeitpunkten benutzt wird.
In einer Ausführungsform der vorliegenden Erfindung ist ein Server dann ungenutzt, wenn er zu groß skaliert wurde. Das bedeutet, dass der Server mehr CPU oder RAM zur Verfügung hat, als für ihn und seine laufenden Prozesse notwendig sind.
In einer bevorzugten Ausführungsform läuft das erfindungsgemäße Verfahren automatisch als Hintergrundprozess ab. "Automatisch“ oder„automatisiert" bedeutet, dass keinerlei menschliches Zutun erforderlich ist. Erfindungsgemäß ist also ein Computerprogramm auf der erfindungsgemäßen Vorrichtung installiert, das fortlaufend Aktivitätsdaten von Servern in einem Netzwerk einsammelt, aus den Aktivitätsdaten jedes Servers jeweils einen Merkmalsvektor erzeugt, die Merkmalsvektoren in ein Vorhersagemodell eingibt und von dem Vorhersagemodell einen Wahrscheinlichkeitswert empfängt. Das Computerprogramm kann konfiguriert sein, den Wahrscheinlichkeitswert mit einem Schwellenwert zu vergleichen. Das Computerprogramm kann konfiguriert sein, für jeden Server, bei dem der Schwellenwert den Wahrscheinlichkeitswert übersteigt, eine Namen und/oder eine Kennzeichnung gegenüber einem Nutzer auszugeben. Der Nutzer kann somit also fortlaufend und automatisierte über Server in einem Netzwerk informiert werden, die ungenutzt sind.
Die Erfindung wird nachstehend anhand eines Beispiels und anhand von Figuren näher erläutert, ohne die Erfindung auf die in dem Beispiel oder den Figuren beschriebenen/gezeigten Merkmale und Merkmalskombinationen beschränken zu wollen.
In Fig. 1 sind Daten zur CPU-Nutzung von sechs Servern ((a), (b), (c), (d), (e), (f)) während einer Beobachtungszeitspanne einander gegenüber gestellt. Die Grafen zeigen die CPU-Nutzung der Server (Ordinate: Zahl N der aktiven Prozessorkeme) als Funktion der Zeit t (Abszisse: Zeit in Stunden). Die mit dem Buchstaben A markierten Grafen zeigen die zum jeweiligen Zeitpunkt aktiven Prozessorkeme. Die mit dem Buchstaben B markierten Grafen zeigen einen Mittelwert der Zahl der aktiven Prozessorkeme über einen Zeitraum von 24 Stunden (gleitender arithmetischer Mittelwert). Die mit dem Buchstaben C markierten Grafen zeigen die 5-Sigma-Finien (=fünffache Standardabweichung) der letzten 24 Stunden. Die Grafen auf der linken Seite (Fig. 1 (a), (b), (c)) zeigen die CPU-Nutzung von genutzten Servern. Die Grafen auf der rechten Seite (Fig. 1 (d), (e), (f)) zeigen die CPU-Nutzung von ungenutzten Servern. Jedem Grafen eines genutzten Servers ist ein Graf eines ungenutzten Servers mit einem ähnlichen Verhalten gegenübergestellt ((a) (d).) (b)— >(e). (e)— >(f)). Allein anhand der augenscheinlichen Betrachtung der CPU-Nutzung ist demnach keine intuitive Identifizierung ungenutzter Server möglich.
In Fig. 2 sind Daten zum Netzwerkverkehr von sechs Servern ((a), (b), (c), (d), (e), (f)) während einer Beobachtungszeitspanne einander gegenüber gestellt. Die Grafen zeigen Raten der auf dem jeweilgen Server eingehenden Daten (Ordinate: Datenrate T) als Funktion der Zeit t (Abszisse: Zeit in Stunden). Die mit dem Buchstaben A markierten Grafen zeigen die Datenraten zum jeweiligen Zeitpunkt. Die mit dem Buchstaben B markierten Grafen zeigen einen Mittelwert der Datenraten über einen Zeitraum von 24 Stunden (arithmetischer Mittelwert). Die mit dem Buchstaben C markierten Grafen zeigen die 5- Sigma-Finien (=fünffache Standardabweichung) der letzten 24 Stunden. Die Grafen auf der linken Seite (Fig. 1 (a), (b), (c)) zeigen die Datenraten von genutzten Servern. Die Grafen auf der rechten Seite (Fig. 1 (d), (e), (f)) zeigen die Datenraten von ungenutzten Servern. Jedem Grafen eines genutzten Servers ist ein Graf eines ungenutzten Servers mit einem ähnlichen Verhalten gegenübergestellt ((a) (d).) (b)— >(e). (e)— >(f)). Allein anhand der augenscheinlichen Betrachtung der Datenraten ist demnach keine intuitive Identifizierung ungenutzter Server möglich.
Fig. 3 zeigt schematisch eine Ausführungsform einer erfmdungsgemäßen Vorrichtung. Die Vorrichtung (1) umfasst eine Eingabeeinheit (10), eine Steuer- und Recheneinheit (20) und eine Ausgabeeinheit (30). Die Eingabeeinheit (10) nimmt Aktivitätsdaten von Servern entgegen und leitet diese an die Steuer- und Recheneinheit (20) weiter (dargestellt durch den Pfeil zwischen der Eingabeeinheit und der Steuer- und Recheneinheit). Die Steuer- und Recheneinheit (20) umfasst ein Vorhersagemodell (in Fig. 3 nicht explizit dargestellt). Das Vorhersagemodell ist trainiert, ungenutzte Server von genutzten Servern anhand von Aktivitätsdaten zu unterscheiden. Die Steuer- und Recheneinheit (20) führt die Aktivitätsdaten dem Vorhersagemodell zu. Das Vorhersagemodell berechnet anhand der Aktivitätsdaten einen Wahrscheinlichkeitswert. Der Wahrscheinlichkeitswert repräsentiert eine Wahrscheinlichkeit, mit der es sich beim dem Server um einen ungenutzten Server handelt. Die Steuer- und Recheneinheit (20) übermittelt den Wahrscheinlichkeitswert und/oder eine von dem Wahrscheinlichkeitswert abgeleitete Information an die Ausgabeeinheit (30) (dargestellt durch den Pfeil zwischen der Steuer- und Recheneinheit und der Ausgabeeinheit). Die Ausgabeeinheit (30) kann den Wahrscheinlichkeitswert und/oder die abgeleitete Information gegenüber einem Nutzer anzeigen. Bei der Vorrichtung (1) kann es sich beispielsweise über einen Computer handeln. Denkbar ist auch die Verwendung von mehreren Computern, die über ein Netzwerk miteinander verknüpft sind.
Fig. 4 zeigt schematisch in Form eines Ablaufdiagramms eine Ausführungsform des erfmdungsgemäßen Verfahrens.
Das Verfahren umfasst die Schritte:
(A) Erfassen von Daten zur Aktivität eines Servers,
(B) Eingeben der Daten in ein Vorhersagemodell, wobei das Vorhersagemodell auf Basis eines
Trainingsdatensatzes zur Aktivität von Referenzservem trainiert worden ist, ungenutzte Referenzserver von genutzten Referenzservem zu unterscheiden,
(C) Empfangen eines Wahrscheinlichkeitswertes, wobei der Wahrscheinlichkeitswert eine Wahrscheinlichkeit wiedergibt, mit der es sich beim dem Server um einen ungenutzten Server handelt
(D) Übermitteln einer Mitteilung an einen Nutzer, wobei die Mitteilung eine Information darüber umfasst, dass es sich bei dem Server um einen ungenutzten Server oder um einen genutzten Server handelt.
Figuren 5 und 6 zeigen die Ergebnisse der Erzeugung und Validierung eines Vorhersagemodells mit Hilfe von 1153 Referenzservem eines internen Netzwerks. Für die einzelnen Referenzserver ist bekannt, ob sie genutzt ( actual used) oder ungenutzt ( actual unused) sind. Auf Basis der Aktivitätsdaten von 923 Servern wurde ein Vorhersagemodell trainiert (Trainingsdatensatz). Es wurden die Prozessorauslastung (in Prozent), die auf den jeweiligen Server eingehenden Daten (in Kilobit pro Sekunde), die vom jeweiligen Server ausgehenden Daten (in Kilobit pro Sekunde) und Eingabe/Ausgabe -Vorgänge für Datenspeicher ( storage demand, in Kilobit pro Sekunde) über einen Beobachtungszeitraum von mindestens zwei Wochen betrachtet.
Mit Hilfe der Zeitreihendaten wurde ein künstliches neuronales Netz des Typs LSTM (Long Short-Term Memory) trainiert und validiert. Dabei wurde das Modell trainiert, für ungenutzte Referenzserver einen Wert zwischen 0 und 1 auszugeben, der als Regressionswert angenähert wird. Dabei bedeutet ein Wert nahe 0, dass der Server, der mit den Eingabedaten assoziiert ist, eher unbenutzt ist. Umgekehrt bedeutet ein Regressionswert nahe 1, dass der assozierte Server eher in Benutzung ist. Anschließend wurde das trainierte Vorhersagemodell (LSTM-Netzwerk) mit einem Validierungsdatensatz validiert.
Fig. 5 zeigt das Ergebnis des Trainings in Form eines Balkendiagramms. Die Abszisse (x-Achse) ist in zehn Abschnitte unterteilt: 0.0 < x < 0.1, 0.1 < x < 0.2, 0.2 < x < 0.3, 0.3 < x < 0.4, 0.4 < x < 0.5, 0.5 < x < 0.6, 0.6 < x < 0.7, 0.7 < x < 0.8, 0.8 < x < 0.9, 0.9 < x < 1.0. Der Wert x gibt denjenigen Wert wieder, den das neuronale Netz als Ausgabe ausgibt, wenn ein Merkmalsvektor (Aktivitätsdaten) für einen Server eingespeist wird. Dabei bedeutet x=0.0, dass es sich mit Sicherheit um einen ungenutzten Server handeln und x=1.0, dass es sich mit Sicherheit um einen genutzten Server handelt. Auf der Ordinate ist die jeweilige Zahl der Referenzserver aufgetragen, für den das Vorhersagemodell einen x-Wert innerhalb eines der zehn Abschnitte als Aufgabewert ausgibt. Der Großteil der ungenutzten Server ist dem Abschnitt 0.0 < x < 0.1 zugeordnet; der Großteil der genutzten Server der Klasse dem Abschnitt 0.9 < x < 1.0.
Fig. 6 zeigt das Ergebnis der Validierung in Form eines Balkendiagramms. Die Abszisse (x-Achse) ist wie in Fig. 5 in zehn Abschnitte unterteilt: 0.0 < x < 0.1, 0.1 < x < 0.2, 0.2 < x < 0.3, 0.3 < x < 0.4, 0.4 < x < 0.5, 0.5 < x < 0.6, 0.6 < x < 0.7, 0.7 < x < 0.8, 0.8 < x < 0.9, 0.9 < x < 1.0 Der Wert x gibt denjenigen Wert wieder, den das neuronale Netz als Ausgabe ausgibt, wenn ein Merkmalsvektor (Aktivitätsdaten) für einen Server eingespeist wird. Dabei bedeutet x=0.0, dass es sich mit Sicherheit um einen ungenutzten Server handeln und x=1.0, dass es sich mit Sicherheit um einen genutzten Server handelt. Auf der Ordinate ist die jeweilige Zahl der Referenzserver aufgetragen, für den das Vorhersagemodell einen x-Wert innerhalb eines der zehn Abschnitte als Aufgabewert ausgibt. Der Großteil der ungenutzten Server ist dem Abschnitt 0.0 < x < 0.1 zugeordnet; der Großteil der genutzten Server der Klasse dem Abschnitt 0.9 < x < 1.0.
Wird ein Schwellenwert von 0.3 eingefügt und werden alle Server, für die der Wert x kleiner als 0.3 ist als "eher ungenutzt" klassifiziert und alle Server für die der Wert x größer oder gleich 0.3 ist als "eher genutzt" klassifiziert (binäre Klassifizierung), kann folgende Konfusionsmatrix gewonnen werden:
68 der 89 tatsächlich ungenutzten Referenzserver werden als "eher ungenutzt" und 21 der 89 tatsächlich ungenutzten Referenzserver als "eher genutzt" eingeordnet. 133 der 141 tatsächlich genutzten Server werden als "eher genutzt" und 8 der 141 tatsächlich genutzten Server werden als "eher ungenutzt" eingeordnet. Es ergibt sich damit eine Genauigkeit ( accuracy ) von 87,4 %.
Dieselben Daten (Testdatensatz und Validierungsdatensatz) wurden zum Trainieren und Validieren eines Klassifikationsmodells auf Basis von XGBoost verwendet. Für jeden der genannten Werte als Funktion der Zeit wurden folgende Parameter abgeleitet: das globale Maximum, der arithmetische Mittelwert, der längste Zeitraum mit Werten oberhalb des Mittelwerts ( longest strike above mean), die Varianz, die Standardabweichung und Fourierkoeffizienten. Daraus ergaben sich für jeden Referenzserver 24 Werte, aus denen für jeden Referenzserver ein Merkmalsvektor erzeugt wurde. Diese Merkmale dienten als Eingabe für das Verfahren XGBoost. Hierbei lag die Genauigkeit ( accuracy ) bei 92,5%.
Durch eine Kombination des LSTM Netzwerks und des XGBoost Classifiers konnte eine Genauigkeit von 95,8% erreicht werden. Dafür wurden die Ausgabewerte der beiden Verfahren (die Klassenzuordnung des XGBoost in„unbenutzt“ gleichzusetzen mit 0 und„benutzt“ gleichzusetzen mit 1; und der Regressionswert des LSTM) in einen Merkmalsvektor kombiniert und gemeinsam mit den Referenzwerten der zu klassifizierenden Server in einen weiteren Algorithmus als Eingabewerte gegeben. Für diesen Algorithmus sind mehrere Modelle, wie ein neuronales Netz u.a. denkbar. In diesem speziellen Fall wurde erneut ein XGBoost Classifier berechnet. Wie das Ergebnis von 95,8% Genauigkeit ( accuracy ) zeigt, konnten die Stärken des LSTM-Netzwerks und XGBoost erfolgreich in dem resultierenden Ensemble kombiniert werden.

Claims

Patentansprüche
1. Verfahren umfassend die Schritte:
Erfassen von Daten zur Aktivität eines Servers,
Eingeben der Daten in ein Vorhersagemodell, wobei das Vorhersagemodell auf Basis eines Trainingsdatensatzes zur Aktivität von Referenzservem trainiert worden ist, ungenutzte Referenzserver von genutzten Referenzservem zu unterscheiden,
Empfangen eines Wahrscheinlichkeitswertes, wobei der Wahrscheinlichkeitswert eine Wahrscheinlichkeit wiedergibt, mit der es sich bei dem Server um einen ungenutzten Server handelt Übermitteln einer Mitteilung an einen Nutzer, wobei die Mitteilung eine Information darüber umfasst, dass es sich bei dem Server um einen ungenutzten Server oder um einen genutzten Server handelt.
2. Verfahren gemäß Anspruch 1, wobei die Daten zur Aktivität des Servers ausgewählt sind aus der Reihe: Anzahl der genutzten Prozessorkeme, ausgehender Netzwerkverkehr, eingehender Netzwerkverkehr, Eingabe/Ausgabe -Vorgänge für Datenspeicher und/oder Arbeitsspeicherauslastung.
3. Verfahren gemäß einem der Ansprüche 1 oder 2, wobei die Daten zur Aktivität eines Servers über einen Beobachtungszeitraum von mindestens einem Tag, vorzugsweise von mindestens 5 Tagen erfasst werden, und als Zeitreihe in das Vorhersagemodell eingespeist werden.
4. Verfahren gemäß einem der Ansprüche 1 oder 2, wobei die Daten zur Aktivität eines Servers über einen Beobachtungszeitraum von mindestens einem Tag, vorzugsweise von mindestens 5 Tagen erfasst werden, und aus den Zeitreihen mittels statistischer oder anderer mathematischer Methoden Werte abgeleitet werden, die dann als Aktivitätsdaten in das Vorhersagemodell eingespeist werden.
5. Verfahren gemäß Anspruch 4, wobei die Aktivitätsdaten ausgewählt sind aus der Reihe: globales Maximum, arithmetischer Mittelwert, längster Zeitraum mit Werten oberhalb des Mittelwerts, Varianz, Standardabweichung und/oder Fourierkoeffizienten.
6. Verfahren gemäß einem der Ansprüche 3 bis 6, wobei die Daten zur Aktivität des Servers über den Beobachtungszeitraum periodisch erfasst werden.
7. Verfahren gemäß einem der Ansprüche 1 bis 6, wobei das Vorhersagemodell ein Klassifikationsmodell ist oder ein Klassifikationsmodell umfasst, das den Server einer von mindestens zwei Klassen zuordnet.
8. Verfahren gemäß einem der Ansprüche 1 bis 6, wobei das Vorhersagemodell ein Regressionsmodell ist oder ein Regressionsmodell umfasst, das für den Server eine Wahrscheinlichkeit berechnet, dass der Server genutzt und/oder ungenutzt ist.
9. Verfahren gemäß einem der Ansprüche 1 bis 8, wobei das Vorhersagemodell mittels eines Verfahrens zum überwachten Lernen trainiert worden ist, genutzte von ungenutzten Servern zu unterscheiden.
10. Verfahren gemäß einem der Ansprüche 1 bis 9, wobei ein ungenutzer Server ein Server ist, der aus dem Netzwerk entfernt werden kann, ohne dass die von Nutzem angestoßenen Prozesse auf anderen Servern oder Clients beeinträchtigt werden.
11. Verfahren gemäß einem der Ansprüche 1 bis 10, wobei die Schritte des Verfahrens automatisiert als Hintergrundprozess auf einem Computer ausgeführt werden.
12. Vorrichtung umfassend:
- eine Eingabeeinheit,
- eine Steuer- und Recheneinheit und
- eine Ausgabeeinheit,
wobei die Steuer- und Recheneinheit konfiguriert ist, die Eingabeeinheit zu veranlassen, Daten zur Aktivität eines Servers zu empfangen,
wobei die Steuer- und Recheneinheit konfiguriert ist, auf Basis der Daten zur Aktivität des Servers einen Wahrscheinlichkeitswert zu berechnen, wobei der Wahrscheinlichkeitswert eine Wahrscheinlichkeit repräsentiert, dass es sich bei dem Server um einen ungenutzten Server handelt, wobei die Berechnung des Wahrscheinlichkeitswerts mit einem Vorhersagemodell erfolgt, wobei das Vorhersagemodell auf Basis eines Trainingsdatensatzes zur Aktivität von Referenzservem trainiert worden ist, ungenutzte Referenzserver von genutzten Referenzservem zu unterscheiden,
wobei die Steuer- und Recheneinheit konfiguriert ist, die Ausgabeeinheit zu veranlassen, den Wahrscheinlichkeitswert und/oder eine vom Wahrscheinlichkeitswert abgeleitete Information gegenüber einem Nutzer auszugeben.
13. Vorrichtung umfassend:
- eine Eingabeeinheit,
- eine Steuer- und Recheneinheit und
- eine Ausgabeeinheit,
wobei die Steuer- und Recheneinheit konfiguriert ist, die Eingabeeinheit zu veranlassen, automatisiert Daten zur Aktivität einer Vielzahl an Servern in einem Netzwerk zu empfangen,
wobei die Steuer- und Recheneinheit konfiguriert ist, auf Basis der Daten zur Aktivität jedes Servers der Vielzahl an Servern automatisiert einen Wahrscheinlichkeitswert zu berechnen, wobei der Wahrscheinlichkeitswert eine Wahrscheinlichkeit repräsentiert, dass es sich bei dem jeweiligen Server um einen ungenutzten Server handelt, wobei die Berechnung des Wahrscheinlichkeitswerts mit einem Vorhersagemodell erfolgt, wobei das Vorhersagemodell auf Basis eines Trainingsdatensatzes zur Aktivität von Referenzservem trainiert worden ist, ungenutzte Referenzserver von genutzten Referenzservem zu unterscheiden,
wobei die Steuer- und Recheneinheit konfiguriert ist, für jeden Server der Vielzahl an Servern den jeweiligen Wahrscheinlichkeitswerts automatisiert mit einem Schwellenwert zu vergleichen, und für den Fall, dass der Wahrscheinlichkeitswert oberhalb des Schwellenwerts liegt, die Ausgabeeinheit zu veranlassen, einem Nutzer eine Mitteilung auszugeben, wobei die Mitteilung einen Namen und/oder eine Kennzeichnung für die Server umfasst, bei denen der jeweilige Wahrscheinlichkeitswert oberhalb des Schwellenwerts liegt.
14. Computerprogrammprodukt umfassend ein Computerprogramm, das in einen Arbeitsspeicher eines Computers geladen werden kann und dort den Computer dazu veranlasst, folgende Schritte automatisch auszuführen:
- Empfangen von Daten zur Aktivität eines Servers,
Zuführen der Daten einem Vorhersagemodell, wobei das Vorhersagemodell auf Basis eines Trainingsdatensatzes zur Aktivität von Referenzservem trainiert worden ist, ungenutzte Referenzserver von genutzten Referenzservem zu unterscheiden,
Berechnen eines Wahrscheinlichkeitswertes mit Hilfe des Vorhersagemodells, wobei der Wahrscheinlichkeitswert eine Wahrscheinlichkeit wiedergibt, mit der es sich bei dem Server um einen ungenutzten Server handelt,
Ausgeben des Wahrscheinlichkeitswertes und/oder einer vom Wahrscheinlichkeitswert abgeleiteten Information gegenüber einem Nutzer.
15. Computerprogrammprodukt gemäß Anspruch 12, das in einen Arbeitsspeicher eines Computers geladen werden kann und dort den Computer dazu veranlasst, einen oder mehrere Schritte eines
Verfahrens gemäß einem der Ansprüche 1 bis 10 automatisch in einem Hintergrundprozess auszuführen.
EP20734781.6A 2019-07-09 2020-07-02 Identifizieren von ungenutzten servern Withdrawn EP3997637A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP19185084.1A EP3764295A1 (de) 2019-07-09 2019-07-09 Identifizieren von ungenutzten servern
PCT/EP2020/068642 WO2021004877A1 (de) 2019-07-09 2020-07-02 Identifizieren von ungenutzten servern

Publications (1)

Publication Number Publication Date
EP3997637A1 true EP3997637A1 (de) 2022-05-18

Family

ID=67253674

Family Applications (2)

Application Number Title Priority Date Filing Date
EP19185084.1A Withdrawn EP3764295A1 (de) 2019-07-09 2019-07-09 Identifizieren von ungenutzten servern
EP20734781.6A Withdrawn EP3997637A1 (de) 2019-07-09 2020-07-02 Identifizieren von ungenutzten servern

Family Applications Before (1)

Application Number Title Priority Date Filing Date
EP19185084.1A Withdrawn EP3764295A1 (de) 2019-07-09 2019-07-09 Identifizieren von ungenutzten servern

Country Status (3)

Country Link
US (1) US20220263725A1 (de)
EP (2) EP3764295A1 (de)
WO (1) WO2021004877A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11887155B2 (en) * 2020-11-30 2024-01-30 Direct Cursus Technology L.L.C Method and a system for selecting a targeted message to be included within a web resource
US12407590B1 (en) * 2023-11-28 2025-09-02 Progress Software Corporation Abandoned machines

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120053925A1 (en) * 2010-08-31 2012-03-01 Steven Geffin Method and System for Computer Power and Resource Consumption Modeling
US9298492B2 (en) * 2014-03-05 2016-03-29 Ca, Inc. System and method for modifying allocated resources
US11269677B2 (en) * 2019-08-08 2022-03-08 Vigyanlabs Innovations Private Limited System and method to analyze and optimize application level resource and energy consumption by data center servers
US11755372B2 (en) * 2019-08-30 2023-09-12 Microstrategy Incorporated Environment monitoring and management

Also Published As

Publication number Publication date
WO2021004877A1 (de) 2021-01-14
US20220263725A1 (en) 2022-08-18
EP3764295A1 (de) 2021-01-13

Similar Documents

Publication Publication Date Title
EP3097506B1 (de) Verfahren und system zur gewinnung und analyse von forensischen daten in einer verteilten rechnerinfrastruktur
DE112021000189T5 (de) Mikrodienst-Aufspaltungsstrategie von monolithischen Anwendungen
DE112012000797B4 (de) Mehrfach-Modellierungsparadigma für eine Vorhersageanalytik
US11323465B2 (en) Temporal behavior analysis of network traffic
DE112011104487T5 (de) Verfahren und System zur prädiktiven Modellierung
DE112012003110T5 (de) Verfahren, Programmprodukt und System zur Datenidentifizierung
DE112021004808T5 (de) Erkennen von malware durch analyse verteilter telemetriedaten
Smelyakov et al. Investigation of network infrastructure control parameters for effective intellectual analysis
DE102021127244A1 (de) Künstliche Intelligenz Optimierungsplattform
CN113254781B (zh) 推荐系统中的模型确定方法、装置、电子设备和存储介质
DE112021003403T5 (de) Benachrichtigungsverwaltung in datenverarbeitungssystemen
DE112019005467T5 (de) System und verfahren zum erkennen und vorhersagen von mustern eines anomalen sensorverhaltens einer maschine
DE112021003506T5 (de) Hybrides ensemble-modell, das edge- und serverseitige inferenzen nutzt
CN111259949A (zh) 飞机环控系统故障识别模型构建方法、模型及识别方法
EP3997637A1 (de) Identifizieren von ungenutzten servern
EP3951529A1 (de) Überwachungsvorrichtung und verfahren zur anomaliedetektion
DE112018004284T5 (de) Dynamisches neuzusammenstellen von patch-gruppen unter verwendung von stream-clustering
CN117369418A (zh) 数控机床进给系统故障诊断方法、系统、存储介质及设备
US9141686B2 (en) Risk analysis using unstructured data
DE112024001163T5 (de) Metrischer und log-joint-autoencoder zur anomalienerkennung bei entscheidungen im gesundheitswesen
CN112732519B (zh) 一种事件监控方法及装置
DE102022125763A1 (de) Erkennung von verzerrungen in bilddaten mit erklärbarkeit beim maschinellen lernen
DE102023200361A1 (de) Multivariate Ausreißer-Erkennung zum Datenschutz
CN120433991A (zh) 一种网络安全漏洞检测方法
DE202025103774U1 (de) System zur Überwachung von Bildungsleistungen durch mehrdimensionale KPI-Verarbeitung

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20220209

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20230905