Payment-driven Sourcing

Dalinina; Ruslana ;   et al.

Patent Application Summary

U.S. patent application number 16/914207 was filed with the patent office on 2020-12-31 for payment-driven sourcing. The applicant listed for this patent is Fair IP, LLC. Invention is credited to Bowen Chen, Ruslana Dalinina, James Hinds, Daniel J. Malik, Joshua S. Schoenfield.

Application Number20200410465 16/914207
Document ID /
Family ID1000004953145
Filed Date2020-12-31

United States Patent Application 20200410465
Kind Code A1
Dalinina; Ruslana ;   et al. December 31, 2020

PAYMENT-DRIVEN SOURCING

Abstract

Systems, methods and products for one embodiment comprises a method including providing a demand model which generates a payment in response to receiving input identifying a consumer profile and a vehicle type. A cashflow model is provided, and in response to receiving the payment output by the demand model and a desired return on a converted vehicle transaction, the cashflow model generates an acquisition price as an output. A comparison engine is provided which, in response to receiving the acquisition price output by the cashflow model, retrieves vehicle inventory records and compares a corresponding purchase price to the acquisition price to determine whether the corresponding vehicle is qualified. A list of qualified vehicles for a given consumer profile and vehicle type is stored and used to generate real time displays of qualified vehicles (with no unqualified vehicles) in response to a request from a specific consumer having this profile.


Inventors: Dalinina; Ruslana; (West Hills, CA) ; Chen; Bowen; (Los Angeles, CA) ; Hinds; James; (Denver, CO) ; Schoenfield; Joshua S.; (Los Angeles, CA) ; Malik; Daniel J.; (Sierre Madre, CA)
Applicant:
Name City State Country Type

Fair IP, LLC

Santa Monica

CA

US
Family ID: 1000004953145
Appl. No.: 16/914207
Filed: June 26, 2020

Related U.S. Patent Documents

Application Number Filing Date Patent Number
62868535 Jun 28, 2019
62883374 Aug 6, 2019

Current U.S. Class: 1/1
Current CPC Class: G06Q 30/0283 20130101; G06Q 20/102 20130101; G06Q 30/0627 20130101; G06Q 30/0278 20130101
International Class: G06Q 20/10 20060101 G06Q020/10; G06Q 30/06 20060101 G06Q030/06; G06Q 30/02 20060101 G06Q030/02

Claims



1. A method implemented in an automotive data processing system, the method comprising: providing a demand model, wherein in response to receiving input identifying a consumer profile and a vehicle type, the demand model is configured to generate a corresponding payment as an output; providing a cashflow model, wherein in response to receiving the payment output by the demand model and input identifying a desired return on a converted vehicle transaction, the cashflow model is configured to generate an acquisition price as an output; and providing a comparison engine, wherein in response to receiving the acquisition price output by the cashflow model, the comparison engine is configured to retrieve a set of vehicle inventory records, for each of the vehicle inventory records, compare a corresponding purchase price to the acquisition price and generate an indication of whether or not a vehicle corresponding to the vehicle inventory record is qualified, and generate a list of qualified vehicles.

2. The method of claim 1, further comprising generating, for each of a plurality of unique combinations of consumer profiles and vehicle types, a corresponding list of qualified vehicles and storing the lists of qualified vehicles.

3. The method of claim 2, further comprising, in response to a user request of a specific consumer: identifying one of the consumer profiles that is associated with the specific consumer; identifying a vehicle type associated with the user request; retrieving one of the lists of qualified vehicles which corresponds to the identified one of the consumer profiles and the identified vehicle type; and generating a display which is presented in a user interface of a client computing device, wherein the display includes one or more qualified vehicles in the retrieved one of the lists of qualified vehicles and excludes disqualified vehicles.

4. The method of claim 1, further comprising generating a display which is presented in a user interface of a client computing device, wherein the display includes one or more of the qualified vehicles and excludes disqualified vehicles.

5. The method of claim 1, wherein the comparison engine is configured to determine that each vehicle is qualified if the corresponding purchase price is no more than the acquisition price, and is otherwise disqualified.

6. The method of claim 1, wherein the demand model is configured to generate the payment by: identifying, in a collection of historical transaction records, a subset of the historical transaction records that correspond to the combination of the consumer profile and the vehicle type; ranking the subset of historical transaction records by corresponding prices; and selecting as the payment a target price corresponding to a desired percentile of converted transactions represented by the historical transaction records.

7. An automotive data processing system comprising: one or more processors communicatively coupled to one or more data storage devices, the one or more processors coupled to a non-transitory computer-readable medium that stores instructions which are executable by the processor to cause the processor to execute: a demand model, wherein in response to receiving input identifying a consumer profile and a vehicle type, the demand model is configured to generate a corresponding payment as an output; a cashflow model, wherein in response to receiving the payment output by the demand model and input identifying a desired return on a converted vehicle transaction, the cashflow model is configured to generate an acquisition price as an output; and a comparison engine, wherein in response to receiving the acquisition price output by the cashflow model, the comparison engine is configured to retrieve a set of vehicle inventory records, for each of the vehicle inventory records, compare a corresponding purchase price to the acquisition price and generate an indication of whether or not a vehicle corresponding to the vehicle inventory record is qualified, and generate a list of qualified vehicles

8. The automotive data processing system of claim 7, wherein the instructions are further executable by the processor to generate, for each of a plurality of unique combinations of consumer profiles and vehicle types, a corresponding list of qualified vehicles and storing the lists of qualified vehicles.

9. The automotive data processing system of claim 8, wherein the instructions are further executable by the processor to, in response to a user request of a specific consumer: identify one of the consumer profiles that is associated with the specific consumer; identify a vehicle type associated with the user request; retrieve one of the lists of qualified vehicles which corresponds to the identified one of the consumer profiles and the identified vehicle type; and generate a display which is presented in a user interface of a client computing device, wherein the display includes one or more qualified vehicles in the retrieved one of the lists of qualified vehicles and excludes disqualified vehicles.

10. The automotive data processing system of claim 7, wherein the instructions are further executable by the processor to generate a display which is presented in a user interface of a client computing device, wherein the display includes one or more of the qualified vehicles and excludes disqualified vehicles.

11. The automotive data processing system of claim 7, wherein the comparison engine is configured to determine that each vehicle is qualified if the corresponding purchase price is no more than the acquisition price, and is otherwise disqualified.

12. The automotive data processing system of claim 7, wherein the demand model is configured to generate the payment by: identifying, in a collection of historical transaction records, a subset of the historical transaction records that correspond to the combination of the consumer profile and the vehicle type; ranking the subset of historical transaction records by corresponding prices; and selecting as the payment a target price corresponding to a desired percentile of converted transactions represented by the historical transaction records.

