Patent Issued for Systems and methods for processing electronic requests (USPTO 11494246): Massachusetts Mutual Life Insurance Company
2022 NOV 25 (NewsRx) -- By a
The assignee for this patent, patent number 11494246, is
Reporters obtained the following quote from the background information supplied by the inventors: “As the processing power of computers allows for greater computer functionality and the Internet technology era allows for interconnectivity between computing systems, many existing software solutions receive a high volume of electronic requests. To satisfy the electronic requests, the sever receiving the requests may need to execute different predictive computer models for different requests. Managing such electronic requests in a reliable and efficient manner is difficult.
“In existing and conventional software solutions, after the server receives the electronic requests, an API (application programming interface) layer of the server may identify the requested predictive computer models, and load the models from memory. If the models are not in local memory, the API layer of the server may load them into memory from a cross-platform database (e.g.,
“Existing software solutions, utilizing conventional methods, have encountered a new set of technical challenges. First, existing and conventional software solutions may have consistent failures because of invalid inputs. The conventional software solutions may put the responsibility of knowing how to send right requests on the users. If the users send an invalid request, the system may crash. Specifically, invalid input may lead to segment faults and system crash. A segmentation fault or access violation is a fault, or failure condition, raised by hardware with memory protection, notifying an operating system the software has attempted to access a restricted area of memory. The segment faults may lead to memory dump, which is a process of recording the state of the working memory of a computer program at the time of crash. The memory dumps may lead to the next request failing.
“Second, existing and conventional software solutions may have intermittent failures due to overloaded resource pool. All the models share the same environment and the same pool of resources, which may lead to system crashes and slow downs. In conventional software solutions, only one predictive computer model runs at a time, which may monopolize the CPU (central processing unit) of the server. Furthermore, because the API layer may load the models from a cross-platform database if the models are not in memory, it may take a long duration for satisfying the requests. The timeouts from long-duration requests may cause low efficiency, especially when low-priority batch predictions may monopolize the resources.
“Third, existing and conventional software solutions have a single predictive model environment and share the same kind of third-party dependencies. The incrementing third party dependencies may cause inflexibility. For example, upgrading for one model may lead to breaking the functionality for another.”
In addition to obtaining background information on this patent, NewsRx editors also obtained the inventors’ summary information for this patent: “For the aforementioned reasons, what is needed is a system and method to execute different predictive computer models not only at scale, but also with a short response time. What is further needed is a system and method to validate requests before executing the models. What is also needed is a new system architecture that separates the API layer and the model execution layer and executes each model in an individual environment/container without third-party dependencies.
“Embodiments disclosed herein address the above challenges by providing a system and method for efficiently processing electronic requests. Specifically, an analytic server may have a plurality of predictive computer models registered on a model-by-model basis. The analytic server may receive a model specification file for each model that defines the expected inputs and other description of the model. Based on the model specification file, the analytic server may extract a set of validation codes for each model. When the analytic server receives an electronic request to execute one of the predictive computer models, the API layer of the analytic server may validate the electronic request by verifying the inputs of the request satisfying the set validation codes of the corresponding model. If the electronic request is invalid, the analytic server may return an error message immediately with helpful information to the user. If the electronic request is valid, the API layer of analytic server may send the electronic request to predictive model execution layer. Within the predictive model execution layer, the analytic server may execute the corresponding model based on the request inputs and generate output results. The predictive model execution layer may transmit the output results back to the API layer, which may transmit the output results to the user device.
“The API layer may perform the input validation to make sure that only valid requests are processed. The invalid requests are filtered out and will not cause system crash. The analytic server may separate the predictive model execution layer from the API layer and allocate system resources based on per-model request volume. Within the predictive model execution layer, each predictive computer model may reside in its own separate, containerized environment. This per-model containerized architecture may enable efficient resource allocation and per-model dependency management. For example, each model may be scaled and load balanced independently. Multiple models may execute at the same time. Each model may have their own set of third-party libraries. So that each model can leverage whatever version of R/Python (and any associated third-party dependencies) they require without breaking the functionality of any other registered model.
“In one embodiment, a method comprises receiving, by a server, a plurality of predictive computer models, each predictive computer model comprising a model specification file indicating a set of validation codes comprising at least a required input range and type to execute the predictive computer model; receiving, by an application programming interface layer of the server, from an electronic device, an electronic request to execute a predictive computer model within the plurality of predictive computer models using a set of inputs; identifying, by the application programming interface layer of the server, a first predictive computer model corresponding to the received electronic request; validating, by the server, in the application programming interface layer, the electronic request by verifying that the set of inputs corresponds to the required input range and type in the set of validation codes of the first predictive computer model; in response to the set of inputs corresponding to the required input range and type in the set of validation codes of the first predictive computer model: executing, by a model execution layer of the server, the first predictive computer model using the set of inputs to generate output results; and transmitting, by the model execution layer of the server, the generated output results to the application programming interface layer of the server, whereby the application programming interface layer of the server transmits the generated output results to the electronic device.
“In another embodiment, a computer system comprises an electronic device, a server in communication with the electronic device and configured to: receive a plurality of predictive computer models, each predictive computer model comprising a model specification file indicating a set of validation codes comprising at least a required input range and type to execute the predictive computer model; receive, by an application programming interface layer of the server, from the electronic device, an electronic request to execute a predictive computer model within the plurality of predictive computer models using a set of inputs; identify, by the application programming interface layer of the server, a first predictive computer model corresponding to the received electronic request; validate, in the application programming interface layer, the electronic request by verifying that the set of inputs corresponds to the required input range and type in the set of validation codes of the first predictive computer model; in response to the set of inputs corresponding to the required input range and type in the set of validation codes of the first predictive computer model: execute, by a model execution layer of the server, the first predictive computer model using the set of inputs to generate output results; and transmit, by the model execution layer of the server, the generated output results to the application programming interface layer of the server, whereby the application programming interface layer of the server transmits the generated output results to the electronic device.”
The claims supplied by the inventors are:
“1. A method comprising: receiving, by a processor from an electronic device, an electronic request to execute a predictive computer model within a plurality of predictive computer models, the electronic request further comprising a set of inputs; identifying, by the processor, a first predictive computer model within the plurality of predictive computer models corresponding to the electronic request; and in response to the set of inputs corresponding to a model specification file indicating content of requests needed to execute the first predictive computer model, the model specification file including an acceptable range and type of data needed to execute the first predictive computer model, executing, by the processor, the first predictive computer model using the set of inputs to generate output results, whereby the processor presents the output results for display on the electronic device.
“2. The method of claim 1, wherein the processor identifies the first predictive computer model based on data included within the electronic request.
“3. The method of claim 1, wherein the processor executes validation code included within the first predictive computer model to determine whether the set of inputs corresponds to the acceptable range and type of data needed to execute the first predictive computer model.
“4. The method of claim 1, wherein when the set of inputs does not correspond to the acceptable range and type of data needed to execute the first predictive computer model, the processor transmits an electronic message comprising error information regarding the electronic request to the electronic device.
“5. The method of claim 1, wherein when the processor receives a batch of electronic requests comprising a plurality of electronic requests, the processor generates a queue corresponding to each electronic request within the batch of electronic requests.
“6. The method of claim 5, wherein the processor executes at least one electronic request within the queue based on a workload the processor.
“7. The method of claim 5, wherein the processor executes at least one electronic request within the queue based on a time of receipt associated with each electronic request.
“8. The method of claim 1, wherein the first predictive computer model resides in a first containerized environment separate from a second containerized environment of at least one other predictive computer model within the plurality of predictive computer models.
“9. The method of claim 1, wherein the first predictive computer model is in a first programming language different than a second programming language of at least one other predictive computer model within the plurality of predictive computer models.
“10. The method of claim 1, wherein the processor hosts an application programming interface in communication with one or more servers hosting the plurality of predictive computer models.
“11. A computer system comprising: a server comprising a processor and a non-transitory computer-readable medium containing instructions that when executed by the processor causes the processor to perform operations comprising: receive, from an electronic device, an electronic request to execute a predictive computer model within a plurality of predictive computer models, the electronic request further comprising a set of inputs; identify a first predictive computer model within the plurality of predictive computer models corresponding to the electronic request; and in response to the set of inputs corresponding to a model specification file indicating content of requests needed to execute the first predictive computer model, the model specification file including an acceptable range and type of data needed to execute the first predictive computer, execute the first predictive computer model using the set of inputs to generate output results, whereby the instructions further cause the processor to present the output results for display on the electronic device.
“12. The computer system of claim 11, wherein the instructions further cause the processor to identify the first predictive computer model based on data included within the electronic request.
“13. The computer system of claim 11, wherein the instructions further cause the processor to execute validation code included within the first predictive computer model to determine whether the set of inputs corresponds to the acceptable range and type of data needed to execute the first predictive computer model.
“14. The computer system of claim 11, wherein when the set of inputs does not correspond to the acceptable range and type of data needed to execute the first predictive computer model, the instructions further cause the processor to transmit an electronic message comprising error information regarding the electronic request to the electronic device.
“15. The computer system of claim 11, wherein when the instructions further cause the processor to receive a batch of electronic requests comprising a plurality of electronic requests, the processor generates a queue corresponding to each electronic request within the batch of electronic requests.
“16. The computer system of claim 15, wherein the instructions further cause the processor to execute at least one electronic request within the queue based on a workload the processor.
“17. The computer system of claim 15, wherein the instructions further cause the processor to execute at least one electronic request within the queue based on a time of receipt associated with each electronic request.
“18. The computer system of claim 11, wherein the first predictive computer model resides in a first containerized environment separate from a second containerized environment of at least one other predictive computer model within the plurality of predictive computer models.
“19. The computer system of claim 11, wherein the first predictive computer model is in a first programming language different than a second programming language of at least one other predictive computer model within the plurality of predictive computer models.
“20. The computer system of claim 11, wherein the instructions further cause the processor to host an application programming interface in communication with one or more servers hosting the plurality of predictive computer models.”
For more information, see this patent:
(Our reports deliver fact-based news of research and discoveries from around the world.)
Patent Issued for Automated consent management system and method for managing autoreply messages to incoming calls (USPTO 11496620): Rhinogram Inc.
Patent Issued for Autonomous vehicle operating status assessment (USPTO 11494175): State Farm Mutual Automobile Insurance Company
Advisor News
Annuity News
Health/Employee Benefits News
Life Insurance News