METHOD AND SYSTEM FOR PROVIDING CANONICAL DATA MODELS

A method for providing a canonical data model is disclosed. The method includes receiving, via a graphical user interface, requests to generate machine learning models, the requests including configuration data for the machine learning models; identifying the canonical data model that corresponds to the requested machine learning models, the canonical data model including various predetermined parameters; automatically mapping the configuration data to the various predetermined parameters; automatically generating the machine learning models based on a result of the mapping; and outputting the machine learning models in response to the requests.

BACKGROUND

1. Field of the Disclosure

This technology generally relates to methods and systems for providing standard data models, and more particularly to methods and systems for providing standardized data models to facilitate automatic generating and mapping of applications in a networked environment.

2. Background Information

Many business entities utilize a variety of data models to facilitate operational activities and to provide services for users. Often, these data models must be mapped to various applications and numerous interface components to enable communication of data in a networked environment. Historically, implementations of conventional data model management techniques have resulted in varying degrees of success with respect to effective and efficient communication in the networked environment.

One drawback of using the conventional data model management techniques is that in many instances, certain data models such as, for example, margin data models are complex and require accurate mapping of numerous data fields with various computing components for proper operation. As a result, generation and management of these data models are very resource intensive activities. Additionally, these data models are not standardized across different implementations which result in confusion and inaccurate mapping of similar fields between applications due to the complexity.

Therefore, there is a need to provide a unified data model such as, for example, a canonical data model to standardize the entities and columns for sharing between applications and various interfaces to enable automated code generation, ensure consistency across different applications, and provide improved visibility for users.

SUMMARY

The present disclosure, through one or more of its various aspects, embodiments, and/or specific features or sub-components, provides, inter alia, various systems, servers, devices, methods, media, programs, and platforms for providing standardized data models to facilitate automatic generating and mapping of applications in a networked environment.

According to an aspect of the present disclosure, a method for providing a canonical data model is disclosed. The method is implemented by at least one processor. The method may include receiving, via a graphical user interface, at least one request to generate at least one model, the at least one request may include configuration data for the at least one model; identifying the canonical data model that corresponds to the at least one model, the canonical data model may include at least one parameter; automatically mapping the configuration data to the at least one parameter; automatically generating the at least one model based on a result of the mapping; and outputting the at least one model in response to the at least one request.

In accordance with an exemplary embodiment, the canonical data model may relate to a predetermined data model that includes a standardized mapping of a plurality of entities and columns for a plurality of network components, the plurality of network components may include at least one application and at least one application programming interface.

In accordance with an exemplary embodiment, prior to identifying the canonical data model, the method may further include determining, by using the configuration data, whether the requested at least one model corresponds to a previously generated concept; and identifying the canonical data model when the requested at least one model does not correspond to the previously generated concept.

In accordance with an exemplary embodiment, the method may further include identifying a previously generated model that corresponds to the previously generated concept when the requested at least one model corresponds to the previously generated concept; and outputting the previously generated model in response to the at least one request.

In accordance with an exemplary embodiment, to automatically map the configuration data, the method may further include categorizing at least one business context in the configuration data based on the at least one parameter; and determining at least one downstream feed for the at least one model based on the at least one parameter.

In accordance with an exemplary embodiment, the at least one parameter may include standardized terminology for categorizing the at least one business context in the configuration data.

In accordance with an exemplary embodiment, the method may further include determining at least one standard application programming interface configuration for the at least one model based on the at least one parameter; and determining at least one standard integration configuration for the at least one model based on the at least one parameter.

In accordance with an exemplary embodiment, to automatically generate the at least one model, the method may further include automatically generating software code for the at least one model based on the result of the mapping, wherein the automatically generated software code may be operable in a networked environment to access data and to forecast at least one outcome based on the accessed data.

In accordance with an exemplary embodiment, the at least one model may include at least one from among a machine learning model, a mathematical model, a process model, and a data model.

