IP Library › Granted Patent US 10,198,400
Granted Patent B1
US 10,198,400 · App. 15/645,801 · Granted Feb 5, 2019

Data set selection using multi-source constraints

Inventors: Jay D. Farner (Bloomfield Hills, MI); Regis Hadiaris (Duluth, MN); Jenna Bush (Berkley, MI); Dan Chrobak (Detroit, MI); Jason Tomlinson (Macomb Township, MI)
G06F17/15G06F9/5072G06F17/175G06F17/18G05B19/0421G06F17/11G06N5/04H04L41/22H04L41/5054
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,198,400
App. No.
15/645,801
Granted
Feb 5, 2019
Kind
B1
Abstract

A system for selecting an optimal data set from a plurality of candidate data sets based at least in part on a client data packet received through a web interface may include a web server that receives first data packets from a client device, and a cloud computing platform that receives the first data packets from the web server and validates the first data packets using information imported from a third-party computer system. The platform may also receive second data packets from a second third-party computer system, select candidate data sets from a collection of available data sets based on information that is descriptive of the user, and select at least one optimal data set from the candidate data sets based on a user priority. The optimal data set may include adjustable parameters with values that are set through the client device.

Claims (69)

1. A system for selecting an optimal data set from a plurality of candidate data sets based at least in part on a client data packet received through a web interface, the system comprising:

a web server configured to receive one or more first data packets from a client device, wherein the one or more data packets comprise:

information that is descriptive of a user; and

a priority of the user;

a cloud computing platform configured to:

receive the one or more first data packets from the web server;

validate at least a portion of the one or more first data packets using information imported from a first third-party computer system;

receive second one or more data packets from a second third-party computer system, wherein the second one or more data packets are associated with the user;

select a plurality of candidate data sets from a collection of available data sets, wherein the plurality of candidate data sets is selected from the collection of available data sets based at least in part on:

a plurality of piecewise continuous constraint functions generated from the information that is descriptive of the user from the one or more first data packets and/or at least a portion of the second one or more data packets from the second third-party computer system; and

a linear regression algorithm performed on each data set in the collection of data sets to determine whether each data set in the collection of data sets is eliminated by the plurality of piecewise constraint functions;

select at least one optimal data set from the plurality of candidate data sets, wherein:

the at least one optimal data set is selected from the plurality of candidate data sets based at least in part on the user priority; and

the at least one optimal data set comprises one or more adjustable parameters; and

send the at least one optimal data set to the web server;

wherein the web server is further configured to:

transmit the at least one optimal data set to the client device; and

receive values for each of the one or more adjustable parameters from the client device.

2. The system of claim 1 , wherein the web server is further configured to present a plurality of progressive web forms through the client device, wherein the plurality of progressive web forms are configured to receive information for the one or more first data packets, wherein the plurality of progressive web forms are presented dynamically based on received portions of the information for the one or more first data packets.

3. The system of claim 1 , wherein the first one or more data packets are combined with the second one or more data packets to form a client data packet.

4. The system of claim 3 , wherein the cloud computing platform is further configured to validate the client data packet against a set of validation rules.

5. The system of claim 1 , wherein the cloud computing platform is further configured to:

select the plurality of candidate data sets by identifying each data set in the collection of data sets that is not eliminated by the plurality of piecewise constraint functions.

6. The system of claim 1 , wherein the cloud computing platform is further configured to:

identify one or more historical user profiles that are similar to a user profile of the user; and

select the at least one optimal data set from the plurality of candidate data sets by identifying one or more optimal data sets that were selected for the one or more historical user profiles.

7. The system of claim 1 , wherein the cloud computing platform is further configured to:

assign a plurality of attributes in the one or more first data packets to a plurality of factors in the plurality of candidate data sets;

determine a weight for each of the plurality of factors based on relationships between the plurality attributes and the plurality of factors; and

select the at least one optimal data set from the plurality of candidate data sets by calculating a score for each of the plurality of candidate data sets based on a weighted combination of the plurality of factors.