13. A computer program product for generating vehicle encodings, the computer program product comprising a non-transitory computer-readable medium storing instructions executable by a processor to cause the processor to perform: providing a demand model, wherein in response to receiving input identifying a consumer profile and a vehicle type, the demand model is configured to generate a corresponding payment as an output; providing a cashflow model, wherein in response to receiving the payment output by the demand model and input identifying a desired return on a converted vehicle transaction, the cashflow model is configured to generate an acquisition price as an output; and providing a comparison engine, wherein in response to receiving the acquisition price output by the cashflow model, the comparison engine is configured to retrieve a set of vehicle inventory records, for each of the vehicle inventory records, compare a corresponding purchase price to the acquisition price and generate an indication of whether or not a vehicle corresponding to the vehicle inventory record is qualified, and generate a list of qualified vehicles.

14. The computer program product of claim 13, further comprising generating, for each of a plurality of unique combinations of consumer profiles and vehicle types, a corresponding list of qualified vehicles and storing the lists of qualified vehicles.

15. The computer program product of claim 14, further comprising, in response to a user request of a specific consumer: identifying one of the consumer profiles that is associated with the specific consumer; identifying a vehicle type associated with the user request; retrieving one of the lists of qualified vehicles which corresponds to the identified one of the consumer profiles and the identified vehicle type; and generating a display which is presented in a user interface of a client computing device, wherein the display includes one or more qualified vehicles in the retrieved one of the lists of qualified vehicles and excludes disqualified vehicles.

16. The computer program product of claim 13, further comprising generating a display which is presented in a user interface of a client computing device, wherein the display includes one or more of the qualified vehicles and excludes disqualified vehicles.

17. The computer program product of claim 13, wherein the comparison engine is configured to determine that each vehicle is qualified if the corresponding purchase price is no more than the acquisition price, and is otherwise disqualified.

18. The computer program product of claim 13, wherein the demand model is configured to generate the payment by: identifying, in a collection of historical transaction records, a subset of the historical transaction records that correspond to the combination of the consumer profile and the vehicle type; ranking the subset of historical transaction records by corresponding prices; and selecting as the payment a target price corresponding to a desired percentile of converted transactions represented by the historical transaction records.
Description



RELATED APPLICATIONS

[0001] This application claims priority under 35 U.S.C. .sctn. 119(e) to United States Provisional Patent Application No. 62/868,535, entitled "PAYMENT-DRIVEN SOURCING", filed Jun. 28, 2019, and U.S. Provisional Patent Application No. 62/883,374, entitled "DEMAND-BASED PRICING", filed Aug. 6, 2019, which are fully incorporated herein by reference for all purposes.

TECHNICAL FIELD

[0002] The present disclosure relates generally to the field of data processing systems and methods, and more particularly to data processing systems and methods for determining requirements associated with a consumer and an operator of an automotive data processing system, identifying vehicles that are available to the automotive data processing system from one or more dealers, determining which of the available vehicles meet the requirements of the consumer and system operator, and generating displays that include only ones of the available vehicles that meet the identified requirements.

BACKGROUND

[0003] Internet-based systems and other computer systems that facilitate purchasing (buying or leasing) various goods and services from multiple sellers have become increasingly popular tools for both consumers and sellers. Intermediary search sites allow users to search for items (e.g., vehicles) from a large number of available items. When a user selects a vehicle, the intermediary site typically puts the buyer in touch with the dealer to finalize a business transaction on the vehicle. The consumer may schedule a test drive with the dealership and may thereafter choose to, for example, lease the vehicle. In order to complete the lease transaction, the lease payments and the residual value of the vehicle must typically be determined.

[0004] In many conventional internet-based systems for facilitating vehicle purchase or lease transactions, the operators of these systems may be caught in the middle between sellers that want to get high prices for their vehicles and consumers who want to obtain the vehicles at the lowest possible price. The system operator's costs to operate the system and facilitate the transactions may be constrained by the competing interests of the sellers and consumers, so that it is not profitable to provide their services in facilitating the transactions (or not as profitable as desired). Conventional systems do not provide the ability to source the vehicles (purchase them from sellers) in a way that ensures that the system achieves a desired return on the transactions.

SUMMARY

[0005] Embodiments of the present invention are designed to enable acquisition of inventory items at prices which meet a system operator's business goals as well as a consumer's payment needs. Embodiments disclosed herein also provide means for rapidly identifying, retrieving and providing to consumers items which meet these requirements.

[0006] The present systems and methods use information relating to payments by the consumer, as well as information relating to the system operator's services (e.g., a required level of profitability) to determine which of a seller's products meet the constraints associated with both the consumer and the system operator. Then, these products are presented to the consumer so that the system operator can be confident that its own requirements, such as a desired net return, can be met. In one embodiment, a consumer-facing price is determined without regard to the price for a vehicle set by a seller. The consumer-facing price is used in conjunction with expense information and a desired rate of return to determine a target vehicle acquisition price. This target price is then compared to prices which are set for vehicles by their respective sellers in order to determine which of the vehicles are priced at or below the target and may be presented to the consumer.

[0007] In one exemplary method, a demand model is used to determine a consumer payment without regard to particular vehicles that may be available to the consumer. The demand model uses historical transaction data to determine the demand for a particular type of vehicle with respect to a particular type of consumer. Based on the historical data, it can be determined how much this type of consumer is willing to pay for this type of vehicle. The resulting payment information can be provided to a cash flow model that also accepts a return-on-investment input. The cash flow model generates an acquisition price at which this type of vehicle can be acquired for lease to this type of consumer, while meeting the return requirements of the system operator. Again, this acquisition price is determined without regard to particular vehicles that may be available to the consumer. This acquisition price can then be compared to the vehicles of the indicated type that are available through the system. Those of the available vehicles which have a price that is equal to or less than the computed acquisition price are then made available to display to the identified type of consumer, while vehicles which have prices greater than the acquisition price are blocked from being displayed. The qualified vehicles (those which are available to this consumer type) may be contained in a list associated with the consumer type so that when a specific consumer who is identified as this type of consumer interacts with the system, the qualified vehicles for the consumer type can be quickly identified and presented to the specific consumer.

[0008] In one embodiment, this method is implemented in a rules-based data processing system which may include a processor and a memory coupled to the processor to store a set of computer instructions executable by the processor. The system uses a demand model to determine a monthly payment corresponding to a given consumer profile and a given vehicle type. The monthly payment is provided to a cashflow model, along with an expected return value, and the cashflow model produces an acquisition value that corresponds to the received monthly payment and expected return values. The acquisition value is then compared to a set of inventory vehicles to determine whether purchase prices of the inventory vehicles are less than or equal to the acquisition value. Vehicles for which the corresponding purchase price is less than or equal to the acquisition value (qualified vehicles) are made available for display to a consumer. Vehicles for which the corresponding purchase price is greater than the acquisition value are blocked from being displayed to the consumer. Identifiers for qualified vehicles may be stored in a list that is associated with the consumer profile so that the vehicles can be quickly identified when a consumer having the corresponding consumer profile uses the system.