According to an aspect of the present disclosure, a computing device configured to implement an execution of a method for providing a canonical data model is disclosed. The computing device including a processor; a memory; and a communication interface coupled to each of the processor and the memory, wherein the processor may be configured to receive, via a graphical user interface, at least one request to generate at least one model, the at least one request may include configuration data for the at least one model; identify the canonical data model that corresponds to the at least one model, the canonical data model may include at least one parameter; automatically map the configuration data to the at least one parameter; automatically generate the at least one model based on a result of the mapping; and output the at least one model in response to the at least one request.

In accordance with an exemplary embodiment, the canonical data model may relate to a predetermined data model that includes a standardized mapping of a plurality of entities and columns for a plurality of network components, the plurality of network components may include at least one application and at least one application programming interface.

In accordance with an exemplary embodiment, prior to identifying the canonical data model, the processor may be further configured to determine, by using the configuration data, whether the requested at least one model corresponds to a previously generated concept; and identify the canonical data model when the requested at least one model does not correspond to the previously generated concept.

In accordance with an exemplary embodiment, the processor may be further configured to identify a previously generated model that corresponds to the previously generated concept when the requested at least one model corresponds to the previously generated concept; and output the previously generated model in response to the at least one request.

In accordance with an exemplary embodiment, to automatically map the configuration data, the processor may be further configured to categorize at least one business context in the configuration data based on the at least one parameter; and determine at least one downstream feed for the at least one model based on the at least one parameter.

In accordance with an exemplary embodiment, the at least one parameter may include standardized terminology for categorizing the at least one business context in the configuration data.

In accordance with an exemplary embodiment, the processor may be further configured to determine at least one standard application programming interface configuration for the at least one model based on the at least one parameter; and determine at least one standard integration configuration for the at least one model based on the at least one parameter.

In accordance with an exemplary embodiment, to automatically generate the at least one model, the processor may be further configured to automatically generate software code for the at least one model based on the result of the mapping, wherein the automatically generated software code may be operable in a networked environment to access data and to forecast at least one outcome based on the accessed data.

In accordance with an exemplary embodiment, the at least one model may include at least one from among a machine learning model, a mathematical model, a process model, and a data model.

According to an aspect of the present disclosure, a non-transitory computer readable storage medium storing instructions for providing a canonical data model is disclosed. The storage medium including executable code which, when executed by a processor, may cause the processor to receive, via a graphical user interface, at least one request to generate at least one model, the at least one request may include configuration data for the at least one model; identify the canonical data model that corresponds to the at least one model, the canonical data model may include at least one parameter; automatically map the configuration data to the at least one parameter; automatically generate the at least one model based on a result of the mapping; and output the at least one model in response to the at least one request.

In accordance with an exemplary embodiment, the canonical data model may relate to a predetermined data model that includes a standardized mapping of a plurality of entities and columns for a plurality of network components, the plurality of network components may include at least one application and at least one application programming interface.

DETAILED DESCRIPTION

As described herein, various embodiments provide optimized methods and systems for providing standardized data models to facilitate automatic generating and mapping of applications in a networked environment.

Referring toFIG.2, a schematic of an exemplary network environment200for implementing a method for providing standardized data models to facilitate automatic generating and mapping of applications in a networked environment is illustrated. In an exemplary embodiment, the method is executable on any networked computer platform, such as, for example, a personal computer (PC).

The method for providing standardized data models to facilitate automatic generating and mapping of applications in a networked environment may be implemented by a Canonical Data Model Management (CDMM) device202. The CDMM device202may be the same or similar to the computer system102as described with respect toFIG.1. The CDMM device202may store one or more applications that can include executable instructions that, when executed by the CDMM device202, cause the CDMM device202to perform actions, such as to transmit, receive, or otherwise process network messages, for example, and to perform other actions described and illustrated below with reference to the figures. The application(s) may be implemented as modules or components of other applications. Further, the application(s) can be implemented as operating system extensions, modules, plugins, or the like.