8. The system of claim 1 , wherein the cloud computing platform is further configured to:

precompute a plurality of result sets, wherein:

each of the one or more adjustable parameters has a range of discrete possible values;

each of the plurality of result sets comprises calculated values for each permutation of the range of discrete possible values for each of the one or more adjustable parameters; and

the plurality of result sets are transmitted to the client device for a display that is dynamically updated in real-time as the user manipulates one or more controls without requiring an update from the web server.

9. A method for selecting an optimal data set from a plurality of candidate data sets based at least in part on a client data packet received through a web interface, the method comprising:

receiving one or more first data packets from a client device, wherein the one or more data packets comprise:

information that is descriptive of a user; and

a priority of the user;

validating at least a portion of the one or more first data packets using information imported from a first third-party computer system;

receiving second one or more data packets from a second third-party computer system, wherein the second one or more data packets are associated with the user;

selecting a plurality of candidate data sets from a collection of available data sets, wherein the plurality of candidate data sets is selected from the collection of available data sets based at least in part on:

a plurality of piecewise continuous constraint functions generated from the information that is descriptive of the user from the one or more first data packets and/or at least a portion of the second one or more data packets from the second third-party computer system; and

a linear regression algorithm performed on each data set in the collection of data sets to determine whether each data set in the collection of data sets is eliminated by the plurality of piecewise constraint functions;

selecting at least one optimal data set from the plurality of candidate data sets, wherein:

the at least one optimal data set is selected from the plurality of candidate data sets based at least in part on the user priority; and

the at least one optimal data set comprises one or more adjustable parameters;

transmitting the at least one optimal data set to the client device; and

receiving values for each of the one or more adjustable parameters from the client device.

10. The method of claim 9 , further comprising:

presenting a plurality of progressive web forms through the client device, wherein:

the plurality of progressive web forms are configured to receive information for the one or more first data packets; and

the plurality of progressive web forms are presented dynamically based on received portions of the information for the one or more first data packets.

11. The method of claim 9 , wherein the first one or more data packets are combined with the second one or more data packets to form a client data packet.

12. The method of claim 11 , further comprising validating the client data packet against a set of validation rules.

13. The method of claim 9 , further comprising:

selecting the plurality of candidate data sets by identifying each data set in the collection of data sets that is not eliminated by the plurality of piecewise constraint functions.

14. The method of claim 9 , further comprising:

identifying one or more historical user profiles that are similar to a user profile of the user; and

selecting the at least one optimal data set from the plurality of candidate data sets by identifying one or more optimal data sets that were selected for the one or more historical user profiles.

15. The method of claim 9 , further comprising:

assigning a plurality of attributes in the one or more first data packets to a plurality of factors in the plurality of candidate data sets;

determining a weight for each of the plurality of factors based on relationships between the plurality attributes and the plurality of factors; and

selecting the at least one optimal data set from the plurality of candidate data sets by calculating a score for each of the plurality of candidate data sets based on a weighted combination of the plurality of factors.

16. The method of claim 9 , further comprising:

precomputing a plurality of result sets, wherein:

each of the one or more adjustable parameters has a range of discrete possible values;

each of the plurality of result sets comprises calculated values for each permutation of the range of discrete possible values for each of the one or more adjustable parameters; and

the plurality of result sets are transmitted to the client device for a display that is dynamically updated in real-time as the user manipulates one or more controls without requiring an update from the web server.

Assignments (2)
CHANGE OF NAME Recorded Jun 11, 2020
From: QUICKEN LOANS INC.
To: QUICKEN LOANS, LLC
Reel/Frame 052914/0410 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2019
From: FARNER, JAY D.; HADIARIS, REGIS; BUSH, JENNA; CHROBAK, DAN; TOMLINSON, JASON
To: QUICKEN LOANS
Reel/Frame 050958/0791 →
Continuity (2)
Provisional Application 62530675 · Jul 10, 2017
Provisional Application 62360344 · Jul 9, 2016