[0009] One embodiment comprises an automotive data processing system having one or more processors that are communicatively coupled to one or more data storage devices. The processors are coupled to a non-transitory computer-readable medium that stores instructions which are executable by the processor to cause the processor to execute a demand model, a cashflow model and a comparison engine. The demand model is configured to, in response to receiving input identifying a consumer profile and a vehicle type, generate a corresponding payment as an output. The cashflow model receives the payment as an input and, in response to this input and input identifying a desired return on a converted vehicle transaction, generates an acquisition price as an output. The comparison engine is configured to receiving the acquisition price output by the cashflow model and to retrieve a set of vehicle inventory records and, for each of the vehicle inventory records. The comparison engine then compares a purchase price of each vehicle inventory record to the acquisition price and generates an indication of whether or not a vehicle corresponding to the vehicle inventory record is qualified. In one embodiment, the comparison engine determines that each vehicle is qualified if the corresponding purchase price is no more than the acquisition price. Otherwise, the vehicle is disqualified. A list of qualified vehicles corresponding to the consumer profile and a vehicle type is then generated. This list may be stored by the system for later use in generating real time displays of qualified vehicles in response to a request from a specific consumer (where unqualified vehicles are excluded from the displays).

[0010] In some embodiments, the demand model is configured to generate the payment by identifying, in a collection of historical transaction records, a subset of the historical transaction records that correspond to a specific combination of the consumer profile and the vehicle type. This subset of historical transaction records is ranked by corresponding prices, and a target price corresponding to a desired percentile of converted transactions represented by the historical transaction records is selected as the payment for the specified consumer profile and vehicle type. In one embodiment, a list of qualified vehicles is created for each of a plurality of unique combinations of consumer profiles and vehicle types. In response to a user request of a specific consumer, a corresponding one of the consumer profiles that is associated with the specific consumer is identified. A specific vehicle type associated with the user request is also identified. Then, one of the lists of qualified vehicles which corresponds to the identified consumer profile and vehicle type is retrieved. This list of qualified vehicles is used to generate a display which is presented in a user interface of a client computing device. The display includes one or more qualified vehicles from the retrieved list, but excludes disqualified vehicles.

[0011] It should be noted that, while the embodiments herein are described in terms of leasing vehicles, alternative embodiments may be used in the sale of vehicles, or in the sale or lease of items other than vehicles.

[0012] Other embodiments are also possible.

BRIEF DESCRIPTION OF THE FIGURES

[0013] The drawings accompanying and forming part of this specification are included to depict certain aspects of the invention. A clearer impression of the invention, and of the components and operation of systems provided with the invention, will become more readily apparent by referring to the exemplary, and therefore non-limiting, embodiments illustrated in the drawings, wherein identical reference numerals designate the same components. Note that the features illustrated in the drawings are not necessarily drawn to scale.

[0014] FIG. 1 is a high level block diagram of one embodiment of a network topology.

[0015] FIG. 2 is a diagram illustrating the operation of an automotive data processing system to generate an acquisition price for a vehicle in accordance with one embodiment.

[0016] FIG. 3 is a flow diagram illustrating the generation of an acquisition price for a vehicle in accordance with one embodiment.

[0017] FIG. 4 is a diagram illustrating the use of the generated acquisition price by the vehicle data system to identify qualified vehicles in accordance with one embodiment.

[0018] FIG. 5 is a flow diagram illustrating the use of a generated acquisition price to identify qualified vehicles in accordance with one embodiment.

[0019] FIG. 6 is a flow diagram illustrating the use of a list of qualified vehicles to generate displays responsive to a consumer having a given profile in accordance with one embodiment.

[0020] FIG. 7 is a diagrammatic representation of a distributed network computing environment in which some embodiments may be implemented.

DETAILED DESCRIPTION

[0021] The invention and various features and advantageous details thereof are explained more fully with reference to the exemplary, and therefore non-limiting, embodiments illustrated in the accompanying drawings and detailed in the following description and appendices. It should be understood, however, that the detailed description and the specific examples, while indicating the preferred embodiments, are given by way of illustration only and not by way of limitation. Descriptions of known programming techniques, computer software, hardware, operating platforms and protocols may be omitted so as not to unnecessarily obscure the disclosure in detail. Various substitutions, modifications, additions and/or rearrangements within the spirit and/or scope of the underlying inventive concept will become apparent to those skilled in the art from this disclosure.

[0022] The present disclosure is directed to systems and methods for enabling consumers to purchase or lease items such as vehicles online. For purposes of clarity, the systems and methods described herein will focus on the leasing of vehicles to consumers, but other embodiments may involve the leasing or purchase of vehicles or other items.

[0023] An automotive data processing system is configured to interact with consumers and vehicle sellers (e.g., automotive dealerships) via client applications running on the respective client devices of the users. The present systems and methods enable sellers to present vehicles that are available for lease to consumers. The sellers set purchase prices for the vehicles that are available through the system. Consumers may view one or more of the vehicles and may choose to lease one of the vehicles through the system. If this is the case, the automotive data processing system may perform various processing to facilitate the consumer's lease of the vehicle. In one embodiment, if the consumer wishes to proceed with the lease transaction, the selected vehicle is purchased by the operator of the automotive data processing system and is then leased to the consumer.

[0024] The system operator is compensated for the services that are provided in association with the lease transaction(s) by pricing the vehicle lease to the consumer at a level which is high enough that it is expected to cover the price at which the vehicle was purchased from the original seller and the associated costs (e.g., cost of capital, marketing, origination, servicing, depreciation, liquidation) and a net return, less the residual value. It is desirable for the operator of the automotive data processing system to be able to ensure that the acquisition price (the price at which the vehicle is required from the original seller) is low enough that the system operator makes a desired return on the vehicle. Because the vehicle seller, rather than the system operator, sets the price at which the vehicle may be acquired by the system operator, the system operator conventionally has no control over this price. The present systems and methods, however, provide means to ensure that the acquisition price is low enough to achieve the desired return on vehicles leased using the system.

[0025] The present systems and methods effectively achieve control of the acquisition prices of vehicles that may be leased by consumers by determining the payments that can be made by consumers, determining the desired return on the system operators investment in the leased vehicles, determining the acquisition price that is necessary to achieve the desired return, and limiting the vehicles that are available through the system only to those which are priced to provide the desired return. The present systems and methods use a demand model which determines the payment corresponding to a particular type of consumer and a particular type of vehicle, then providing this payment and a desired return to a cash flow model, which then determines a required acquisition price for that type of vehicle. The computed acquisition price can then be compared to vehicles of this type which have been made available by sellers through the system. Available vehicles which have prices at or below the acquisition price may be displayed to consumers who may potentially lease the vehicles, while available vehicles that have prices above the acquisition price are not displayed. Thus, it will be assured that any lease transaction that may be completed through the system will provide the desired return on the acquisition cost.