The communication network(s)210may be the same or similar to the network122as described with respect toFIG.1, although the CDMM device202, the server devices204(1)-204(n), and/or the client devices208(1)-208(n) may be coupled together via other topologies. Additionally, the network environment200may include other network devices such as one or more routers and/or switches, for example, which are well known in the art and thus will not be described herein. This technology provides a number of advantages including methods, non-transitory computer readable media, and CDMM devices that efficiently implement a method for providing standardized data models to facilitate automatic generating and mapping of applications in a networked environment.

The server devices204(1)-204(n) may be hardware or software or may represent a system with multiple servers in a pool, which may include internal or external networks. The server devices204(1)-204(n) hosts the databases206(1)-206(n) that are configured to store data that relates to requests, configuration data, models, canonical data models, parameters, entities, contexts, standardized mappings, and unified data models.

One or more of the devices depicted in the network environment200, such as the CDMM device202, the server devices204(1)-204(n), or the client devices208(1)-208(n), for example, may be configured to operate as virtual instances on the same physical machine. In other words, one or more of the CDMM device202, the server devices204(1)-204(n), or the client devices208(1)-208(n) may operate on the same physical device rather than as separate devices communicating through communication network(s)210. Additionally, there may be more or fewer CDMM devices202, server devices204(1)-204(n), or client devices208(1)-208(n) than illustrated inFIG.2.

The CDMM device202is described and shown inFIG.3as including a canonical data model management module302, although it may include other rules, policies, modules, databases, or applications, for example. As will be described below, the canonical data model management module302is configured to implement a method for providing standardized data models to facilitate automatic generating and mapping of applications in a networked environment.

An exemplary process300for implementing a mechanism for providing standardized data models to facilitate automatic generating and mapping of applications in a networked environment by utilizing the network environment ofFIG.2is shown as being executed inFIG.3. Specifically, a first client device208(1) and a second client device208(2) are illustrated as being in communication with CDMM device202. In this regard, the first client device208(1) and the second client device208(2) may be “clients” of the CDMM device202and are described herein as such. Nevertheless, it is to be known and understood that the first client device208(1) and/or the second client device208(2) need not necessarily be “clients” of the CDMM device202, or any entity described in association therewith herein. Any additional or alternative relationship may exist between either or both of the first client device208(1) and the second client device208(2) and the CDMM device202, or no relationship may exist.

Further, CDMM device202is illustrated as being able to access a canonical data model repository206(1) and a previously generated concepts database206(2). The canonical data model management module302may be configured to access these databases for implementing a method for providing standardized data models to facilitate automatic generating and mapping of applications in a networked environment.

Upon being started, the canonical data model management module302executes a process for providing standardized data models to facilitate automatic generating and mapping of applications in a networked environment. An exemplary process for providing standardized data models to facilitate automatic generating and mapping of applications in a networked environment is generally indicated at flowchart400inFIG.4.

In the process400ofFIG.4, at step S402, requests to generate models may be received. The requests may be received via a graphical user interface. In an exemplary embodiment, the requests may include configuration data for the requested models. The configuration data may include information that relates to an arrangement and/or set-up of various components of the desired models. For example, a user may design and generate configuration data for a desired margin model, which is then submitted as a request via the graphical user interface.

In another exemplary embodiment, the models may include at least one from among a machine learning model, a mathematical model, a process model, and a data model. The model may also include stochastic models such as, for example, a Markov model that is used to model randomly changing systems. In stochastic models, the future states of a system may be assumed to depend only on the current state of the system.

In another exemplary embodiment, machine learning and pattern recognition may include supervised learning algorithms such as, for example, k-medoids analysis, regression analysis, decision tree analysis, random forest analysis, k-nearest neighbors analysis, logistic regression analysis, etc. In another exemplary embodiment, machine learning analytical techniques may include unsupervised learning algorithms such as, for example, Apriori analysis, K-means clustering analysis, etc. In another exemplary embodiment, machine learning analytical techniques may include reinforcement learning algorithms such as, for example, Markov Decision Process analysis, etc.

