Embodiments disclosed herein are related to systems and methods for detecting and classifying patterns associated with requests.
A system of processing requests may provide different processing options. The processing options can depend on one or more patterns that are incorporated into or associated with the request. The system of processing requests may detect the patterns incorporated into or associated with the requests and process the request based on the detection.
Additionally, the system of processing requests may need to detect the patterns, classify the detected patterns, and then select the processing option based on the classification of the patterns. Detection and classification of the patterns require a training of the system with known patterns. The training of the system of processing requests with known patterns can cause the system to detect and classify the known patterns with an acceptable accuracy. However, the pattern detection systems perform poorly when they encounter new, e.g., unknown, patterns.
There is therefore a need for a device, system, and method for updating the pattern detection systems and incorporating new patterns into the pattern detection systems.
Embodiments of the present disclosure and their advantages may be understood by referring to the detailed description provided herein. It should be appreciated that reference numerals may be used to illustrate various elements and/or features provided in the figures. Further, the figures may illustrate various examples for purposes of illustration and explanation related to the embodiments of the present disclosure and not for purposes of any limitation.
In the following description specific details are set forth describing certain embodiments. It will be apparent, however, to one skilled in the art that the disclosed embodiments may be practiced without some or all of these specific details. The specific embodiments presented are meant to be illustrative, but not limiting. One skilled in the art may realize other material that, although not specifically described herein, is within the scope and spirit of this disclosure.
In some embodiments, a system receives and processes requests. The received requests are processed based on patterns incorporated into or associated with the requests to determine a classification for the request and/or to recognize how the request should be processed. In some examples, the request includes data related to how the request is generated, who generated the request, when/where the request is generated, which resources/devices the request has accessed, etc. This data can be a historic log that includes actions performed or resources accessed and may be viewed as a pattern, e.g., pattern of actions associated with the request that can be incorporated into the request. In summary, the patterns associated with the requests can correspond to how the request is generated including the performed steps/actions leading to the generation of the request. In some examples, the pattern of how a request is generated is an indication that the request is authentic. Also, the patterns can include data related to where or when the request is generated or on which device the request is generated or transmitted from. Alternatively, an artificial pattern can intentionally be added to the request. In some examples, a secure pattern, such as a drawing, e.g., a facial image/drawing, can be added to the request. Example embodiments herein describe related technologies to generate accurate pattern detection scores that can accurately classify the request based on the request pattern and consequently process the request based on the classification. In some examples, based on the performed steps/actions leading to the generation of the request, the request can be classified into two groups of authentic requests and inauthentic, e.g., forged or fake requests such that an authentic request is processed by the system and a fake request is ignored by the system.
Consistent with some embodiments, there is provided a system having a non-transitory memory for storing at least a first and a second database. The system includes one or more hardware processors that are configured to execute instructions. The instructions when executed as one or modules by the one or more hardware processors may cause the system to perform operations described herein.
In some embodiments, the system retrieves a first pattern detection model from the first data base. The first pattern detection model may detect a number of first patterns that may be associated with a request. Also, the first pattern detection model may include a number of first features such that the first features are used for detecting the first patterns. In some examples, features are attributes of patterns and the patterns are recognized, e.g., detected based on the features.
In some examples, the patterns are the data related to user activities related to a system like the generation of financial transaction requests, e.g., payment requests, by the user and the features are one or more of the 1) merchant address, 2) the device the request was originated on, 3) address of the requester, and 4) the IP address the request was first transmitted from, etc. The features may be used for recognizing the pattern of providing the request and then authenticating the request based on the recognition.
In some other examples, the patterns might be alphabetic characters incorporated into the request, and the feature is one or more of the 1) area enclosing the character, 2) number of sharp edges of the character, and 3) drawing length of the character. The feature may be used for recognizing the incorporated characters and then authenticating the request based on the recognition.
In some embodiments, a number of second patterns are retrieved from a second database. In some examples, the first database and the second database are combined into a single database. In some examples, the first patterns are generated in a first time span and the second patterns are generated in a second time span distinct from the first time span and may optionally correspond to a time span later than the first time span. In some examples, the first and second time spans have temporal overlap.
In some embodiments, a number of second features are selected based at least on the second patterns and the second features may be used for detecting the second patterns. In some examples, the features are some parameters corresponding to the patterns and the patterns are detected based on the features. In some examples, a feature is selected such that when a pattern exists the feature has a first range of values, and when the pattern does not exist the feature has a second range of value distinct from the first range of value such that the value of the feature may be an indication of the presence or non-presence of the pattern.
In some embodiments, a second pattern detection model is generated based on the first pattern detection model. The generation of the second pattern detection model includes two steps. First, one or more of the second features are incorporated into the first pattern detection model to create a partially trained interim pattern detection model such that the partially trained interim pattern detection model includes features that do not exist in the first pattern detection model. Second, after adding the one or more second features, the partially trained interim pattern detection model is trained, e.g., re-trained using the second patterns. In some examples, the interim pattern detection model is a small modification, e.g., small perturbation, of the original first pattern detection model and thus still holds part of the training information of the first pattern detection model and thus may be called as partially trained interim pattern detection model.
In some embodiments, a request is received by the system, where the request may include a request pattern. In some examples, the second pattern detection model that is trained by the second patterns is applied by a pattern processing engine executed on the one or more processers of the system. In some examples, the second pattern detection model is applied to the request pattern and a pattern detection score for the request pattern is generated.
In some embodiments, the request is processed based on the pattern detection score. In some examples, two or more processing options are provided based on the pattern detection score. In some examples, the options may include ignoring, e.g., denying, the request.
In various circumstances, the example embodiments described herein may resolve various challenges with regards to processing the received requests by the system. The processing is based on request patterns associated with the request. The requests can be received through a network. The request pattern may be the steps performed through the network and by the network including accessing network resources. As such, the example embodiments described herein may resolve problems that did not exist before the availability of the computer networks, particularly generating detection scores related to requests and processing requests based on the pattern detection scores. Notably, the modules may be implemented with hardware, software, or possibly with aspects of both hardware and software.
In some examples, the pattern processing engine 120 may be implemented using hardware components, such as a processor, an application specific integrated circuit (ASIC), a programmable system-on-chip (SOC), a field-programmable gate array (FPGA), and/or programmable logic devices (PLDs), among other possibilities.
In some embodiments, one or more patterns are associated with the requests 119. Alternatively, one or more patterns are incorporated into the requests 119. In some examples, the one or more patterns of the request 119 are retrieved by the pattern processing engine 120 from the memory 104.
In some embodiments, a first pattern detection model 132 is retrieved from the database 108 of the memory 104. The first pattern detection model may detect a plurality of first patterns 134. In an example, the plurality of first patterns 134 are stored in the database 108 of the memory 104. The first pattern detection model 132 includes a plurality of first features 136 where the first features 136 are used by the first pattern detection model 132 for detecting the first patterns 134. In some examples, the pattern processing engine 120, executing on the one or more processors 102, applies the first pattern detection model 132 to detect the first patterns 134 based on the first features 136.
In some examples, a plurality of second patterns 144 are retrieved from database 109 of the memory 104. Based at least on the plurality of second patterns 144, a plurality of second features 148 may be selected where the second features 148 may be used for detecting the second patterns 144. In some examples, the pattern processing engine 120, executing on the one or more processors 102, applies a pattern detection model, possibly different from the first pattern detection model 132, to detect one or more of the second patterns 144 based on one or more of the second features 148.
In some embodiments, the second pattern detection model 142 is generated based on the first pattern detection model 132. In some examples, the second pattern detection model 142 is stored in database 109 of the memory 104. The generation of the second pattern detection model 142 includes the incorporation of one or more of the plurality of second features 148 into the first pattern detection model 132 to create an interim pattern detection model. Incorporating one or more of the plurality of second features 148 to the first features 136 creates the updated features 146. In some examples, the second pattern detection model 142 uses the updated features 146, which include at least one or more features that are present in the features 136 of the first pattern detection model 132. The generation of the second pattern detection model 142 also includes training the second pattern detection model 142 using the plurality of second patterns 144. In some examples, the first patterns 134 are generated in a first time period and the second patterns 144 are generated in a second time period distinct from the first time period that may optionally correspond to a time period after the first time period. In some examples, the second time period may correspond to a time period after the first pattern detection model 132 is created. In some examples, the training of the second pattern detection model 142 is performed by pattern processing engine 120 executing on the one or more processors 102. The training may be performed iteratively and the iterations can continue until a predetermined level of accuracy in detecting the second patterns 144 is achieved.
In some embodiments, a request 119 is received by the system 100. The request 119 can include a request pattern. In some examples, the request pattern is associated with the request 119 and may include data related to the generation of the request 119. In some examples, the data may optionally include a location, time, and/or device used for generating the request. In some examples, for security purposes, a pattern such as a unique piece of data such as an image, or a sequence of numbers may be added as the request pattern to the request 119.
In some examples, the pattern processing engine 120 applies the second pattern detection model 142 to the request pattern of the request 119 to generate a pattern detection score for the request pattern of the request 119.
In some embodiments, the pattern processing engine 120 further processes the request 119. The processing is based on the generated pattern detection score. In some examples, the processing may include ignoring, e.g., denying the request. In some examples, the generated pattern detection score specifies the security level of the request 119 and the request 119 is only executed when it is deemed a secure request. In some examples, the pattern detection score can limit the extent to which the request 119 can be processed. In some examples, if the request is related to accessing a network system, a non-perfect pattern detection score can limit the extent of accessing the network. In some examples, if the request is related to accessing a financial system, a non-perfect pattern detection score can exert a limit, e.g., a limit on the amount the financial transactions.
In some embodiments, consistent with system 100 of
In some embodiments, existence of a feature in a pattern may cause the recognition, e.g., detection of the pattern. In some examples, non-existence of a feature in a pattern may cause the recognition, e.g., detection of the pattern. In some examples, the existence of one or more first key features and non-existence of one or more second key features in a pattern may cause the recognition, e.g., detection of the pattern. In some examples, the pattern processing engine 120 may use the values assigned to the features and based on a predefined function calculate a pattern detection score and based on the calculated score the pattern processing engine 120 may detect the pattern, e.g., detects if the pattern exists or does not exist.
In some examples, the values assigned to the features are numbers, real or integer. In some examples, the values assigned to the features are logical values, e.g., yes/no, or true/false. In some examples, the values assigned to the features are fuzzy values, e.g., definitely exists, probably exists, probably does not exist, and definitely does not exist.
In some embodiments, consistent with system 100 of
In some examples, the plurality of second patterns 144 are retrieved from the second database 109 of the memory 104. Based at least on the plurality of second patterns 144, a plurality of second features 148 may be selected where the second features 148 may be used for detecting the second patterns 144. In some examples, the pattern processing engine 120 applies a pattern detection model possibly different from the first pattern detection model 132 for detecting the second patterns 144 based on the second features 148. In some examples, the plurality of second patterns 144 include new patterns that did not exist and thus their features were not included when the first pattern detection model 132 was generated. In some examples, the plurality of second patterns 144, although are captured after the first pattern detection model 132 was generated may include one or more patterns similar to or the same as the first patterns 134.
In some examples, the number of features in the first pattern detection model 132 is between 200 and 800 features, e.g., 400 features. In some examples, the second pattern detection model 142 is created by incrementally updating the first pattern detection model 132 such that each time a predetermined and limited number of new features, e.g., 5 percent, 10 percent, and/or 15 percent is added to the already existing features to update the features of the pattern detection model. In some examples, the second pattern detection model 142 is created by incrementally updating the first pattern detection model 132, such as each time a predetermined and limited number of new features, e.g., 25, 50, and/or 100 features, is added to the already existing features to update the features of the pattern detection model. The generation of the second pattern detection model 142 also includes training the second pattern detection model 142 using the plurality of second patterns 144. In some examples, the first patterns 134 are generated in a first time period and the second patterns 144 are generated in a second time period distinct from the first time period that may optionally correspond to a time period after the first time period. In some examples, the second time period may correspond to a time period after the first pattern detection model 132 is created. In some examples, the training of the second pattern detection model 142 is performed by pattern processing engine 120 executing on the one or more processors 102. The training may be performed iteratively and the iterations can continue until a predetermined level of accuracy in detecting the patterns are achieved.
In some embodiments, one or more requests 119 is received through the network interface 204 and connection, e.g., network link 210 by the system 200. Each of the requests 119 can be associated with or may include a request pattern. In some examples, the request pattern is associated with the request 119 and may include data related the generation of the request 119. In some examples, the data may optionally include a location, time, and/or device used for generating the request. In some examples, for security purposes, a pattern such as a unique piece of data such as an image, a sequence of numbers, or a combination of an image and a sequence of numbers may be added as the pattern to the request 119.
In some examples, the pattern processing engine 120, executing on the one or more processors 102, implements the second pattern detection model 142 for detecting the request pattern of the request 119 received through the network interface 204 and to generate a pattern detection score for request pattern of the request 119.
In some embodiments, the pattern processing engine 120 processes the request 119 received through the network interface 204. The processing is based on the generated pattern detection score. In some example, the processing may include ignoring the request. In some examples, the generated pattern detection score specifies the security level of the request 119 received via the network interface 204 and the request 119 is only executed when it is deemed a secure request. In some examples, the pattern detection score can limit the extent of the request, e.g., the level the request can access resources or a limited time window for processing the request. In some examples, if the request is related to accessing a network system, a non-perfect pattern detection score can limit the extent of accessing the network, e.g., resources of the network. In some examples, if the request is related to accessing a financial system, a non-perfect pattern detection score can exert a limit on an amount of the financial transactions or can set a limited window of time the request can be processed.
As described, training the second pattern detection model 142 based on the first pattern detection model 132 may be done as an incremental training using the second patterns 144 such that the second patterns 144 used for the training did not exist at the time the first pattern detection model 132 was created. The training process in the incremental training is essentially faster than training using the whole data set of the first patterns 134 and second patterns 144. Specifically, the incremental training can occur in relatively short time spans, e.g., every month, every two months, and/or at any other suitable interval.
In some embodiments, in addition to selecting features, training second pattern detection model 142 includes defining structural rules or statistical rules of the patterns. The statistical rules include specifying a range of values for the features. The structural rules, besides specifying a range of values for the features, may optionally specify a logical value for the value and/or may include a grammar for how the features are positioned physically or temporally.
In some embodiments, the first pattern detection model 132 and the second pattern detection model 142 are models for detecting transaction fraud patterns. Also, the plurality of first patterns 134 and the plurality of second patterns 144 are transaction patterns that include fraud patterns. In some examples, the transaction requests include transaction patterns, and based at least on the detection score, the received transaction request is classified into a fraudulent transaction request group and the transaction request is not processed.
In some embodiments, the systems 100 and 200 of
In some embodiments, the plurality of first patterns and the plurality of second patterns are patterns of user activities interacting with a network-based system. In some examples, the first pattern detection model and the second pattern detection model are models for detecting patterns of activities of users when interacting with network-based systems. The plurality of first patterns and the plurality of second patterns are the patterns of activities of users when interacting with the network-based systems.
In some examples, the first pattern detection model and the second pattern detection model are models for detecting patterns of activities occurring inside a system. The plurality of first patterns and the plurality of second patterns are the patterns of activities associated with one or more subsystems of the system.
In some embodiment, users can use client devices 312 and 314 to communicate through the network 310 to the system 320. The client devices 312 and 314 can send requests 119 through the connections, e.g., network links 306 and 308 to the network 310 and the network can send the requests 119 through the connection 302 to the system 320.
In some embodiments, the request 119 is received through a network interface consistent with network interface 204 of
In some embodiments, the client device 312 or 314 is a mobile device communicating with the system 320 through the network 310, e.g., a wireless network or a cloud network.
In some embodiments, the existing features 410 that are consistent with feature 136 of the first pattern detection model 132 in
In some embodiments, the second patterns 422 include new patterns 428 that did not exist when the first pattern detection model 132 was generated and thus their features were not included when the first pattern detection model 132 was trained. In some examples, the second patterns 422, despite being captured after the first pattern detection model 132 was generated, may optionally include one or more falsely classified patterns 426. The falsely classified patterns are similar to or the same as the first patterns that are incorrectly recognized by the first pattern detection model 132, i.e., they are request patterns that are missed when they should have been recognized or are request patterns that are wrongly recognized by the first pattern detection model 132.
In some embodiments, when combining the existing features 410 and new features 420, some of the existing features 410 are removed such that the number of features in 410 and 440 are essentially equal and are within less than 5 percent, e.g., one percent, or other percentage of each other. As described, in the incremental training, the number of features selected from the new features 420 to be combined with the existing features 410 may be limited, e.g., to 10 percent of the number of features in 410. Also, in the incremental training, the updated pattern detection model is trained, e.g., re-trained with the second patterns 144 and thus the incremental training is a much faster process compared to generating a pattern detection model from scratch by training all features with all possible patterns.
In some embodiments, the second pattern detection model 520 is consistent with the second pattern detection model 142 and the second features 512 are consistent with the second features 148 of
In some examples, the feature updating module 504 receives the first pattern detection model 502 and incorporates one or more of the second features 512 associated with the second patterns that are captured after the first pattern detection model 502 is created into the features of the first pattern detection model 502 to update the first pattern detection model 502. The training module 510 then receives the updated model and re-trains it using the second patterns 516 and creates the second pattern detection model 520.
In some examples, the re-training includes one or all of: updating pattern recognition rules, defining new pattern recognition rules, removing existing pattern recognition rules, updating pattern recognition parameters, removing existing pattern recognition parameters, and/or defining new pattern recognition parameters.
In some embodiments, the first pattern detection model 502 is directly fed into and training module 510 and the feature updating module 504 is skipped. In some examples, the second features 512 are not selected and the features of the first pattern detection model 502 are not updated. In some examples, the first pattern detection model 502 is re-trained by the second patterns 516 without first updating the first pattern detection model 502 such that the features of the first pattern detection model 502 are kept the same and the features of the second pattern detection model 520 and the model is merely re-trained by the new patterns, e.g., second patters 516. Thus, the second pattern detection model 520 has exactly the same features of the first pattern detection model 502.
In some examples, the training module 510 performs an iterative training of the updated model using the second patterns 516. In the iterative training, after applying one or more of the second patterns 516 to the updated model, based on the outcome of the updated model, the parameters of the updated model are further updated until a predefined level of accuracy in detecting the patterns is achieved. In some examples, the predefined level of accuracy includes correctly recognizing patterns having the desired attributes by a predefined percentage of accuracy, e.g., more than 90 percent and correctly rejecting patterns not having the desired attributes by a predefined percentage of accuracy, e.g., 98 percent. In some examples, the training includes modifying the pattern recognition rules and/or parameters such that in the patterns having the desired attributes are grouped with each other and patterns not having the desired attributes are also separately grouped with each other with a safe distance between the two groups. In some examples, the safe distance between the two groups is defined by the inaccuracy and noise that inherently exists in capturing the patterns. The distance between the two groups is safe and there is a low probability of inaccurate recognition when the distance is much larger than the inaccuracy of measurements and noise of data gathering associated with capturing the patterns.
In some embodiments, the first pattern detection model 502 and the second pattern detection model 520 are implemented as neural networks that include an input layer, a hidden layer, and an output layer. In some examples, the input layer of the neural network includes two or more nodes, where the number of nodes is equal to the number of features of the pattern detection model. In some examples, the input layer has between 200 and 800 nodes. In some examples, the neural network includes a hidden layer with between 10 and 20 nodes. In some examples, the output layer of a neural network may include a single node and the single node provides a pattern detection score.
In some embodiments, by adding one or more new nodes to the input layer of the neural network, one or more of the second features are incorporated into the neural network. In some examples, by removing one or more nodes of the input layer of the neural network, one or more of the existing first features are deleted from the neural network.
In some embodiments, the neural network is trained using the first patterns to generate the first pattern detection model 502. In some examples, possibly after adding one or more new input nodes and removing one or more existing input nodes, the neural network is re-trained using the second patterns to generate the second pattern detection model 520. In some examples, one or more methods including the simulated annealing or gradient descent are used for training the first pattern detection model 502 or for re-training second pattern detection model 520.
In some examples, the first pattern detection model 502 is generated using all patterns that were known and useful at the time of creation of the first pattern detection model 502. In some examples, the number of features in the first pattern detection model 502 is between 200 and 800 features. Thus, although the first pattern detection model 502 is stable, the creation of the first pattern detection model 502 may take a long time. In some other examples, updating the first pattern detection model 502 to create the second pattern detection model 520 is faster because the second pattern detection model 520 involves an incremental and limited change and a small and separate set of data, e.g., the second patterns 516, are used for its re-training. Keeping the changes between the first pattern detection model 502 and the second pattern detection model 520 to a limited, e.g., less than ten, percent of features may cause the second pattern detection model 520 to enjoy the stability of the first pattern detection model 502. In some examples, after a few, e.g., less than ten, incremental changes a pattern detection model using the complete set of patterns may be generated.
In some examples, the first patterns and the second patterns are financial transaction patterns that include fraudulent patterns. In some examples, the fraudulent patterns change at a much greater rate than a rate at which a pattern detection model using a full set of patterns can be created, tested, and implemented, and thus the incremental updating of the pattern detection model may be used to keep up with the rate that the fraudulent patterns change. Thus, the proposed incremental updating may solve a problem related to network or Internet based financial transactions in the area of security.
As shown in
In some examples, the requests are financial transaction requests. In some examples, a specific version of an IOS or Android software may have a security bug. The software version may be selected as one of the features extracted from the request patterns of a financial transaction request. By recognizing that a financial transaction request is originated from a mobile device having the problematic software version, the system may impose a limit on the amount of the financial transaction request. Later on, when the software is updated and the security bug is removed, there may not be any need to have the software version as a feature and this feature may be retired, e.g., removed.
At step 604, the method 600 may include retrieving second patterns and selecting second features for detecting the second patterns. The second patterns 144 may optionally be retrieved from the second database, e.g., database 109 of
At step 606, the method 600 may include generating a second pattern detection model based at least on the first pattern detection model. In some examples the first pattern detection model and the second pattern detection model are consistent with the pattern detection models 132 and 142 in
In some examples, the first pattern detection model is generated by analyzing the complete set of patterns, e.g., the first patterns 134, and selecting a set of first features/attributes 136 from detecting the first patterns 134. In some examples, the feature selection may include designating the first patterns 134 into a number of groups of associated patterns and then selecting separate features for each group of associated patterns. In some examples, the feature selection may include normalizing the patterns associated with each other. In some embodiments, the first pattern detection model is trained with the complete set of first patterns 134. In some examples, another feature selection may be performed after the training that include analyzing all the features with respect to detecting all the patterns and reducing the feature space dimensions by 1) removing the features that are not effective in distinguishing the patterns and 2) removing the features that can distinguish rarely occurring patterns. In some embodiments, the second pattern detection model is generated using the second patterns 144. The second patterns 144 are the patterns that occurred after the first pattern detection model was created, and thus the second pattern detection model 142 is incrementally generated based on the first pattern detection model 132.
The processes of method 600 are now described in the context of a representative example related to how a pattern detection model for classifying a transaction request, e.g., a financial transaction request, is updated. In some examples, at step 602, a first pattern detection model for detecting request patterns of financial transaction requests is retrieved. The first pattern detection model can determine whether a financial transaction request is valid, e.g., legitimate. The validity is determined based on the request pattern associated with the financial transaction request and by applying the pattern detection model to the request pattern. In some examples, the request pattern is the information related to location, time, and/or steps of the request. In some examples, the request pattern includes the IP address and/or location of the device making the request, a credit card and/or account number associated with the request, the last time the account associated with the request was accessed, the number of accounts having access to the credit card, the individual making the request, and/or the like. At step 604, second request patterns are retrieved. The second request patterns are associated with financial transaction requests that have occurred after the first pattern detection model was generated. At step 606, the second pattern detection model is generated by updating the first pattern detection model such that features related to second request patterns are incorporated and to create an interim, e.g., updated, pattern detection model. The updated model is re-trained by the second request patterns associated with financial transaction requests that have occurred after the first pattern detection model was generated.
As shown in
At step 704, the method 700 may include extracting one or more features of the request pattern. In some examples, the features are already selected and the feature extraction assigns a value, e.g., a logical value, to the feature. In some examples, the request is a financial transaction request and the feature is the location of the user, e.g., requester. Feature extraction is finding the location of the user and assigning it to the feature.
At step 706, the method 700 may include applying the second pattern detection model to the request pattern to generate a pattern detection score. Thus, a pattern detection score is generated based on the application of the second pattern detection model for the received request. In some examples, the second pattern detection model 142 is applied to the request pattern of the received request to generate a pattern detection score. Consistent with
At step 708, the method 700 may include classifying the received request based on the pattern detection score. The received request may be classified into one of a plurality of groups. Consistent with
At step 710, the method 700 may include processing the request based on the pattern detection score, the classification, or both. As noted, in some examples, the pattern detection score indicates how legitimate the request is, and based on this determination the request is processed without limitation, the request gets extra limitations in time or amount, or the request is ignored, e.g., denied.
The processes of method 700 are now described in the context of a representative example related to determining how a transaction request, e.g., a financial transaction request, is processed. In some examples, at step 702, a financial transaction request and its associated request pattern is received from a client device of a user and over a network. At step 704, one or more features of the request pattern of the financial transaction request are extracted. At step 706, the second pattern detection model is applied to the request pattern of the received financial transaction request and a pattern detection score is generated. The pattern detection score is an indication of the validity of the financial transaction request. At step 708, the received financial transaction request is classified based on the detection score into one of a plurality of groups. At step 710, the financial transaction request is processed based on the pattern detection score, the classification, or both. If the pattern detection score indicates that it is a valid request, then the financial transaction request is executed, and if the pattern detection score indicates that it is a fraudulent financial transaction request, then it is denied.
In some embodiments, the network system 800 may include the server 801. The server 801 includes the non-transitory memory 804 that is consistent with the memory 104 of the
The network system 800 may operate with more or less than the computing devices shown in
The data/data packets 822 and/or 824 may be transferrable using communication protocols such as packet layer protocols, packet ensemble protocols, and/or network layer protocols. In some examples, the data/data packets 822 and/or 824 may be transferrable using transmission control protocols and/or internet protocols (TCP/IP). In various embodiments, each of the data/data packets 822 and 824 may be assembled or disassembled into larger or smaller packets of varying sizes. As such, data/data packets 822 and/or 824 may be transferrable over the one or more networks 808 and to various locations in the network system 800. In some examples, the data packets 822 and 824 are consistent with requests 119 of
In some embodiments, the server 801 may take a variety of forms. The server 801 may be an enterprise server, possibly configured with one or more operating systems to facilitate the scalability of the network system 800. In some examples, the server 801 may configured with a Unix-based operating system to integrate with a growing number of other servers, user devices 805 and/or 806, and one or more networks 808 over the network system 800.
In some embodiments, the system/server 801 may include multiple components, such as a hardware processor 802, a non-transitory memory 804, a non-transitory data storage 816, and/or a communication interface component 810, among other possible components, any of which may be communicatively linked via a system bus, network, or other connection mechanism 820. The hardware processor 802 may be implemented using a multi-purpose processor, a microprocessor, a special purpose processor, a digital signal processor (DSP) and/or other types of processing components. In some examples, the processor 802 may include an application specific integrated circuit (ASIC), a programmable system-on-chip (SOC), and/or a field-programmable gate array (FPGA) to process, read, and/or write data for providing services to numerous entities. In particular, the processor 802 may include a variable-bit (e.g., 64-bit) processor architecture specifically configured to facilitate the scalability of the increasing number of entities. As such, the one or more processors 802 may execute varying instructions sets (e.g., simplified and complex instructions sets) with fewer cycles per instruction than other conventional general-purpose processors to improve the performance of the server 801 for purposes of mass scalability and/or accommodation of growth.
The non-transitory memory component 804 and/or the data storage 816 may include one or more volatile, non-volatile, and/or replaceable data storage components, such as a magnetic, optical, and/or flash storage that may be integrated in whole or in part with the hardware processor 802. Further, the memory component 804 may include a number of instructions and/or instruction sets. The processor 802 may be coupled to the memory component 804 and configured to read the instructions to cause the server 801 to perform operations, such as those described in this disclosure, illustrated by the accompanying figures, and/or otherwise contemplated herein. Notably, the data storage 816 or memory 804 may be configured to store numerous user data, possibly including data that may be accessed often by the user devices 805 and/or 806. In some examples, the user data may include user ID and access codes or authentication tokens of a user.
The communication interface component 810 may take a variety of forms and may be configured to allow the server 801 to communicate with one or more devices, such as the user devices 805 and/or 806. The communication interface component 810 is consistent with the network interface 204 of
The user devices 805 and 806 may also be configured to perform a variety of operations such as those described in this disclosure, illustrated by the accompanying figures, and/or otherwise contemplated herein. Notably, the data storage 836/846 of the user devices 805 and 806 may be configured to store numerous user data, possibly including data that may be accessed often by the user devices 805 and 806 such as geographic/address data, request data, pattern data including action patterns, movement data including movement patterns, exercise data including exercise patterns, among other types of data associated with the user. In some examples, the user devices 805 and 806 may be configured to authenticate a user of the user devices 805 and 806 based on data stored, e.g., a security token, e.g., a PIN or password, in the user devices. Alternatively, the server 801 may authenticate a user based on receiving the security token from the user devices 805 and 806.
In some embodiments, the user devices 805 and 806 may include or be implemented as a user device system, a personal computer (PC) such as a laptop device, a tablet computer device, a wearable computer device, a head-mountable display (HMD) device, a smart watch device, and/or other types of computing devices configured to transfer data. The user devices 805 and 806 may include various components, including, for example, input/output (I/O) interfaces 830 and 840, communication interfaces 832 and 842 that may include transceivers 833 and 843, hardware processors 834 and 844, and non-transitory data storages 836 and 846, respectively, all of which may be communicatively linked with each other via a system bus, network, or other connection mechanisms 838 and 848, respectively.
The I/O interfaces 830 and 840 may be configured to receive inputs from and provide outputs to respective users of the user devices 805 and 806. In some examples, the I/O interfaces 830 and 840 may include a display that provides a graphical user interface (GUI) configured to receive an input from a user. Thus, the I/O interfaces 830 and 840 may include displays configured to receive inputs and/or other input hardware with tangible surfaces, such as touchscreens with touch sensitive sensors and/or proximity sensors. The I/O interfaces 830 and 840 may also include a microphone configured to receive voice commands, a computer mouse, a keyboard, and/or other hardware to facilitate input mechanisms, possibly to authenticate a user. In addition, I/O interfaces 830 and 840 may include output hardware such as one or more sound speakers, other audio output mechanisms, haptic feedback systems, and/or other hardware components.
In some embodiments, communication interfaces 832 and 842 may include or take a variety of forms. In some examples, communication interfaces 832 and 842 may be configured to allow user devices 805 and 806, respectively, to communicate with one or more devices according to a number of protocols described and/or contemplated herein. For instance, communication interfaces 832 and 842 may be configured to allow user devices 805 and 806, respectively, to communicate with the server 801 via the one or more communication networks 808. The hardware processors 834 and 844 may include one or more multi-purpose processors, microprocessors, special purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), programmable system-on-chips (SOC), field-programmable gate arrays (FPGA), and/or other types of processing components.
The non-transitory data storages 836 and 846 may include one or more volatile or non-volatile data storages, removable or non-removable data storages, and/or a combination of such data storages that may be integrated in whole or in part with the hardware processors 834 and 844, respectively. Further, data storages 836 and 846 may include non-transitory memories that store instructions and/or instructions sets. Yet further, the hardware processors 834 and 844 may be coupled to the data storages 836 and 846, respectively, and configured to read the instructions from the non-transitory memories to cause the user devices 805 and 806 to perform operations, respectively, such as those described in this disclosure, illustrated by the accompanying figures, and/or otherwise contemplated herein.
In some embodiments, the communication interface 810 is coupled to the one or more processors 802. In some examples, a security module that can take the form of a module in the pattern processing engine 120 of
In some embodiments, the classification of the entity includes assigning the request to an acceptable group if the pattern recognition score is greater than a first predetermined threshold, assigning the request to a failure group if the pattern recognition score is less than a second predetermined threshold, and assigning the request to a limited group if the pattern recognition score is between the first and second thresholds. The assignment of the request to a limited group may include adjusting the limits of the request. In some examples, the request is a transaction request and adjusting may include limiting the amount of the transaction. In some examples, when the request is assigned to the failure group, the adjustment may include ignoring the request.
The present disclosure, the accompanying figures, and the claims are not intended to limit the present disclosure to the example embodiments disclosed. As such, it is contemplated that various alternate embodiments and/or modifications to the embodiment disclosed, whether explicitly described or implied herein, are possible in light of the disclosure and/or the figures. Having thus described embodiments of the present disclosure, persons of ordinary skill in the art will recognize that changes may be made to the embodiments disclosed without departing from the scope of the present disclosure.