[0026] Some embodiments of the present systems and methods can be implemented in a data processing system that automates and facilitates a leasing process, including inventory selection, financing qualification and document generation. In an exemplary embodiment, the system facilitates selection of a vehicle by providing vehicle information to a consumer through an interface on a mobile device. In this context, a "consumer" is any individual, group of individuals, or business entity seeking to lease a vehicle (or other asset) through the system. The consumer may select a particular vehicle that is used as the basis for determining similarity (i.e., the other vehicles are compared to the selected vehicle). The similarity scores are used to identify vehicles similar to the consumer-selected vehicle, and the similar vehicles are presented to the consumer to facilitate the consumer's search for a vehicle that the consumer may wish to lease.

[0027] Embodiments of a system for facilitating transactions may be implemented in a network topology. FIG. 1 is a high level block diagram of one embodiment of an example topology. The network topology of FIG. 1 comprises an automotive data processing system 100 which is coupled through network 105 to client computing devices 110 (e.g. computer systems, personal data assistants, smart phones or other client computing devices). Network 105 may be, for example, a wireless or wireline communication network such as the Internet or wide area network (WAN), publicly switched telephone network (PSTN) or any other type of communication link. The system may further include one or more information provider systems 120, one or more dealer management systems (DMS) 122, inventory systems 124, department of motor vehicles (DMV) systems 126 or other systems.

[0028] Automotive data processing system 100 may provide a comprehensive computer system for automating and facilitating a leasing process including inventory selection, financing qualification, document generation and transaction finalization, as described in detail in U.S. Patent Application Pub. No. 2018/0204281, which is hereby incorporated by reference. The present disclosure focuses primarily on aspects of the system involving inventory selection, and more particularly components of the system relating to the ranking of displayed inventory items, the tracking of user actions associated with the displayed inventory items, and tuning of the ranking engine that generates the ranking of the displayed inventory items.

[0029] Using a client application 114 executing on a client device 110, a consumer user may search dealer inventory, apply for financing, select a vehicle of interest from a dealer and review and execute documents related to the lease of the vehicle, and execute automated clearing housing (ACH) transactions through automotive data processing system 100 to complete the transaction.

[0030] Turning briefly to the various other entities in the topology FIG. 1, dealers may use a dealer management system ("DMS") 122 to track or otherwise manage sales, finance, parts, service, inventory and back office administration needs. Since many DMS 122 are Active Server Pages (ASP) based, data may be obtained directly from a DMS 122 with a "key" (for example, an ID and Password with set permissions within the DMS 122) that enables data to be retrieved from the DMS 122. Many dealers may also have one or more web sites which may be accessed over network 105, where inventory and pricing data may be presented on those web sites.

[0031] Inventory systems 124 may be systems of, for example, one or more inventory polling companies, inventory management companies or listing aggregators which may obtain and store inventory data from one or more of dealers (for example, obtaining such data from DMS 122). Inventory polling companies are typically commissioned by the dealer to pull data from a DMS 122 and format the data for use on websites and by other systems. Inventory systems 124 may provide information on inventory vehicles that is used in the ranking of the vehicles when they are presented to a consumer, such as prices of the vehicles and locations of the vehicles.

[0032] DMV systems 126 may collectively include systems for any type of government entity to which a user provides data related to a vehicle. For example, when a user purchases a vehicle it must be registered with the state (for example, DMV, Secretary of State, etc.) for tax and titling purposes. This data typically includes vehicle features (for example, model year, make, model, mileage, etc.) and sales transaction prices for tax purposes. Additionally, DMVs may maintain tax records of used vehicle transactions, inspection, mileages, etc.).

[0033] Information provider systems 120 may be systems of entities that provide information used in approving a user or lease. Examples of information provider systems 120 may include computer systems controlled by credit bureaus, fraud and ID vendors, vehicle data vendors or financial institutions. A financial institution may be any entity such as a bank, savings and loan, credit union, etc. that provides any type of financial services to a participant involved in the lease of a vehicle. Information provider systems 120 may comprise any number of other various sources accessible over network 105, which may provide other types of desired data, for example, data used in identity verification, fraud detection, credit checks, credit risk predictions, income predictions, affordability determinations, residual value determinations or other processes.

[0034] Automotive data processing system 100 utilizes interfaces configured to, for example, receive and respond to queries from users at client computing devices 110, interface with information provider systems 120, DMS 122, inventory systems 124 and DMV systems 126, obtain data from or provide data obtained or determined by automotive data processing system 100 to any of information provider systems 120, DMS 122, inventory systems 124, DMV systems 126. It will be understood that the particular interface utilized in a given context may depend on the functionality being implemented by automotive data processing system 100, the type of network utilized to communicate with any particular entity, the type of data to be obtained or presented, the time interval at which data is obtained from the entities, the types of systems utilized at the various entities, etc. Thus, these interfaces may include, for example, web pages, web services, a data entry or database application to which data can be entered or otherwise accessed by an operator, APIs, libraries or other type of interface which it is desired to utilize in a particular context.

[0035] Client computing devices 110, 111 may comprise one or more computer systems with central processing units executing instructions embodied on one or more computer readable media where the instructions are configured to interface with automotive data processing system 100. A client computing device 110, 111 may comprise, for example, a desktop, laptop, smart phone or other device. According to one embodiment, a client computing device 110 is a mobile device that has a touchscreen display and relies on a virtual keyboard for consumer data input. Client application 114 may be a mobile application ("mobile app") that runs in a mobile operating system (e.g., Android OS, iOS), and is specifically configured to interface with automotive data processing system 100 to generate application pages for display to a consumer. In another embodiment, the client application 114 may be a web browser on a desktop computer or mobile device. A client computing device 111 may run an application through which a dealer portal can be accessed.

[0036] In accordance with one embodiment, a consumer can utilize client application 114 to register with automotive data processing system 100, view inventory, select a vehicle, apply for financing, review documents and finalize a sales transaction through a low friction mobile app running on a smart phone. Client application 114 can be configured with an interface module 115 to communicate data to/from automotive data processing system 100 and generate a user interface for inputting one or more pieces of information or displaying information received from automotive data processing system 100. In some embodiments, the application 114 may comprise a set of application pages through which application 114 collects information from the consumer or which client application 114 populates with data provided via an interface. Application 114 may collect information that is manually input by the consumer so that it can be processed by automotive data processing system 100 with other information associated with the consumer. This information can be used to determine, for example, the consumer's qualification for a vehicle lease, financing options available to the consumer, or pricing for particular vehicles. Application 114 may also collect automatically information associated with the consumer's views of displayed vehicles and identification of particular vehicles as favorites or subscribed vehicles. This information may be used to tune the weights that are applied to signals input to a ranking engine that determines an order in which vehicles are displayed to the consumer.

[0037] Vehicle data application 150 can comprise a set of processing modules to process obtained data or processed data to generate further processed data. Different combinations of hardware, software, and/or firmware may be provided to enable interconnection between different modules of the system to provide for the obtaining of input information, processing of information and generating outputs.

