The present invention relates generally to the field of automated risk assessment, and more particularly to automated systems and methods for security risk assessment.
Security in automated teller machines (ATMs) is currently either proactive or reactive. In either case, an ATM does not have the resources to protect itself, must depend on a set of static rules, and is devoid of any means to confuse or combat the thinking of an individual who attacks the ATM. There is currently no way for such an ATM to understand that it has a security issue. Nor is there currently a way to enable an ATM to learn from its security-related mistakes and assure that those same mistakes are not repeated. Software applications currently offered, as solutions in terms of ATM security generally require a substantial amount of memory and/or other resources to be available to an ATM. Thus, such legacy offerings are not feasible for ATM security solutions involving self-learning.
There is a present need for systems and methods that employ machine learning to enable the ATM itself to decide whether its security is under threat and to learn to fight such threat in real time using means made available to the ATM when the threat arises. The problem solved by embodiments of the invention is rooted in technical limitations of the legacy approaches, and improved technology is needed to address these problems. More specifically, the aforementioned legacy approaches fail to achieve the sought-after capabilities of the herein disclosed automated security risk assessment systems and methods.
Embodiments of the invention advance technical fields for addressing problems associated with the above-described legacy manual processes for automated security risk assessment as well as advancing peripheral technical fields. Such embodiments of the invention employ computer hardware and software, including, without limitation, one or more processors coupled to memory and non-transitory computer-readable storage media with one or more executable programs stored thereon which instruct the processors to perform the automated fraud risk assessment described herein.
Embodiments of the invention are directed to technological solutions that may involve automated systems that may employ, for example, a rules database function of an automated teller machine (ATM) processor storing a rules database record for only a single instance of a positive transition flow from a current state to an ensuing state for each of a plurality of ATM hardware or software activities initiated by the ATM processor; a security agent function of the ATM processor that extracts data points from a transition flow from a current state to an ensuing state for every succeeding ATM hardware or software activity initiated by the ATM processor; and an algorithm function of the ATM processor that generates a rules database record for the transition flow from the current state to the ensuing state for every succeeding ATM hardware or software activity initiated by the ATM processor based on said extracted data points, and discards said generated rules database record when said generated rules database record is identical to a rules database record already stored on the rules database function of the ATM processor.
In other aspects of embodiments of the invention, the rules database function of the ATM processor may be, for example, a document database function of the ATM processor. In still other aspects, the rules database function of the ATM processor stores the rules database record for only the single instance of positive transition flow from the current state to the ensuing state as a state transition rule record for each of the plurality of ATM hardware or software activities initiated by the ATM processor. In additional aspects, for example, the rules database function of the ATM processor may store the database record as a state transition rule record in a whitelist of safe ATM transition states for each of the plurality of ATM hardware or software activities initiated by the ATM processor.
In further embodiments of the invention, for example, the security agent function of the ATM processor may extract data points from the transition flow from the current state to the ensuing state for every succeeding ATM hardware or software activity initiated by the ATM processor based on a data points template. In still further aspects, for example, the security agent function of the ATM processor may output the extracted data points as an input to the algorithm function of the ATM processor. In additional aspects, for example, the algorithm function of the ATM processor may receive the extracted data points from the security agent function of the ATM and format and analyze the extracted data points for data integrity. In other aspects, for example, the algorithm function of the ATM processor may receive the extracted data points from the security agent function of the ATM and format and analyze the extracted data points for data integrity based on a model template for logical correctness of the extracted data.
In still further aspects of embodiments of the invention, the algorithm function of the ATM processor may be, for example, a discovery phase algorithm function of the ATM processor that generates the database record for the transition flow from the current state to the ensuing state for every succeeding ATM hardware or software activity initiated by the ATM processor based on said extracted data points, and outputs said generated database record as a new rules database record when said generated database record is not identical to a rules database record already stored by the rules database function of the ATM processor. In other aspects, for example, the discovery phase algorithm function of the ATM processor may generate the rules database record for the transition flow from the current state to the ensuing state for every succeeding ATM hardware or software activity initiated by the ATM processor based on said extracted data points, and store the generated rules database record as a new rules database record on the rules database function of the ATM processor when the generated rules database record is not identical to a rules database record already stored by the database function of the ATM processor.
In additional aspects of embodiments of the invention, the algorithm function of the ATM processor may be, for example, a protection phase algorithm function of the ATM processor that generates the rules database record for the transition flow from the current state to the ensuing state for every succeeding ATM hardware or software activity initiated by the ATM processor based on said extracted data points, and sends a negative transition response to the security agent function of the ATM processor when the generated rules database record is not identical to a rules database record already stored by the rules database function of the ATM processor. In other aspects, the protection phase algorithm function of the ATM processor may generate the rules database record for the transition flow from the current state to the ensuing state for every succeeding ATM hardware or software activity initiated by the ATM processor based on the extracted data points, and select a security risk mitigation protocol when the generated rules database record is not identical to a rules database record already stored by the rules database function of the ATM processor.
Embodiments of the invention may also provide methods involving, for example, storing, by a rules database function of an automated teller machine (ATM) processor, a rules database record for only a single instance of a positive transition flow from a current state to an ensuing state for each of a plurality of ATM hardware or software activities initiated by the ATM processor; extracting, by a security agent function of the ATM processor, data points from a transition flow from a current state to an ensuing state for every succeeding ATM hardware or software activity initiated by the ATM processor; and generating, by an algorithm function of the ATM processor, a rules database record for the transition flow from the current state to the ensuing state for every succeeding ATM hardware or software activity initiated by the ATM processor based on said extracted data points, and discarding, by the algorithm function of the ATM processor, said generated rules database record when said generated rules database record is identical to a rules database record already stored on the rules database function of the ATM processor.
Other aspects of the method for embodiments of the invention may involve, for example, storing the rules database record by a document database function of the ATM processor. In still other aspects, storing the rules database record by the database function of the ATM processor may involve, for example, storing the rules database record for only the single instance of positive transition flow from the current state to the ensuing state as a state transition rule record for each of the plurality of ATM hardware or software activities initiated by the ATM processor. In additional aspects, storing the rules database record by the database function of the ATM processor may involve, for example, storing the database record as the state transition rule record in a whitelist of safe ATM transition states for each of the plurality of ATM hardware or software activities initiated by the ATM processor.
In further aspects of embodiments of the invention, extracting data points from the transition flow by the security agent function of the ATM processor may involve, for example, extracting the data points from the transition flow from the current state to the ensuing state for every succeeding ATM hardware or software activity initiated by the ATM processor based on a data points template. In still further aspects, extracting data points from the transition flow by the security agent function of the ATM processor may involve, for example, outputting the extracted data points as an input to the algorithm function of the ATM processor.
In additional aspects of embodiments of the invention, generating the rules database record by the algorithm function of the ATM processor may involve, for example, receiving the extracted data points from the security agent function of the ATM, and formatting and analyzing the extracted data points for data integrity. In other aspects, formatting and analyzing the extracted data points may involve, for example, formatting and analyzing the extracted data points for data integrity based on a model template for logical correctness of the extracted data.
In still further aspects of embodiments of the invention, generating the rules database record by the algorithm function of the ATM processor may involve, for example, generating, by a discovery phase algorithm function of the ATM processor, the rules database record for the transition flow from the current state to the ensuing state for every succeeding ATM hardware or software activity initiated by the ATM processor based on said extracted data points, and outputting, by the discovery phase algorithm function of the ATM processor, the generated rules database record as a new rules database record when the generated database record is not identical to a rules database record already stored by the rules database function of the ATM processor. In other aspects, outputting the generated rules database record as a new rules database record by the discovery phase algorithm function of the ATM processor may involve, for example, storing the new rules database record on the rules database function of the ATM processor when the generated rules database record is not identical to a rules database record already stored by the database function of the ATM processor.
In still other aspects of embodiments of the invention, generating the rules database record by the algorithm function of the ATM processor may involve, for example, generating, by a protection phase algorithm function of the ATM processor, the rules database record for the transition flow from the current state to the ensuing state for every succeeding ATM hardware or software activity initiated by the ATM processor based on said extracted data points, and sending, by the protection phase algorithm function of the ATM processor, a negative transition response to the security agent function of the ATM processor when the generated rules database record is not identical to a rules database record already stored by the rules database function of the ATM processor. In additional aspects, generating the rules database record by the protection phase algorithm function of the ATM processor may involve, for example, generating the rules database record for the transition flow from the current state to the ensuing state for every succeeding ATM hardware or software activity initiated by the ATM processor based on the extracted data points, and selecting a security risk mitigation protocol when the generated rules database record is not identical to a rules database record already stored by the rules database function of the ATM processor.
These and other aspects of the invention will be set forth in part in the description which follows and in part will become more apparent to those skilled in the art upon examination of the following or may be learned from practice of the invention. It is intended that all such aspects are to be included within this description, are to be within the scope of the present invention, and are to be protected by the accompanying claims.
Reference will now be made in detail to embodiments of the invention, one or more examples of which are illustrated in the accompanying drawings. Each example is provided by way of explanation of the invention, not as a limitation of the invention. It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the scope or spirit of the invention. For example, features illustrated or described as part of one embodiment can be used in another embodiment to yield a still further embodiment. Thus, it is intended that the present invention cover such modifications and variations that come within the scope of the invention.
Embodiments of the invention provide systems and methods for an ATM to self-learn to determine when its security is under threat and to learn to fight such threat in real time. Thus, embodiments of the invention may focus, for example, on providing an ATM with an ability to learn from mistakes that may threaten its security and to proceed without repeating such mistakes. A further focus of embodiments of the invention may be to enable the ATM to self-learn with a small memory footprint in the ATM.
An ATM is essentially a computer system with a central processing unit (CPU) and memory and may be in various states that may be invoked by a hardware event or a software event. For example, reading a user's card by an ATM card reader may be a hardware event, and communicating the user's ATM transaction to a backend host server may be a software event. There is currently no ATM technology available that handles both hardware and software events and also learns what effect hardware and software events may have on an ATM.
In embodiments of the invention, a state in an ATM may be defined as any instance that has an input and an output. For example, debit/credit card recognition may be a state, wherein the input may be a card number and the output may be a type of card, such as a MASTERCARD or VISA or an on-us card (i.e. acquirer and issuer are the same) or off-us card (i.e. acquirer and issuer are different). A state may be an individual state or a combination of states.
The ATM may possess a graphical threat model for embodiments of the invention of all known ATM states. The output of a state may be an input to another state or it may be a final outcome. This allows a definition of a new term called “path” (collection of edges) for an entire financial or non-financial transaction in the ATM.
In embodiments of the invention, whether a path or edge contributes positively or negatively to a transaction flow may be dependent on its impact on the ATM and on a financial institution that deploys the ATM, such as a bank. For example, a user's interaction with a cash dispenser of an ATM may be an action of risk at its highest level since any loss incurred in such interaction may be irreversible. At the same time, an ATM interaction dealing with a check deposit may be at a much lower level of risk as it may be reversed.
In embodiments of the invention, a path or edge may or may not lead to a threat. An ATM for embodiments of the invention may decide the level of threat by examining the edge to a state node. Each state may be categorized based on a nature of its execution, which provides a unique weight for a state.
Referring to
Referring to
From the nature of execution, it may be understood whether a particular state of the ATM was forced or was following its normal course. For example, the ATM cash dispenser may be invoked in different ways, such as a positive case in a normal course as illustrated in
In embodiments of the invention, the ATM may understand that the separation of these positive and negative cases is the nature of their execution or factors governing their execution. Thus, monitoring an overall weight of a transaction may allow an ATM for embodiments of the invention to understand whether or not a transaction is a threat to the ATM, which may affect the final outcome.
Every hardware or software event on an ATM may be considered as a state, and a typical software application running on an ATM may inherently possess a name for each hardware or software state. While not currently employed in any in real world scenario, such feature may be utilized in an ATM security model for embodiments of the invention.
For example, in embodiments of the invention, when the ATM hardware cash dispenser is activated, the ATM is aware of its activation and such hardware action generates an event, which constitutes a state. Another example of a state may be a customer's selection of a correct denomination for dispensing cash. The only difference between such examples is that the former is a hardware event and the latter is a software event.
Embodiments of the invention may provide, for example, a software security agent function, which is aware of all events that occur in the ATM. For example, every event that occurs in the ATM, whether it is a hardware event or a software event, may pass through the software security agent function for embodiments of the invention.
The security agent function for embodiments of the invention may come into play, for example, when the ATM switches from one software/hardware state to another software/hardware state. At such point, the security agent function for embodiments of the invention may decide whether or not an upcoming ATM state is a security risk. In embodiments of the invention, such decision may be based on a set of self-learning rules in a rules database and not be based on hard-coded rules.
For creation of self-learning rules, embodiments of the invention may involve, for example, instructing an ATM as to what the ATM must learn in order to protect itself. Such instructions for embodiments of the invention may be data points relevant to each ensuing state. The same set of instructions may also be used to protect the ATM after the ATM has gained adequate knowledge about itself.
Further, both the above states may be taken into account in a single data point set.
The ATM security agent function for embodiments of the invention may collate these data points during a transition from previous to current state and send the data points to an algorithm function. Whether or not to an event will be allowed to occur may depend on the algorithm function for embodiments of the invention.
The algorithm function for embodiments of the invention may enable an ATM to continually self-learn what the ATM does correctly. In a phase of the algorithm function for embodiments of the invention that enables the ATM to learn, also referred to as the algorithm A1 function, no attempt may be made to correct an issue. Thus, in the learning or algorithm A1 phase, the algorithm may allow all events to occur whether or not they raise security issues.
In embodiments of the invention, the ATM has a document database that may communicate, for example, over the ATM network. The document database may continually store records with respect to transitions from one state to another. Assume for example a hardware state in which an individual inserts a card into a card reader of the ATM. When that occurs, the card reader may immediately register a hardware event. If the card is legitimate, the ATM may proceed with a transaction, but if the card is fraudulent, the ATM may reject the transaction.
In the foregoing example, when the card is inserted into the card reader, after reading the card and before proceeding with a transaction, the ATM may display a PIN pad with a prompt for entry of a PIN code that is valid for the particular card. Accordingly, there may be a transition when the card is inserted into the ATM card reader and the card reader generates a hardware event in reading the card, and another transition when the ATM generates a software event in displaying the PIN pad.
There may be a further transition when the PIN code that was entered on the PIN pad is sent to a host server, which is a software event. Thus, it may be seen that the card verification process of the foregoing example represents a set of hardware and software events. Each time the algorithm A1 function for embodiments of the invention receives a transition for an event, it may store the received transition in the document database for embodiments of the invention.
In embodiments of the invention, the phase in which the ATM self-learns about itself may be characterized as a discovery phase. In the discovery phase, data points relevant to a particular ensuing ATM state may be input by the ATM security agent function for embodiments of the invention to the A1 algorithm. The task of the A1 algorithm function for embodiments of the invention may be to wrangle and analyze the data feed from the ATM security agent function and create a corresponding rule in a rules database if such a rule is not already present in the rules database.
It is to be noted that during the discovery phase, the ATM security agent function for embodiments of the invention may not expect a response of any kind from the A1 algorithm function. When it is deemed that the ATM has learned enough and is capable of protecting itself, the mode of operation of the ATM security agent function for embodiments of the invention may be switched from the discovery phase mode to a protection phase mode.
In the protection phase mode, the ATM security agent function for embodiments of the invention may continue to output the same data feed as in the discovery phase, but may send that data feed to a different algorithm, which may be referred to as the A2 algorithm. The task of the algorithm A2 function, may be to wrangle and analyze the data feed from the ATM security agent function and draw inferences from the data feed by running it against entries in the rules database.
Unlike the discovery phase, the ATM security agent function for embodiments of the invention may expect a response from the algorithm A2 function in the protection phase, which may allow the ATM to understand whether it should proceed with a particular upcoming state transition. Consequently, algorithms A1 and A2 for embodiments of the invention may be considered as discovery and protection modes of operation, respectively, of a single algorithm, namely the ATM security algorithm.
In embodiments of the invention, the algorithm AI function may employ a model template in performing a data integrity check of received data, for example, for logical correctness. Assume, for example, that an individual attempts to exceed daily ATM withdrawal limits by accessing a different ATM after the withdrawal limit is reached at a first ATM and a further withdrawal is denied. When that happens, a software event may occur on the backend host that counts the total amount of money withdrawn from one or more ATMs and may reject the ATM transaction that attempts to exceed the daily limit.
In embodiments of the invention, the algorithm AI function may employ the model template in performing a data integrity check for logical correctness and reach a decision that such an attempted ATM withdrawal transaction exceeding the daily limit is not correct. It is possible for an individual to cheat the algorithm A1 function. However, the algorithm function for embodiments of the invention is not a static algorithm. Instead, the algorithm may be dynamically changed based on experience of various kinds of ATM transactions that occur.
The model for embodiments of the invention is a universal model that may enable the ATM to discover whether or not a particular transition from one event to another is a legitimate transition. The model may allow the algorithm function for embodiments of the invention to follow a specific path. For example, the algorithm function may first check the host data and then check a total number of the transactions that were run and are running on the ATM.
Referring further to
As noted, the discovery mode function for embodiments of the invention may receive the ATM security agent function data feed as an input and produce a rules database record as output. The task of the discovery mode function may be to wrangle or format the incoming ATM security agent function data feed and analyze the wrangled data feed for data integrity by processing it through a set of common checks for logical correctness of the data. If the wrangled data feed passes such checks, the discovery mode function may then check whether or not the rules database already has a corresponding record. If so, no further action is taken regarding the wrangled data, but if not, the discovery algorithm output becomes a new rules database record. In either case, no response of any kind is sent by the discovery mode function to the ATM security agent function.
For example, assume that the discovery mode function of ATM security algorithm for embodiments of the invention receives a data feed from the ATM security agent function, such as illustrated in the example of
Once the discovery mode function algorithm for embodiments of the invention completes the data integrity check, the algorithm A1 function may check further for logical correctness of the data in the data feed. For example, assume the ‘Customer Request Amount’ 308 is $200. If the Bank Host Authorized Amount is only $100 based, for example, on a daily withdrawal limit or a balance available in the account, the difference between the ‘Cash Counter Previous State’ and the ‘Cash Counter Current State’ may be only $100 ($100×30 minus $100×29) instead of $200 ($100×30 minus $100×28) as shown in the example of
If the data feed crosses this state, the discovery algorithm for embodiments of the invention may generate a rules database record, such as:
A query of the rules database may be as follows:
[{
“currentstate”: “cash counted”,
“nextstate”: “present cash”
}]
If not already found in the rules database, it may be inserted in the rules database as a record in a whitelist of safe ATM transition states in the rules database.
The algorithm function A1 for embodiments may be characterized as a data analysis function that does not prevent a transaction from occurring. Even though, while the algorithm A1 function is learning, it may determine that there is a security issue with a transaction, it will not stop the transaction. Instead, an algorithm A2 protection phase function for embodiments of the invention may be employed for that purpose.
In the protection phase for embodiments of the invention, the algorithm A2 function may also use the model to check data for logical integrity and may access the document database to determine whether or not a transaction should be rejected. For example, in the protection phase the algorithm A2 function may check the self-learning document database to determine what the ATM may have learned up to the current time in order to assure ATM security in both hardware and software events.
That is true for any hardware or software event that occurs on the ATM. Thus, any ATM event, such as an opening of the ATM door, an attempted manipulation of the ATM PIN pad, or an insertion of a fraudulent card in the ATM card reader may be captured and recognized via the integrity checks and the self-learning document database for embodiments of the invention.
Referring further to
Referring again to
As in the discovery mode, the protection mode function algorithm for embodiments of the invention may receive an ATM security agent function feed as an input and generate a rules database record as output. The task of the protection mode function algorithm is to wrangle or format the incoming ATM security agent function data feed and analyze the wrangled data feed by processing it through a set of common checks that identify a correctness of the data. However, the protection mode function algorithm function is not capable of inserting the record into the rules database.
Instead, the protection mode function for embodiments of the invention makes a direct check on the data present in the data feed against the rules database for existing records of the same data points. If a match is found, the protection mode function of the algorithm may respond positively to the ATM security agent function. If not, the protection mode function of the algorithm may respond negatively to the ATM security agent function. Based on a positive or negative response, the ATM security agent function may accept or reject the transition of current ATM State to the ensuing state.
In embodiments of the invention, if the data correctness check fails, the transition of state is rejected outright by the protection mode function of the algorithm, which may send a negative response to the ATM security agent function. At this point, the protection mode function of the algorithm may proceed in the same way as the discovery mode function of the algorithm with the exception of the outcome of the rules database query:
[{
“currentstate”: “cash counted”,
“nextstate”: “present cash”
}]
If outcome of the rules database query by the A2 algorithm function is positive, meaning that the record is found and exists in the whitelist of safe ATM transition states, the transition may be allowed. If the transition state is not found in the whitelist of safe ATM transition states, it may be rejected or halted, or an appropriate risk mitigation protocol may be invoked. It is to be understood that it is not necessary for the ATM security algorithm function to be run in a single mode but that the security algorithm function may be capable of running in both discovery and protection modes to achieve true learning while protecting the ATM.
The rules database for embodiments of the invention is a document database that stores only positive transitions of ATM states or cases that are possible as part of ATM state transitions. This is true because, as part of the discovery phase, the ATM learns only positive cases and does not learn negative cases. The ATM algorithm discovery mode function may whitelist only records of positive cases, and anything that falls outside the whitelist is automatically considered as blacklist. Thus, the whitelist represents positive state transitions, while the blacklist represents negative state transitions, and anything that is not positive is automatically considered to be negative by the ATM. The rules database for embodiments of the invention may expand only during the discovery phase and not during the protection phase, provided both phases are not active at the same time.
Although shown here as a Structured Query Language (SQL) table for storage, in real time, the document table may directly store JavaScript Object Notations (JSONs) as used in the query. Thus, the query request may directly match and remove intermediate processing. Embodiments of the invention may employ Non-SQL (NoSQL) document-oriented databases, which are the fastest available in the industry. Based on current knowledge, there is no product currently available in the market that employs machine learning to prevent a security incident from occurring.
Embodiments of the invention may be deployed with minimal cost and may also be reusable. Regarding reusability, the self-learning document database 708 may provide a record of all transactions that occur on an ATM. When an ATM shuts down, the algorithm A1 function may not perform any action other than a request to re-start the ATM in order to continue to self-learn. After a period, such as one or two months after re-starting the ATM, the algorithm A1 function may again commence its focus on whether or not the ATM is behaving properly.
Referring to
The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein. The present invention may be a system, a method, and/or a computer program product at any possible technical detail level of integration. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
It is to be understood that embodiments of the invention may be implemented as processes of a computer program product, each process of which is operable on one or more processors either alone on a single physical platform or across a plurality of platforms, such as a system or network, including networks such as the Internet, an intranet, a WAN, a LAN, a cellular network, or any other suitable network. Embodiments of the invention may employ client devices that may each comprise a computer-readable medium, including but not limited to, random access memory (RAM) coupled to a processor. The processor may execute computer-executable program instructions stored in memory. Such processors may include, but are not limited to, a microprocessor, an application specific integrated circuit (ASIC), and/or state machines. Such processors may comprise, or may be in communication with, media, such as computer-readable media, which stores instructions that, when executed by the processor, cause the processor to perform one or more of the steps described herein.
It is also to be understood that such computer-readable media may include, but are not limited to, electronic, optical, magnetic, RFID, or other storage or transmission device capable of providing a processor with computer-readable instructions. Other examples of suitable media include, but are not limited to, CD-ROM, DVD, magnetic disk, memory chip, ROM, RAM, ASIC, a configured processor, optical media, magnetic media, or any other suitable medium from which a computer processor can read instructions. Embodiments of the invention may employ other forms of such computer-readable media to transmit or carry instructions to a computer, including a router, private or public network, or other transmission device or channel, both wired or wireless. Such instructions may comprise code from any suitable computer programming language including, without limitation, C, C++, C#, Visual Basic, Java, Python, Perl, and JavaScript.
It is to be further understood that client devices that may be employed by embodiments of the invention may also comprise a number of external or internal devices, such as a mouse, a CD-ROM, DVD, keyboard, display, or other input or output devices. In general such client devices may be any suitable type of processor-based platform that is connected to a network and that interacts with one or more application programs and may operate on any suitable operating system. Server devices may also be coupled to the network and, similarly to client devices, such server devices may comprise a processor coupled to a computer-readable medium, such as a random access memory (RAM). Such server devices, which may be a single computer system, may also be implemented as a network of computer processors. Examples of such server devices are servers, mainframe computers, networked computers, a processor-based device, and similar types of systems and devices.
Aspects of the present invention may be described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of such flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, may be implemented by computer readable program instructions. These computer readable program instructions may be provided to a processor of a special purpose computer or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks. The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer-implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the Figures may illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
Number | Name | Date | Kind |
---|---|---|---|
5485409 | Gupta | Jan 1996 | A |
5949045 | Ezawa | Sep 1999 | A |
6349290 | Horowitz | Feb 2002 | B1 |
6370547 | Eftink | Apr 2002 | B1 |
6850252 | Hoffberg | Feb 2005 | B1 |
6957348 | Flowers | Oct 2005 | B1 |
7591413 | Block | Sep 2009 | B1 |
7861924 | Block | Jan 2011 | B1 |
7866544 | Block | Jan 2011 | B1 |
8346563 | Hjelm | Jan 2013 | B1 |
8346729 | Brannon | Jan 2013 | B2 |
8437528 | Csulits | May 2013 | B1 |
8560475 | Hussain | Oct 2013 | B2 |
8577817 | Keralapura | Nov 2013 | B1 |
8607351 | Wang | Dec 2013 | B1 |
8800866 | Gromley | Aug 2014 | B1 |
9004353 | Block | Apr 2015 | B1 |
9129219 | Robertson | Sep 2015 | B1 |
9355530 | Block | May 2016 | B1 |
9432378 | Svigals | Aug 2016 | B1 |
9454659 | Daymont | Sep 2016 | B1 |
9516010 | Avital | Dec 2016 | B1 |
10216927 | Steinberg | Feb 2019 | B1 |
10296848 | Mars | May 2019 | B1 |
10311646 | Wurmfeld | Jun 2019 | B1 |
10360482 | Khare | Jul 2019 | B1 |
10395029 | Steinberg | Aug 2019 | B1 |
10395199 | Gibson | Aug 2019 | B1 |
10452523 | Vijayalekshmi | Oct 2019 | B1 |
10467615 | Omojola | Nov 2019 | B1 |
10572821 | Gauf | Feb 2020 | B1 |
10579753 | Gould | Mar 2020 | B2 |
10608911 | Nickolov | Mar 2020 | B2 |
20030050885 | Cohen | Mar 2003 | A1 |
20030177047 | Buckley | Sep 2003 | A1 |
20030233155 | Slemmer | Dec 2003 | A1 |
20040139176 | Farrell | Jul 2004 | A1 |
20040148586 | Gilboa | Jul 2004 | A1 |
20040268338 | Gurpinar | Dec 2004 | A1 |
20050097320 | Golan | May 2005 | A1 |
20050111460 | Sahita | May 2005 | A1 |
20050118996 | Lee | Jun 2005 | A1 |
20050143138 | Lee | Jun 2005 | A1 |
20050222810 | Buford | Oct 2005 | A1 |
20050222811 | Jakobson | Oct 2005 | A1 |
20050229246 | Rajagopal | Oct 2005 | A1 |
20060131408 | McNamara | Jun 2006 | A1 |
20060218161 | Zhang | Sep 2006 | A1 |
20080091978 | Brodsky | Apr 2008 | A1 |
20080110982 | Song | May 2008 | A1 |
20090002332 | Park | Jan 2009 | A1 |
20090024549 | Johnson | Jan 2009 | A1 |
20090057395 | He | Mar 2009 | A1 |
20090089078 | Bursey | Apr 2009 | A1 |
20090199053 | Neilan | Aug 2009 | A1 |
20090228474 | Chiu | Sep 2009 | A1 |
20090276368 | Martin | Nov 2009 | A1 |
20120017280 | Wiegenstein | Jan 2012 | A1 |
20120023022 | Carroll | Jan 2012 | A1 |
20120179421 | Dasgupta | Jul 2012 | A1 |
20120240185 | Kapoor | Sep 2012 | A1 |
20120317058 | Abhulimen | Dec 2012 | A1 |
20130018788 | Johnson | Jan 2013 | A1 |
20130019018 | Rice | Jan 2013 | A1 |
20130024942 | Wiegenstein | Jan 2013 | A1 |
20130097706 | Titonis | Apr 2013 | A1 |
20130103622 | Matsuoka | Apr 2013 | A1 |
20130268260 | Lundberg | Oct 2013 | A1 |
20130274928 | Matsuoka | Oct 2013 | A1 |
20140006335 | Hohndel | Jan 2014 | A1 |
20140006599 | Hohndel | Jan 2014 | A1 |
20140006623 | Hohndel | Jan 2014 | A1 |
20140058943 | Glencross | Feb 2014 | A1 |
20140081858 | Block | Mar 2014 | A1 |
20140090090 | Vasireddy | Mar 2014 | A1 |
20140101756 | Tripp | Apr 2014 | A1 |
20140121830 | Gromley | May 2014 | A1 |
20140201838 | Varsanyi | Jul 2014 | A1 |
20140207674 | Schroeder | Jul 2014 | A1 |
20140236119 | Tsoukalis | Aug 2014 | A1 |
20140283076 | Muttik | Sep 2014 | A1 |
20140344939 | Tripp | Nov 2014 | A1 |
20140365301 | Rappoport | Dec 2014 | A1 |
20140372348 | Lehmann | Dec 2014 | A1 |
20150058215 | Johnson | Feb 2015 | A1 |
20150068863 | Blower | Mar 2015 | A1 |
20150242626 | Wang | Aug 2015 | A1 |
20150249663 | Svigals | Sep 2015 | A1 |
20150254496 | Nada | Sep 2015 | A1 |
20150332053 | Bhattacharya | Nov 2015 | A1 |
20150339376 | Wieweg | Nov 2015 | A1 |
20160004566 | Kuchiwaki | Jan 2016 | A1 |
20160065592 | Svigals | Mar 2016 | A1 |
20160071017 | Adjaoute | Mar 2016 | A1 |
20160260033 | Keyngnaert | Sep 2016 | A1 |
20160269247 | Chakradhar | Sep 2016 | A1 |
20160275760 | Block | Sep 2016 | A1 |
20160283715 | Duke | Sep 2016 | A1 |
20160314468 | Smith | Oct 2016 | A1 |
20160371489 | Puri | Dec 2016 | A1 |
20160379137 | Burger | Dec 2016 | A1 |
20170017789 | Daymont | Jan 2017 | A1 |
20170034023 | Nickolov | Feb 2017 | A1 |
20170090666 | Pahud | Mar 2017 | A1 |
20170091450 | Turgeman | Mar 2017 | A1 |
20170093897 | Cochin | Mar 2017 | A1 |
20170109509 | Baghdasaryan | Apr 2017 | A1 |
20170177808 | Irwin | Jun 2017 | A1 |
20170177809 | Bull | Jun 2017 | A1 |
20170178093 | Bull | Jun 2017 | A1 |
20170178135 | Bull | Jun 2017 | A1 |
20170178245 | Rodkey | Jun 2017 | A1 |
20170316324 | Barrett | Nov 2017 | A1 |
20170316407 | Lazaro | Nov 2017 | A1 |
20170330267 | Cahall, Jr | Nov 2017 | A1 |
20170337542 | Kim | Nov 2017 | A1 |
20170346851 | Drake | Nov 2017 | A1 |
20170365305 | Chang | Dec 2017 | A1 |
20170372056 | Narasimhan | Dec 2017 | A1 |
20180004937 | Shannon | Jan 2018 | A1 |
20180025161 | Gauthier | Jan 2018 | A1 |
20180025270 | John | Jan 2018 | A1 |
20180025336 | Block | Jan 2018 | A1 |
20180035886 | Courtemanche | Feb 2018 | A1 |
20180039911 | Bezzubtseva | Feb 2018 | A1 |
20180132307 | Almeida Neves | May 2018 | A1 |
20180165598 | Saxena | Jun 2018 | A1 |
20180165758 | Saxena | Jun 2018 | A1 |
20180189485 | Jain | Jul 2018 | A1 |
20180203833 | Liang | Jul 2018 | A1 |
20180240026 | Pietrobon | Aug 2018 | A1 |
20180246705 | Spiegel | Aug 2018 | A1 |
20180270260 | Govardhan | Sep 2018 | A1 |
20180276710 | Tietzen | Sep 2018 | A1 |
20180285176 | Mozhaev | Oct 2018 | A1 |
20180285248 | Gupta | Oct 2018 | A1 |
20180285745 | Lu | Oct 2018 | A1 |
20180308022 | Philips | Oct 2018 | A1 |
20180349508 | Bequet | Dec 2018 | A1 |
20180373245 | Nishi | Dec 2018 | A1 |
20190004890 | Venkataraman | Jan 2019 | A1 |
20190012672 | Francesco | Jan 2019 | A1 |
20190018937 | Jadhav | Jan 2019 | A1 |
20190020668 | Sadaghiani | Jan 2019 | A1 |
20190036858 | Kovega | Jan 2019 | A1 |
20190042425 | Shifer | Feb 2019 | A1 |
20190042900 | Smith | Feb 2019 | A1 |
20190044818 | Nolan | Feb 2019 | A1 |
20190050322 | Bhojan | Feb 2019 | A1 |
20190066694 | Hirzel | Feb 2019 | A1 |
20190095888 | Monaghan | Mar 2019 | A1 |
20190102078 | Bhatt | Apr 2019 | A1 |
20190102686 | Yang | Apr 2019 | A1 |
20190116136 | Baudart | Apr 2019 | A1 |
20190122140 | Sen | Apr 2019 | A1 |
20190138879 | Hu | May 2019 | A1 |
20190138942 | Raskovalov | May 2019 | A1 |
20190140939 | Schooler | May 2019 | A1 |
20190155941 | Bhide | May 2019 | A1 |
20190164388 | Ozasa | May 2019 | A1 |
20190166153 | Steele | May 2019 | A1 |
20190205238 | Lemay | Jul 2019 | A1 |
20190207953 | Klawe | Jul 2019 | A1 |
20190236362 | Srivastava | Aug 2019 | A1 |
20190243933 | Roemerman | Aug 2019 | A1 |
20190286564 | Chauhan | Sep 2019 | A1 |
20190286901 | Blanco | Sep 2019 | A1 |
20190287168 | Williams, III | Sep 2019 | A1 |
20190289025 | Kursun | Sep 2019 | A1 |
20190297007 | Lessmann | Sep 2019 | A1 |
20190306023 | Vasseur | Oct 2019 | A1 |
20190312791 | Ligata | Oct 2019 | A1 |
20190325448 | Barakat | Oct 2019 | A1 |
20190347125 | Sankaran | Nov 2019 | A1 |
20190349426 | Smith | Nov 2019 | A1 |
20200004710 | Peter | Jan 2020 | A1 |
20200012955 | Miyata | Jan 2020 | A1 |
20200034112 | Woo | Jan 2020 | A1 |
20200057856 | Daymont | Feb 2020 | A1 |
Entry |
---|
Klerx, T., Anderka, M., Kleine Büning, H., Priesterjahn, S.: Model-based anomaly detection for discrete event systems. In: Proceedings of the 26th IEEE International Conference on Tools with Artificial Intelligence (ICTAI 2014). pp. 665-672. IEEE (2014) (Year: 2014). |