In another exemplary embodiment, the model may be based on a machine learning algorithm. The machine learning algorithm may include at least one from among a process and a set of rules to be followed by a computer in calculations and other problem-solving operations such as, for example, a linear regression algorithm, a logistic regression algorithm, a decision tree algorithm, and/or a Naive Bayes algorithm.

In another exemplary embodiment, the model may include training models such as, for example, a machine learning model which is generated to be further trained on additional data. Once the training model has been sufficiently trained, the training model may be deployed onto various connected systems to be utilized. In another exemplary embodiment, the training model may be sufficiently trained when model assessment methods such as, for example, a holdout method, a K-fold-cross-validation method, and a bootstrap method determine that at least one of the training model's least squares error rate, true positive rate, true negative rate, false positive rate, and false negative rates are within predetermined ranges.

In another exemplary embodiment, the training model may be operable, i.e., actively utilized by an organization, while continuing to be trained using new data. In another exemplary embodiment, the models may be generated using at least one from among an artificial neural network technique, a decision tree technique, a support vector machines technique, a Bayesian network technique, and a genetic algorithms technique.

At step S404, canonical data models that correspond to the requested models may be identified. The canonical data models may include various parameters. In an exemplary embodiment, the canonical data model may relate to a predetermined data model that includes a standardized mapping of entities and columns for a plurality of network components. The plurality of network components may include applications and corresponding application programming interfaces (APIs).

In another exemplary embodiment, prior to identifying the canonical data models, an action may be initiated to determine whether concepts that are associated with the requested models already exist in a repository, or whether new concepts are required. The action may include determining whether the requested models correspond to previously generated concepts. The configuration data in the requests may be usable to make the determination. Then, the canonical data models may be identified when the requested models do not correspond to the previously generated concepts.

Alternatively, in another exemplary embodiment, previously generated models that correspond to the previously generated concepts may be identified. The previously generated models may be identified when the requested models correspond to the previously generated concepts. Then, the identified previously generated models may be outputted in response to the requests. The identified previously generated models may be outputted consistent with present disclosures.

In another exemplary embodiment, the applications may include at least one from among a monolithic application and a microservice application. The monolithic application may describe a single-tiered software application where the user interface and data access code are combined into a single program from a single platform. The monolithic application may be self-contained and independent from other computing applications.

In another exemplary embodiment, a microservice application may include a unique service and a unique process that communicates with other services and processes over a network to fulfill a goal. The microservice application may be independently deployable and organized around business capabilities. In another exemplary embodiment, the microservices may relate to a software development architecture such as, for example, an event-driven architecture made up of event producers and event consumers in a loosely coupled choreography. The event producer may detect or sense an event such as, for example, a significant occurrence or change in state for system hardware or software and represent the event as a message. The event message may then be transmitted to the event consumer via event channels for processing.

In another exemplary embodiment, the event-driven architecture may include a distributed data streaming platform such as, for example, an APACHE KAFKA platform for the publishing, subscribing, storing, and processing of event streams in real time. As will be appreciated by a person of ordinary skill in the art, each microservice in a microservice choreography may perform corresponding actions independently and may not require any external instructions.

In another exemplary embodiment, microservices may relate to a software development architecture such as, for example, a service-oriented architecture which arranges a complex application as a collection of coupled modular services. The modular services may include small, independently versioned, and scalable customer-focused services with specific business goals. The services may communicate with other services over standard protocols with well-defined interfaces. In another exemplary embodiment, the microservices may utilize technology-agnostic communication protocols such as, for example, a Hypertext Transfer Protocol (HTTP) to communicate over a network and may be implemented by using different programming languages, databases, hardware environments, and software environments.