[0038] In the embodiment of FIG. 1, vehicle data application 150 includes a demand model 152 and a cashflow module 154. Demand model 152 uses historical transaction data 134 stored in data store 130 to determine the payments for a consumer having a particular profile that will be likely to result in a completed lease transaction. Cashflow model 154 uses contract records 132 and information on customers' performance on those contracts 133 to take input payment information from demand model 152 and information on the desired return for a transaction so that it can determine an acquisition price for particular types of vehicles. This acquisition price is compared to prices set by sellers for inventory vehicles 131 in order to determine which of these vehicles is priced to meet the return requirement. A list of qualified vehicles 135 for the consumer profile (vehicles that are priced at or below the acquisition price for that type of vehicle) is stored in data store 130 for quick retrieval when a consumer uses the system.

[0039] Vehicle data application 150 may also include various other modules which are not described in detail herein. These modules may include, for example, dealer interaction modules, user interaction modules, inventory modules, order modules, financing modules, document modules, and various other modules that may be necessary or desirable to perform the functions of the vehicle data application.

[0040] Referring to FIG. 2, a diagram illustrating the flow of data through a demand model and a cashflow model in accordance with one embodiment is shown. As depicted in this figure, a consumer profile 202 and a vehicle type 204 are provided to a demand model 152. The consumer profile may include various types of information, such as income, credit score, rent, debt-to-income ratio, etc. Alternatively, the consumer profile may comprise an indication of a particular classification or categorization of the consumer, where the classification may be used to identify a group or class of consumer whose behavior can be collectively characterized.

[0041] In one embodiment, the acquisition price is determined without regard to a specific consumer. In other words, the consumer profile is a unique classification or set of characteristics that describe a segment of the consumer population. The consumer profile may be defined by particular values or ranges of values for one or more consumer characteristics (e.g., income, credit score, rent, debt-to-income ratio). These characteristics are used to identify subsets of the historical transaction data that are used as the basis for the demand model. Each subset of the data is analyzed to determine the payments that are associated with the corresponding consumer profile and various vehicle types. Because personally identifiable consumer information is often protected by applicable laws and/or regulations, one embodiment generates its own internal risk scores for consumers based on available information and then uses the consumer's internal risk score and state as a consumer profile.

[0042] The vehicle type provided to the demand model does not identify a specific vehicle, but instead identifies a class or group of vehicles. The vehicle type may, for example, be identified by various characteristics of a class of vehicles, such as the body style (e.g., sedan, coupe, SUV, etc.), size (e.g., sub-compact, compact, mid-size, etc.), and the like. The particular characteristics that are used to identify the vehicle type may differ from one embodiment to another, depending upon the requirements of the demand model. These characteristics may also be encoded into a record or number such as a vehicle identification number, or VIN number. One embodiment may use a "VIN10", which comprises the first 10 digits of the VIN. This number identifies such things as the manufacturer, model, body type and model year (the remainder of the VIN--digits 11-17--contains a serial number that can be used to identify the specific vehicle associated with the transaction record, but which is not necessary in this embodiment).

[0043] The vehicle type may be derived from the user request to access the automotive data processing system. The user may, for example, explicitly identify a vehicle type when the request is initiated, so the request itself may identify the vehicle type (e.g., by including a VIN that identifies the vehicle type). In one embodiment, the VIN is decoded to identify information such as the make, model, model year, trim, and equipment of the vehicle. Alternatively, the user may have searched for particular vehicles or for vehicles with particular characteristics, and this search activity may be used to identify a vehicle type which can then be provided to the demand model.

[0044] Demand model 152 is derived from historical transaction data that identifies lease transactions. Each of the transaction records that contain the transaction data has associated consumer information, vehicle type information, and payment information. This information is analyzed to determine the payment levels at which consumers having particular profiles are likely to complete lease transactions for particular types of vehicles. Various different algorithms may be used to identify the payments corresponding to the different consumer profiles and vehicle types. For example, in one embodiment, the historical transaction data may be segregated by consumer profile classifications, and further segregated into vehicle types. Then, for each combination of a particular consumer profile classification and a particular vehicle type, the data for this combination may be examined to identify a payment level (e.g., maximum monthly payment) at which a predetermined number of transactions are converted. The model in this example might therefore be a table that stores payment values corresponding to the consumer profile classifications and vehicle types.

[0045] Demand model 152 is designed to receive consumer profile 202 and vehicle type 204 as inputs, and to provide the corresponding payment 206 as an output. In the example of a demand model that comprises a table storing payment values, the input consumer profile and vehicle type may be used to look up a corresponding payment value in the table. In alternative embodiments, the demand model may be a more complex structure, and it may be necessary to compute the payment value after the consumer profile and vehicle type are input to the model. It should be noted that the payment generated using the demand model is consumer-facing and is generated without regard to any particular vehicle that is being offered for sale or lease, or any costs that may be associated with selling or leasing a vehicle.

[0046] The payment 206 that is produced by demand model 152 corresponding to the identified consumer profile 202 and vehicle type 204 is then itself provided as an input to a cash flow model 154. In one embodiment, a desired return 208 is also input to the cash flow model. Cash flow model 154 is derived in this embodiment from historical contract performance data which is collected by the system. This data is analyzed to determine the costs associated with transactions involving particular types of vehicles. In one embodiment, this is accomplished using an ensemble of a logistic regression and a tree-based model that use price, make, model, and state as inputs. The cash flow model is designed to determine, based upon the input return information 208 and the payment information 206 from the demand model a maximum acquisition price 210 that is necessary to provide the desired return for the particular type of vehicle at the payment level indicated by the demand model. Acquisition price 210, similar to the customer-facing payment 206, is independent of any particular vehicle that may be available for sale on the system.

[0047] The cash flow model is a hybrid of two models. The first model is a survival model, which is a logistic regression trained on historical payment data to determine the customer and vehicle attributes that predict the probability of voluntarily returning a car or defaulting on the contract in each time period. This may be replaced with a neural network survival model in some alternative embodiments. The second model is a unit economics model, which is a mechanistic model capturing the cash inflows and outflows that comprise the relevant economics. The survival model and the unit economics model are combined to produce a probability weighted set of cash flows that describe the expected financial performance of a given deal.

[0048] Referring to FIG. 3, a flow diagram illustrating a method for generating a vehicle acquisition price in an automotive data processing system in accordance with one embodiment is shown. In this method, a consumer profile and a desired vehicle type are provided to a demand model (302). The demand model processes the input consumer profile and vehicle type and generates a payment as an output (304). The payment generated by the demand model and a desired rate of return are then provided as inputs to a cashflow model (306). The cashflow model processes these inputs and generates an acquisition price corresponding to the consumer profile, vehicle type and rate of return which were input to the demand and cashflow models (308).

