Patents by Inventor Patrick Nathan Koch

Patrick Nathan Koch has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20250103579
    Abstract: In one example, a system can receive, from application code including an analysis operation performed on a set of data, an indication to access the set of data included in a tabular data structure using an application programming interface (API), in which the tabular data structure is associated with a memory allocation and a type. The system can determine that the type of the tabular data structure is the native type, the native type characterizing data structures that are accessed using a first programming language and a second programming language. The system can identify a proxy data table that shares the memory allocation, the proxy data table accessed using the API based on the second programming language. The system can issue one or more read commands to the proxy data table to cause the set of data to be read from the tabular data structure.
    Type: Application
    Filed: October 10, 2024
    Publication date: March 27, 2025
    Applicant: SAS Institute Inc.
    Inventors: Yongqiao Xiao, Mary Elizabeth Carter, Arash Dehghan Banadaki, Avery Winston Acierno, Patrick Nathan Koch
  • Publication number: 20250103578
    Abstract: In one example, a system can receive information about a tabular data structure in a memory including a set of data and a first memory allocation. The system can determine a type of the tabular data structure, the type selected from among two types including a native type and a non-native type. The system can, in response to the type being the native type, identify a first proxy data table usable as a proxy for the tabular data structure that shares the first memory allocation. The system can receive a first indication to access the set of data from application code. The system can issue one or more first read commands to the first proxy data table to cause the set of data to be read from the tabular data structure.
    Type: Application
    Filed: October 10, 2024
    Publication date: March 27, 2025
    Applicant: SAS Institute Inc.
    Inventors: Yongqiao Xiao, Mary Elizabeth Carter, Arash Dehghan Banadaki, Avery Winston Acierno, Patrick Nathan Koch
  • Patent number: 12259867
    Abstract: In one example, a system can receive information about a tabular data structure in a memory including a set of data and a first memory allocation. The system can determine a type of the tabular data structure, the type selected from among two types including a native type and a non-native type. The system can, in response to the type being the native type, identify a first proxy data table usable as a proxy for the tabular data structure that shares the first memory allocation. The system can receive a first indication to access the set of data from application code. The system can issue one or more first read commands to the first proxy data table to cause the set of data to be read from the tabular data structure.
    Type: Grant
    Filed: October 10, 2024
    Date of Patent: March 25, 2025
    Assignee: SAS INSTITUTE INC.
    Inventors: Yongqiao Xiao, Mary Elizabeth Carter, Arash Dehghan Banadaki, Avery Winston Acierno, Patrick Nathan Koch
  • Patent number: 12259868
    Abstract: In one example, a system can receive, from application code including an analysis operation performed on a set of data, an indication to access the set of data included in a tabular data structure using an application programming interface (API), in which the tabular data structure is associated with a memory allocation and a type. The system can determine that the type of the tabular data structure is the native type, the native type characterizing data structures that are accessed using a first programming language and a second programming language. The system can identify a proxy data table that shares the memory allocation, the proxy data table accessed using the API based on the second programming language. The system can issue one or more read commands to the proxy data table to cause the set of data to be read from the tabular data structure.
    Type: Grant
    Filed: October 10, 2024
    Date of Patent: March 25, 2025
    Assignee: SAS INSTITUTE INC.
    Inventors: Yongqiao Xiao, Mary Elizabeth Carter, Arash Dehghan Banadaki, Avery Winston Acierno, Patrick Nathan Koch
  • Publication number: 20250068927
    Abstract: A system, method, and computer-program product includes receiving an input comprising a plurality of pre-defined factor matrices and an implicit feedback dataset partitioned into a plurality of implicit feedback data subsets; distributing the input across a controller node and a plurality of worker nodes implemented in a distributed computing environment; and training a model using the controller node and the plurality of worker nodes, wherein training the model includes: initializing, by the controller node, a controller-specific user parameters matrix and a controller-specific item parameters matrix, broadcasting, by the controller node, the controller-specific user parameters matrix and the controller-specific item parameters matrix to each worker node of the plurality of worker nodes, and concurrently executing an aggregation model training algorithm at the controller node and a plurality of localized model training algorithms across the plurality of worker nodes until a training termination condition is
    Type: Application
    Filed: February 21, 2024
    Publication date: February 27, 2025
    Applicant: SAS Institute Inc.
    Inventors: Xuejun Liao, Patrick Nathan Koch
  • Patent number: 12141138
    Abstract: In one example, a system can receive information about a data structure including a set of data entries. The system can generate a proxy data table including a set of columns. The system can use a data access layer to generate a mapping from the data entries to the columns. The system can receive an input to cause an operation to be performed on the data structure by performing the operation on the data structure. Generating a result can involve issuing read commands to the data access layer to perform the operation on the data structure such that the data access layer obtains the associated data entries and provides them as responses to the read commands by performing a translation between the data entries and the columns based on the mapping. The system can then output the result of the operation.
    Type: Grant
    Filed: March 8, 2024
    Date of Patent: November 12, 2024
    Assignee: SAS INSTITUTE INC.
    Inventors: Yongqiao Xiao, Patrick Nathan Koch
  • Patent number: 12111750
    Abstract: Parameter values in source code can be automatically validated using the techniques described herein. For example, a system can receive source code that includes a call to an action. The action can have a parameter that is set to a selected value in the source code. The parameter can be defined in definition data. The system can also receive a file that separate from the source code and includes metadata for the parameter. The system can extract the metadata from the file and modify the definition data to include the metadata. The system can then execute a validation process on the selected value for the parameter. The validation process can involve retrieving the metadata from the modified definition data, evaluating the selected value using the metadata to determine whether the selected value is invalid, and if it is invalid, outputting an error notification indicating that the selected value is invalid.
    Type: Grant
    Filed: March 19, 2024
    Date of Patent: October 8, 2024
    Assignee: SAS INSTITUTE INC.
    Inventors: Yongqiao Xiao, Patrick Nathan Koch
  • Patent number: 11544767
    Abstract: A computing device determines a recommendation. A confidence matrix is computed using a predefined weight value. (A) A first parameter matrix is updated using the confidence matrix, a predefined response matrix, a first step-size parameter value, and a first direction matrix. The predefined response matrix includes a predefined response value by each user to each item and at least one matrix value for which a user has not provided a response to an item. (B) A second parameter matrix is updated using the confidence matrix, the predefined response matrix, a second step-size parameter value, and a second direction matrix. (C) An objective function value is updated based on the first and second parameter matrices. (D) The first and second parameter matrices are trained by repeating (A) through (C). The first and second parameter matrices output for use in predicting a recommended item for a requesting user.
    Type: Grant
    Filed: April 7, 2022
    Date of Patent: January 3, 2023
    Assignee: SAS Institute Inc.
    Inventors: Xuejun Liao, Patrick Nathan Koch
  • Publication number: 20220237685
    Abstract: A computing device determines a recommendation. A confidence matrix is computed using a predefined weight value. (A) A first parameter matrix is updated using the confidence matrix, a predefined response matrix, a first step-size parameter value, and a first direction matrix. The predefined response matrix includes a predefined response value by each user to each item and at least one matrix value for which a user has not provided a response to an item. (B) A second parameter matrix is updated using the confidence matrix, the predefined response matrix, a second step-size parameter value, and a second direction matrix. (C) An objective function value is updated based on the first and second parameter matrices. (D) The first and second parameter matrices are trained by repeating (A) through (C). The first and second parameter matrices output for use in predicting a recommended item for a requesting user.
    Type: Application
    Filed: April 7, 2022
    Publication date: July 28, 2022
    Inventors: Xuejun Liao, Patrick Nathan Koch
  • Patent number: 11379743
    Abstract: A computing device determines a recommendation. (A) A first parameter matrix is updated using a first direction matrix and a first step-size parameter value that is greater than one. The first parameter matrix includes a row dimension equal to a number of users of a plurality of users included in a ratings matrix and the ratings matrix includes a missing matrix value. (B) A second parameter matrix is updated using a second direction matrix and a second step-size parameter value that is greater than one. The second parameter matrix includes a column dimension equal to a number of items of a plurality of items included in the ratings matrix. (C) An objective function value is updated based on the first parameter matrix and the second parameter matrix. (D) (A) through (C) are repeated until the first parameter matrix and the second parameter matrix satisfy a convergence test.
    Type: Grant
    Filed: July 28, 2021
    Date of Patent: July 5, 2022
    Assignee: SAS Institute Inc.
    Inventors: Xuejun Liao, Patrick Nathan Koch, Shunping Huang, Yan Xu
  • Publication number: 20220138605
    Abstract: A computing device determines a recommendation. (A) A first parameter matrix is updated using a first direction matrix and a first step-size parameter value that is greater than one. The first parameter matrix includes a row dimension equal to a number of users of a plurality of users included in a ratings matrix and the ratings matrix includes a missing matrix value. (B) A second parameter matrix is updated using a second direction matrix and a second step-size parameter value that is greater than one. The second parameter matrix includes a column dimension equal to a number of items of a plurality of items included in the ratings matrix. (C) An objective function value is updated based on the first parameter matrix and the second parameter matrix. (D) (A) through (C) are repeated until the first parameter matrix and the second parameter matrix satisfy a convergence test.
    Type: Application
    Filed: July 28, 2021
    Publication date: May 5, 2022
    Inventors: Xuejun Liao, Patrick Nathan Koch, Shunping Huang, Yan Xu
  • Patent number: 11151480
    Abstract: A visualization is presented while tuning a machine learning model. A model tuning process writes tuning data to a history table. The model tuning process is repeatedly training and scoring a model type with different sets of values of hyperparameters defined based on the model type. An objective function value is computed for each set of values of the hyperparameters. Data stored in the history table is accessed and used to identify the hyperparameters. (A) A page template is selected from page templates that describe graphical objects presented in the display. (B) The page template is updated with the accessed data. (C) The display is updated using the updated page template. (D) At the end of a refresh time period, new data stored in the history table by the model tuning process is accessed. (E) (B) through (D) are repeated with the accessed data replaced with the accessed new data.
    Type: Grant
    Filed: November 17, 2020
    Date of Patent: October 19, 2021
    Assignee: SAS Institute Inc.
    Inventors: Oleg Borisovich Golovidov, Brett Alan Wujek, Patrick Nathan Koch, Rajendra Prasad Singh
  • Publication number: 20210264287
    Abstract: Tuned hyperparameter values are determined for training a machine learning model. When a selected hyperparameter configuration does not satisfy a linear constraint, if a projection of the selected hyperparameter configuration is included in a first cache that stores previously computed projections is determined. When the projection is included in the first cache, the projection is extracted from the first cache using the selected hyperparameter configuration, and the selected hyperparameter configuration is replaced with the extracted projection in the plurality of hyperparameter configurations. When the projection is not included in the first cache, a projection computation for the selected hyperparameter configuration is assigned to a session. A computed projection is received from the session for the selected hyperparameter configuration.
    Type: Application
    Filed: October 27, 2020
    Publication date: August 26, 2021
    Inventors: Steven Joseph Gardner, Joshua David Griffin, Yan Xu, Patrick Nathan Koch, Brett Alan Wujek, Oleg Borisovich Golovidov
  • Patent number: 11093833
    Abstract: Tuned hyperparameter values are determined for training a machine learning model. When a selected hyperparameter configuration does not satisfy a linear constraint, if a projection of the selected hyperparameter configuration is included in a first cache that stores previously computed projections is determined. When the projection is included in the first cache, the projection is extracted from the first cache using the selected hyperparameter configuration, and the selected hyperparameter configuration is replaced with the extracted projection in the plurality of hyperparameter configurations. When the projection is not included in the first cache, a projection computation for the selected hyperparameter configuration is assigned to a session. A computed projection is received from the session for the selected hyperparameter configuration.
    Type: Grant
    Filed: October 27, 2020
    Date of Patent: August 17, 2021
    Assignee: SAS Institute Inc.
    Inventors: Steven Joseph Gardner, Joshua David Griffin, Yan Xu, Patrick Nathan Koch, Brett Alan Wujek, Oleg Borisovich Golovidov
  • Patent number: 10360517
    Abstract: A computing device automatically selects hyperparameter values based on objective criteria to train a predictive model. Each session of a plurality of sessions executes training and scoring of a model type using an input dataset in parallel with other sessions of the plurality of sessions. Unique hyperparameter configurations are determined using a search method and assigned to each session. For each session of the plurality of sessions, training of a model of the model type is requested using a training dataset and the assigned hyperparameter configuration, scoring of the trained model using a validation dataset and the assigned hyperparameter configuration is requested to compute an objective function value, and the received objective function value and the assigned hyperparameter configuration are stored. A best hyperparameter configuration is identified based on an extreme value of the stored objective function values.
    Type: Grant
    Filed: November 27, 2017
    Date of Patent: July 23, 2019
    Assignee: SAS INSTITUTE INC.
    Inventors: Patrick Nathan Koch, Brett Alan Wujek, Oleg Borisovich Golovidov, Steven Joseph Gardner, Joshua David Griffin, Scott Russell Pope, Yan Xu
  • Publication number: 20180240041
    Abstract: A computing device automatically selects hyperparameter values based on objective criteria to train a predictive model. Each session of a plurality of sessions executes training and scoring of a model type using an input dataset in parallel with other sessions of the plurality of sessions. Unique hyperparameter configurations are determined using a search method and assigned to each session. For each session of the plurality of sessions, training of a model of the model type is requested using a training dataset and the assigned hyperparameter configuration, scoring of the trained model using a validation dataset and the assigned hyperparameter configuration is requested to compute an objective function value, and the received objective function value and the assigned hyperparameter configuration are stored. A best hyperparameter configuration is identified based on an extreme value of the stored objective function values.
    Type: Application
    Filed: November 27, 2017
    Publication date: August 23, 2018
    Inventors: Patrick Nathan Koch, Brett Alan Wujek, Oleg Borisovich Golovidov, Steven Joseph Gardner, Joshua David Griffin, Scott Russell Pope, Yan Xu