At step S406, the configuration data may be automatically mapped to the parameters. In an exemplary embodiment, the automated mapping may relate to a process of matching data fields from the configuration data to the parameters. A data element mapping may be generated to represent the relationship between the various data fields in the configuration data and the parameters. Consistent with present disclosure, the automated matching process may be accomplished without additional intervention from users.

In another exemplary embodiment, automatically mapping the configuration data may include categorizing business contexts in the configuration data based on the parameters. The parameters may include standardized terminology for categorizing the business contexts in the configuration data. Further, downstream feeds for the requested models may be determined. The downstream feeds may be determined based on the parameters consistent with present disclosures.

Additionally, in another exemplary embodiment, automatically mapping the configuration data may include determining standard application programming interface (API) configurations for the requested models. The standard API configurations may be determined based on the parameters. Further, standard integration configurations for the requested models may also be determined. The standard integration configurations may be determined based on the parameters consistent with present disclosures.

At step S408, the requested models may be automatically generated based on a result of the mapping. In an exemplary embodiment, automatically generating the requested models may include automatically generating software codes for the requested models. The software codes may be automatically generated based on a result of the mapping. Consistent with present disclosure, the automated generating process may be accomplished without additional intervention from users.

In another exemplary embodiment, the automatically generated software code may be operable in a networked environment to access data. For example, an automatically generated margin model may include various API mappings that facilitate the aggregation of data to enable predictive operations. Then, the automatically generated software code may be usable to forecast various outcomes based on the accessed data.

At step S410, the automatically generated models may be outputted in response to the requests. In an exemplary embodiment, the automatically generated models may be persisted in a repository. A location identifier that provides a destination path to the automatically generated models may be provided in response to the requests. For example, a destination path to the location where the automatically generated models are persisted in the repository may be provided together with a notification in response to the requests.

In another exemplary embodiment, the notification may be generated when the models are automatically generated. The notification may provide information that relates to the automatically generated models such as, for example, a completion status as well as information that relates to the canonical data model used and a result of the automated mapping. In another exemplary embodiment, documentation such as, for example, a log may be generated together with the automatically generated models. The documentation may include information that relates to the automatically generated models, the canonical data model used, and a result of the automated mapping.

FIG.5is a model and interface diagram500of an exemplary process for implementing a method for providing standardized data models to facilitate automatic generating and mapping of applications in a networked environment. InFIG.5, an exemplary mapping of application programming interfaces (APIs) with machine learning models such as, for example, margin models is provided. The mapping may facilitate the sharing of standardized entities and columns between applications and the APIs.

As illustrated inFIG.5, various applications and corresponding APIs such as, for example, a trade capture application and a trade API may be mapped to facilitate functionalities of the margin models. The mapping may have been accomplished by using the canonical data model consistent with present disclosures. The canonical margin data model may be usable to build distribution API for data flow between the various applications. The canonical margin model may facilitate usage of common terminology amongst the various applications. The canonical margin model may also enable consistent use of entities and columns across different applications as well as automated generation of code based on standardized data models. The standardized entities and columns may provide better visibility for users.

FIG.6is a results entity distribution diagram600of an exemplary process for implementing a method for providing standardized data models to facilitate automatic generating and mapping of applications in a networked environment. InFIG.6, result distributions for a machine learning model such as, for example, a margin model is provided.

As illustrated inFIG.6, the categorization of the result distributions may be visually represented in a color delineated diagram. The diagram may correspond to a circular element which organizes categories and corresponding subcategories as structures radiating from a central point. For example, for a position category, corresponding subcategories relating to collateral positions and collateral market valuations may be provided as emanating from the position category. Additionally, the categories and corresponding subcategories may share a common color to illustrate delineations between various categories.

Accordingly, with this technology, an optimized process for providing standardized data models to facilitate automatic generating and mapping of applications in a networked environment is disclosed.