[0049] Referring to FIG. 4, a diagram illustrating the flow of data through a comparison engine in accordance with one embodiment is shown. As depicted in this figure, the acquisition price 210 generated by the demand model is provided to a comparison engine 156. The comparison engine also receives inventory records 131, each of which corresponds to a particular vehicle that is available to the automotive data processing system. Each of the vehicle inventory records identifies the purchase price for the corresponding vehicle, which is set by the seller of the vehicle. Comparison engine 156 compares the purchase price for each inventory vehicle with the acquisition price and either qualifies or disqualifies the vehicle based upon the comparison. If the purchase price is less than or equal to the acquisition price, the vehicle is qualified, and if the purchase price is greater than the acquisition price, the vehicle is disqualified. It should be noted that, although the automotive data processing system may store inventory records for vehicles of many different types, acquisition price 210 is only applicable to vehicles of the type originally input to the demand model (see FIGS. 2 and 3), so inventory records 131 are filtered so that only records for vehicles of the type input to the demand model are processed by comparison engine 156. The qualified vehicles may be identified by the automotive data processing system in any suitable manner. For instance, qualified vehicle records may be separately stored, existing inventory records for qualified vehicles may be flagged, lists of qualified vehicles may be stored, or any other type of indication of the qualified vehicles may be maintained. These indicators can then be used to identify the qualified vehicles for presentation through a user interface of the vehicle data application, while disqualified vehicles are blocked from being displayed to consumers.

[0050] Referring to FIG. 5, a flow diagram illustrating a method for generating displays of qualified vehicles in an automotive data processing system user interface in accordance with one embodiment is shown.

[0051] As depicted in this figure, the acquisition price that was previously generated for the identified consumer profile and vehicle type is provided to a comparison engine (502). Inventory records for vehicles that are available through the automotive data processing system are then filtered to exclude vehicles other than the particular vehicle type associated with the acquisition price, and the filtered records are provided to the comparison engine (504). The comparison engine compares the purchase price identified in each of the filtered vehicle records to the received acquisition price (506). The comparison engine qualifies or disqualifies each of the filtered vehicle records based on the corresponding vehicle price and the acquisition price (508). More specifically, if the purchase price is less than or equal to the acquisition price, the vehicle is qualified, and if the purchase price is greater than the acquisition price, the vehicle is disqualified. An indication of the qualified vehicles (e.g., a list, copies of the vehicle records, or the like) is stored by the system. The automotive data processing system then generates one or more displays to be presented via a user interface of the vehicle data application (510). The displays include only qualified vehicles, so that if a user completes a transaction (e.g., lease) on one of these vehicles, it is ensured that the transaction will meet the requirements (e.g., minimum return on investment) of the system operator. Disqualified vehicles (which would not meet these requirements on completion o foreign associate transaction) are excluded from the generated displays.

[0052] As noted above, the acquisition price is associated with a particular consumer profile and vehicle type. As it is determined whether each vehicle is qualified or not, qualified vehicles are added to a list of qualified vehicles for the corresponding consumer profile and vehicle type, while disqualified vehicles are not. This same process is repeated for each of a set of possible consumer profiles and vehicle types so that multiple lists of qualified vehicles are stored by the system, with each list being associated with a corresponding consumer profile and vehicle type. Then, when a specific consumer interacts with the system, one of the consumer profiles which is associated with the consumer is identified, a vehicle type of interest to the consumer is identified, and the corresponding list of qualified vehicles is retrieved. This list is used to identify particular ones of the available inventory vehicles of the desired type that are qualified for this specific consumer. Since only vehicles that have acquisition prices at or below the acquisition price are qualified for display to the consumer through the application, any lease transactions that are completed necessarily involve vehicles that are priced at a level sufficient to provide the desired return for the system operator.

[0053] It should be noted that "list", as used herein, should be construed to cover lists, tables, databases, or any other data structures that are capable of storing the qualified vehicles corresponding to each combination of consumer profile and vehicle type for the desired return. It should also be noted that the automotive data processing system may be configured to store a list of payments generated by the demand model for corresponding combinations of consumer profiles and vehicle types. The automotive data processing system may further be configured to store a list of acquisition prices generated by the cashflow model for corresponding combinations of consumer profiles and vehicle types for a desired return.

[0054] As mentioned above, the demand model is intended to identify a payment at which a consumer having a particular profile is likely to complete a lease transaction for a vehicle of a given type. In one embodiment, the demand model is developed by examining portions of the historical transaction data corresponding to particular combinations of consumer profile and vehicle type. The consumer profile may be defined by any suitable set of values for a defined set of factors that might potentially drive the rate of default or return (e.g., FICO score, income, payment-to-income ratio, loan-to-value ratio, down payment amount, recurring monthly payment amount, depreciation, vehicle year make model and miles, vehicle value, origination location, origination channel (rideshare/consumer), etc.). The vehicle type may be defined by factors such as make and model, or make, model and year.

[0055] In one embodiment, for each combination of consumer profile and vehicle type, the corresponding records in the historical transaction data can be ranked according to the associated purchase prices. (In this case, the historical transaction data will include data for both converted transactions representing actual sales or leases and browsing or viewing transactions that were not converted.) Then, a target price is determined by identifying the price corresponding to a specific percentile of the completed transactions. For example, the 5th percentile may correspond to a target price of $400. Thus, 5% of the consumers that fall within the identified consumer profile will complete a lease for a vehicle of the identified type if the lease price is $400. The selected percentile may be increased or decreased, which may in turn affect the pace at which vehicles are leased through the application. For instance, if a greater percentile is selected (e.g., 6% instead of 5%), the target price will be slightly lower, reflecting the greater number of consumers leasing at the target price. A similar analysis is performed for each combination of consumer profile and vehicle type, so that the demand model can, for each combination of these inputs, provide a corresponding target price at which the selected percentile of transactions will be converted.

[0056] The target price output by the demand model corresponding to the identified consumer profile and vehicle type is provided as an input to the cash flow model. The cash flow model is designed to determine the cash flow that is generated by a transaction for a particular type of vehicle at a given price. In one embodiment, the vehicle data system collects information relating to all contracts for vehicle leases that are made using the system. This information is then used to develop the cash flow model. The collected contract information is used to determine, for a given vehicle type and at a given price, the probabilities that a consumer will maintain the contract, return the vehicle, or default on the contract.

[0057] In one embodiment, the cash flow model is developed using a database that is created with attributes which are known at the point of origination and which might potentially drive the rate of default or return on a contract, such as FICO score, start payment, regular payment, vehicle year make model miles, vehicle value, origination location, origination channel (rideshare/consumer), etc. The status of the loan at the beginning and the end of each contract period (e.g., defaulted, returned as agreed, actively paying) is also included.

[0058] The database contains a row for every contract for every due date from inception of the contract. For example, Rideshare contracts that involve weekly payments have one row per week for every account (e.g., 52 rows for a one year old account), while consumer loans which are due for monthly payments have 12 rows of status results for a year. In both cases, the origination attributes are repeated on every row. The database may have hundreds of thousands of rows (records).

[0059] An analysis is performed on the records in the database to predict the likelihood of return or default for any configuration of attributes known at origination, for any period in the life of the subscription. The output is a formula that predicts the likelihood of default, return, or continued payment for every invoice period (typically for 36 months in the case of rideshare and 48 months in the case of consumer). In this embodiment, it is assumed that after the full length of the loan period, the customers will return their vehicles.

[0060] An example of such a formula may be

g(.SIGMA..sub.i=1.sup.N.sub.f(x.sub.i.beta.)),

where N is the number of feature attributes in the model, x is an attribute, .beta. is some estimated coefficient and g is a functional form, and f is also a functional form such as a linear combination.

[0061] Based upon these probabilities, the expected net gross cash flow from a contract for this type of vehicle at this price can be determined. The formula for the probabilities of default, return, or continued payment is then put into a model that includes business costs, such as cost of capital, marketing, origination costs, servicing costs, depreciation, and liquidation costs. When these costs are added to the cost of acquisition of the vehicle from the dealer, the result is a gross cash flow expectation for the vehicle.

[0062] When the details of any of the previously originated vehicles are input to the model, the model might predict that, on average, the actual payment results in an expected return that is very high. Alternatively, the expected return may possibly be negative. Thousands of deals are therefore loaded, one by one, into the model, and are solved for a target return by adjusting the regular payment, saving the regular payment, and then using statistics on the deals with the ideal regular payment (the one that results in the desired return) to develop a general formula using the known origination attributes as inputs to drive a payment appropriate for a deal on a particular type of vehicle.

[0063] In one embodiment, a separate filter (not included in the model) is used to exclude certain vehicles which are not good fits with the consumer. For example, the vehicles may be excluded because the payment is not competitive, or because the vehicle is a type that is usually not preferred by the consumer (e.g., pickup trucks are not usually preferred by uber drivers). These vehicles are considered outliers and may skew the result that best fits the bulk of the vehicles.

[0064] As noted above, the acquisition price determined by the cash flow model is used in the selection of qualified vehicles that can be displayed to a consumer. In one embodiment, the acquisition price for a particular type of vehicle is compared to each of the vehicles of that type that have been made available by sellers through the vehicle data system. In this embodiment, there are a predetermined set of consumer profiles into which a given consumer can be classified. For example, there may be three consumer profiles corresponding to low risk, medium risk and high risk consumers. The consumer profiles may segment the consumer population in many different ways, and there may be any desired number of different profiles. In this particular embodiment, the system maintains a list of qualified vehicles for each combination of consumer profile and vehicle type, so that the vehicles which are qualified and can be displayed to a particular consumer can be quickly identified and displayed in real time when the consumers profile is determined. In other embodiments, the qualified vehicles can be dynamically determined.

[0065] Referring to FIG. 6, the use of the qualified vehicle list in accordance with some embodiments is shown. As depicted in this figure, a consumer first logs onto a client application which interacts with the vehicle data application (602). The vehicle data application identifies the consumer profile that is associated with the consumer (604) and then retrieves the corresponding list of qualified vehicles from a data store (606). The consumer profile may be determined in one embodiment based on information that is derived from a user request to access the automotive data processing system. For example, the user request may include a name, user ID, system registration ID, or other information that is unique to the particular consumer that is accessing the system. This identifying information may be used to access consumer profile information that was previously provided to the system during a registration process and stored by the system. Alternatively, the identifying information may be used to access information that is publicly available, or is collected and provided by external information services.

[0066] As noted above, each of the vehicles in the list has been compared to an acquisition price associated with the consumer profile, so it is not necessary to separately qualify vehicles for each consumer, or to expend the time and computational resources necessary to do so when the consumer logs in. This allows the system to generate displays of qualified vehicles to the consumer in real time. After retrieving the list of qualified vehicles, the consumer may interact with the vehicle data application, such as by submitting vehicle queries (608). In response to the consumer's queries, the vehicle data application will generate displays (e.g., vehicle listings) that are presented to the consumer via a user interface (610). Because the vehicles that are displayed to the consumer responsive to these queries or in the course of browsing are only selected from the qualified vehicles that were previously identified by the vehicle data application, it is assured that any transaction completed by the consumer on one of these vehicles will provide the return desired by the system operator.

[0067] It should be noted that the sellers of the vehicles may be provided with the ability to view the vehicles that are displayed to users having particular consumer profiles, and may therefore be able to determine whether or not particular vehicles that they have made available for purchase or lease through the vehicle data system are qualified for display. If a seller determines that a particular vehicle is not being displayed to consumers having a particular profile, the seller may change the purchase price of the vehicle in order to ensure that the vehicle is qualified. For example, if the seller prices a particular vehicle at $25,000, but the acquisition price is $24,500, the vehicle will not be qualified and consequently will not be presented to the consumer. The seller may therefore reduce the price to $24,500 or less in order to have the vehicle presented to the consumer. In one embodiment, the seller may use a client application which includes a tool such as a slider bar to adjust the price to a level which is at or below the acquisition price corresponding to that type of vehicle, thereby allowing the vehicle to be qualified and displayed to consumers.

[0068] Embodiments of the automotive data processing system may be implemented in a variety of different computing systems. FIG. 7 depicts a diagrammatic representation of a distributed network computing environment where embodiments disclosed can be implemented. In the example illustrated, network computing environment 700 includes network 704 that can be bi-directionally coupled to a client computing device 714, a server system 716 and one or more third party system 717. Server system 716 can be bi-directionally coupled to data store 718. Network 704 may represent a combination of wired and wireless networks that network computing environment 700 may utilize for various types of network communications known to those skilled in the art.

[0069] For the purpose of illustration, a single system is shown for each of client computing device 714 and server system 716. However, a plurality of computers may be interconnected to each other over network 704. For example, a plurality client computing devices 714 and server systems 716 may be coupled to network 704.

[0070] Client computer device 714 can include central processing unit ("CPU") 720, read-only memory ("ROM") 722, random access memory ("RAM") 724, hard drive ("HD") or storage memory 726, and input/output device(s) ("I/O") 728. I/O 728 can include a keyboard, monitor, printer, electronic pointing device (e.g., mouse, trackball, stylus, etc.), or the like. In one embodiment I/O 728 comprises a touch screen interface and a virtual keyboard. Client computer device 714 may implement software instructions to provide a client application configured to communicate with an automotive data processing system. Likewise, server system 716 may include CPU 760, ROM 762, RAM 764, HD 766, and I/O 768. Server system 716 may implement software instructions to implement a variety of services for an automotive data processing system. These services may utilize data stored in data store 718 and obtain data from third party systems 717. Many other alternative configurations are possible and known to skilled artisans.

[0071] Each of the computers in FIG. 7 may have more than one CPU, ROM, RAM, HD, I/O, or other hardware components. For the sake of brevity, each computer is illustrated as having one of each of the hardware components, even if more than one is used. Each of computers 714 and 716 is an example of a data processing system. ROM 722 and 762; RAM 724 and 764; HD 726, and 766; and data store 718 can include media that can be read by CPU 720 or 760. Therefore, these types of memories include non-transitory computer-readable storage media. These memories may be internal or external to computers 714 or 716.

[0072] Portions of the methods described herein may be implemented in suitable software code that may reside within ROM 722 or 762; RAM 724 or 764; or HD 726 or 766. The instructions may be stored as software code elements on a data storage array, magnetic tape, floppy diskette, optical storage device, or other appropriate data processing system readable medium or storage device.

[0073] While the foregoing embodiments were provided primarily in the context of an automotive data processing system, it will be appreciated that embodiments described herein may be applied to other assets (e.g., real-estate, boats, etc.). In particular, embodiments may be adapted for assets for which depreciation can be modeled. Moreover, those skilled in the relevant art will appreciate that the invention can be implemented or practiced with other computer system configurations, including without limitation multi-processor systems, network devices, mini-computers, mainframe computers, data processors, and the like. The invention can be embodied in a computer or data processor that is specifically programmed, configured, or constructed to perform the functions described in detail herein. The invention can also be employed in distributed computing environments, where tasks or modules are performed by remote processing devices, which are linked through a communications network such as a local area network (LAN), wide area network (WAN), and/or the Internet. In a distributed computing environment, program modules or subroutines may be located in both local and remote memory storage devices. These program modules or subroutines may, for example, be stored or distributed on computer-readable media, including magnetic and optically readable and removable computer discs, stored as firmware in chips, as well as distributed electronically over the Internet or over other networks (including wireless networks).

[0074] ROM, RAM, and HD are computer memories for storing computer-executable instructions executable by the CPU or capable of being compiled or interpreted to be executable by the CPU. Suitable computer-executable instructions may reside on a computer readable medium (e.g., ROM, RAM, and/or HD), hardware circuitry or the like, or any combination thereof. Within this disclosure, the term "computer readable medium" is not limited to ROM, RAM, and HD and can include any type of data storage medium that can be read by a processor. Examples of computer-readable storage media can include, but are not limited to, volatile and non-volatile computer memories and storage devices such as random access memories, read-only memories, hard drives, data cartridges, direct access storage device arrays, magnetic tapes, floppy diskettes, flash memory drives, optical data storage devices, compact-disc read-only memories, and other appropriate computer memories and data storage devices. Thus, a computer-readable medium may refer to a data cartridge, a data backup magnetic tape, a floppy diskette, a flash memory drive, an optical data storage drive, a CD-ROM, ROM, RAM, HD, or the like.

[0075] Any suitable programming language can be used to implement the routines, methods or programs of embodiments of the invention described herein. Other software/hardware/network architectures may be used. For example, the functions of the disclosed embodiments may be implemented on one computer or shared/distributed among two or more computers in or across a network. Communications between computers implementing embodiments can be accomplished using any electronic, optical, radio frequency signals, or other suitable methods and tools of communication in compliance with known network protocols.

[0076] Different programming techniques can be employed such as procedural or object oriented. Any particular routine can execute on a single computer processing device or multiple computer processing devices, a single computer processor or multiple computer processors. Data may be stored in a single storage medium or distributed through multiple storage mediums, and may reside in a single database or multiple databases (or other data storage techniques). Although the steps, operations, or computations may be presented in a specific order, this order may be changed in different embodiments. In some embodiments, to the extent multiple steps are shown as sequential in this specification, some combination of such steps in alternative embodiments may be performed at the same time. The sequence of operations described herein can be interrupted, suspended, or otherwise controlled by another process, such as an operating system, kernel, etc. The routines can operate in an operating system environment or as stand-alone routines. Functions, routines, methods, steps and operations described herein can be performed in hardware, software, firmware or any combination thereof.

[0077] Embodiments described herein can be implemented in the form of control logic in software or hardware or a combination of both. The control logic may be stored in an information storage medium, such as a computer-readable medium, as a plurality of instructions adapted to direct an information processing device to perform a set of steps disclosed in the various embodiments. Based on the disclosure and teachings provided herein, a person of ordinary skill in the art will appreciate other ways and/or methods to implement the invention.

[0078] It is also within the spirit and scope of the invention to implement in software programming or code an of the steps, operations, methods, routines or portions thereof described herein, where such software programming or code can be stored in a computer-readable medium and can be operated on by a processor to permit a computer to perform any of the steps, operations, methods, routines or portions thereof described herein. The invention may be implemented by using software programming or code in one or more digital computers, by using application specific integrated circuits, programmable logic devices, field programmable gate arrays, optical, chemical, biological, quantum or nanoengineered systems, components and mechanisms may be used. The functions of the invention can be achieved by distributed or networked systems. Communication or transfer (or otherwise moving from one place to another) of data may be wired, wireless, or by any other means.

[0079] As used herein, the terms "comprises," "comprising," "includes," "including," "has," "having" or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a process, article, or apparatus that comprises a list of elements is not necessarily limited only those elements but may include other elements not expressly listed or inherent to such process, article, or apparatus. Further, unless expressly stated to the contrary, "or" refers to an inclusive or and not to an exclusive or. For example, a condition "A or B" is satisfied by any one of the following: A is true (or present) and B is false (or not present), A is false (or not present) and B is true (or present), and both A and B are true (or present).

[0080] To the extent particular values are provided in any example embodiments in the description, such values are provided by way of example and not limitation. Moreover, while in some embodiments rules may use hardcoded values, in other embodiments rules may use flexible values. In one embodiment, one or more of the values may be specified in a registry, allowing the value(s) to be easily updated without changing the code. The values can be changed, for example, in response to analyzing system performance.

[0081] Additionally, any examples or illustrations given herein are not to be regarded in any way as restrictions on, limits to, or express definitions of, any term or terms with which they are utilized. Instead, these examples or illustrations are to be regarded as being described with respect to one particular embodiment and as illustrative only. Those of ordinary skill in the art will appreciate that any term or terms with which these examples or illustrations are utilized will encompass other embodiments which may or may not be given therewith or elsewhere in the specification and all such embodiments are intended to be included within the scope of that term or terms. Language designating such nonlimiting examples and illustrations includes, but is not limited to: "for example," "for instance," "e.g.," "in one embodiment."

[0082] Benefits, other advantages, and solutions to problems have been described above with regard to specific embodiments. However, the benefits, advantages, solutions to problems, and any component(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as a critical, required, or essential feature or component.

* * * * *


uspto.report is an independent third-party trademark research tool that is not affiliated, endorsed, or sponsored by the United States Patent and Trademark Office (USPTO) or any other governmental organization. The information provided by uspto.report is based on publicly available data at the time of writing and is intended for informational purposes only.

While we strive to provide accurate and up-to-date information, we do not guarantee the accuracy, completeness, reliability, or suitability of the information displayed on this site. The use of this site is at your own risk. Any reliance you place on such information is therefore strictly at your own risk.

All official trademark data, including owner information, should be verified by visiting the official USPTO website at www.uspto.gov. This site is not intended to replace professional legal advice and should not be used as a substitute for consulting with a legal professional who is knowledgeable about trademark law.

© 2024 USPTO.report | Privacy Policy | Resources | RSS Feed of Trademarks | Trademark Filings Twitter Feed