SYSTEM AND METHOD FOR CONFIGURING A PRODUCT

Abstract: A configuration system (20) and method are provided in which a configuration of a product having one or more parts may be automatically recommended to a user. The recommendation may be based on the needs of the user. The recommended configuration of the product is also automatically checked for violations of rules governing the configuration. The system (20) may store a profile of a user so that the user may use the same profile repeatedly.

Description: SYSTEM AND METHOD FOR CONFIGURING A PRODUCT Background of the Invention This invention relates generally to a system and method for selecting a product for a user and in particular to a system and method for automatically configuring a product for a user based on various user inputs. When a consumer is selecting a product to purchase, the consumer typically looks at the features of, for example, one or more brands of the particular product and selects a product to purchase. With some products, such as televisions, video recorders and the like, it is fairly easy for the consumer to select a brand based on information known to the user. With more complex products having multiple optional parts or products which the consumer may know very little about, such as computers, automobiles, athletic shoes and the like, it is desirable to help the consumer to choose a product or a configuration of the product for purchase. As an example, when attempting to purchase a computer which has many options, such as different microprocessors, different amounts of memory, different size hard drives, different peripherals and the like, it is desirable to provide the user with help navigating through all of the options to arrive at a configuration of the computer system which suits the consumer's needs, but does not contain extra unneeded options which may never be used. One conventional system is a World Wide Web (WWW) based system which permits the user to select the various options of the computer from menus. Once the various options are selected by the user, the computer system will provide the user with a cost of the selected product and permit the user to buy that product. The problem with this system is that it requires the consumer to know how to choose the various parts of the product. Another conventional system may permit the consumer to provide the system with one or more consumer preferences so that the system may recommend a product configuration for the user based on the user's preferences. Once the consumer receives the product configuration, the consumer may modify it as needed and then the consumer may purchase the product with the particular configuration. The problem with this system is that the system does not check, at the time that the consumer is selecting the configuration, to ensure that the selected configuration may actually be built for the consumer. For example, if the consumer has selected to have a CD-ROM drive, a typical hard drive and a removable-media optical drive in a computer chassis which has bays and connections for only two drive-type peripherals, the configuration selected by the consumer can not be built. Even worse, the incompatibility of certain parts of the configuration of the computer may not be identified until after the purchase so that the consumer must be consulted and possibly annoyed that his configuration is not possible. Even worse, the incompatibility of the configuration may not be realized until after the computer is being assembled. The lack of ability of check the configuration prior to the purchase of the product may cause a number of problems. First, it may upset the consumer and cause a loss of business to the product manufacturer. Second, it may cause the manufacturer to enter the order into the manufacturing process and then remove it which means a loss of productivity. The late detection of an incompatibility may also cause the delivery of the computer system to be delayed which may further upset the consumer. For a large corporate client, it may also be desirable to be able to store one or more user profiles for a particular type of person in the company so that computers for each different type of person may be easily ordered by the large corporation with a minimum amount of time. For example, a software programmer may require a faster microprocessor and more memory in a computer than a receptionist so that the client would like to be able to quickly order the appropriate computer system for the appropriate type of person. In addition, even when the computer systems or parts change, the user profile may still be able to recommend an appropriate computer system for each type of person so that the client does not need to keep track of the latest changes to the computer system. No known conventional system permits a consumer to store one or more user profiles. Thus, it is desirable to provide a system and method for configuring a product based on a consumer's needs in which any compatibilities in the product's configuration may be identified while the consumer is picking the parts of the computer system so that the incompatibilities may be identified and resolved at any early stage in the process prior to the purchase of the product. It is also desirable to provide a configuration system which may store user profiles. Therefore, it is desirable to provide a configuration system which provides these advantages and which avoid the above drawbacks and problems with conventional systems and it is to this end that the present invention is directed. Summary of the Invention A configuration system and method are provided in which the configuration of a product may be recommended based on user input (need based). The recommended configuration may then be checked to determine if it violated one or mores rules so that the final configuration recommended to the user may be manufactured by the manufacturer. The system may also store a user profile generated based on the user input to make it easier for a corporate client, for example, to order the same computer for a particular type of employee even when the parts of the computer system change over time. Brief Description of the Drawings Figure 1 is a block diagram illustrating a World Wide Web (WWW) based configuration system; Figure 2 is a block diagram illustrating a screen shot of the user interface of a WWW-based configuration system in accordance with the invention; Figure 3 is a block diagram illustrating more details about the configuration system in accordance with the invention; Figure 4 is a flowchart illustrating a method for automatically configuring a product in accordance with the invention; Figure 5 is a flowchart illustrating more details about the interaction of the configuration system with a consumer; Figure 6 is a flowchart illustrating a more details of the profile development process of Figure 4; Figures 7A and 7B are diagrams illustrating a base profile and a modified profile in accordance with the invention; Figure 8 is a flowchart illustrating a method for ranking the attributes of parts in accordance with the invention; Figure 9 is a diagram illustrating an example of parts being ranked in accordance with the invention; Figure 10 is a flowchart illustrating a method for rule checking in accordance with the invention; and Figure 11 is a flowchart illustrating the interactions of the user with the configuration system during the rule checking process. Detailed Description of a Preferred Embodiment The invention is particularly applicable to a WWW-based system for configuring a computer system and it is in this context that the invention will be described. It will be appreciated, however, that the system and method in accordance with the invention has greater utility, such as to providing configurations to consumers for other types of products such as automobiles, athletic shoes and the like. Figure 1 is a block diagram illustrating a World Wide Web (WWW) based configuration system 20. As shown, a computer system 22, such as a web server, may contain one or more pieces of software code 24 which are stored in the web server and which are executed by the microprocessor in the web server in order to operate as the configuration system in accordance with the invention as described below. The web server 22 may be connected to a communications network 26, such as the Internet and more particularly, the World Wide Web (WWW). The communications network permits the web server, when accessed by an individual or consumer, to display a web page on a consumer's computer 28 which permits the consumer to interact with the web server 22. In this manner, the configuration system in accordance with the invention may be implemented in the embodiment shown in Figure 1. The computer system 28 of the consumer, which may be a personal computer, may include a display device 30, a chassis 32, and one or more user input devices, such as a mouse 34 and a keyboard 36. The chassis 32 may house a permanent storage system, such as a hard disk drive, an optical drive, a tape drive or the like which may store a software application 38 which may be a browser application. Using the browser application, the consumer may connect to the web server 22 over the communications network 26 and receive graphical data, known as a web page, which may be displayed on the display device 30. The browser application 38 may also permit the consumer to interact with the web server, such as entering information into the displayed web page or requesting additional web pages. In this manner, a plurality of consumers may be connected to the web server 22 over the Internet 26 so that the configuration system may be available to a wide variety of different people. The configuration system may also require a password so that only individuals with an account may access the configuration system. To understand the configuration system, a screen shot of the user interface for the configuration system displayed to the user will now be described prior to describing the configuration system. Figure 2 is a block diagram illustrating a screen shot of the user interface of a WWW-based configuration system in accordance with the invention. In particular, a web page 40 displayed when the consumer requests information from the configuration system is shown. The web page 50 may include a profile input region 52, a recommendation region 54 and a configuration modification region 56. The profile input region 52 requests various information about the computer needs of the user from the user using dropdown menus and sliders as described below to generate a user profile which may be used to recommend a particular configuration of a computer system. The recommendation region 54 displays various information about a recommended computer system including a picture of the computer system. The configuration modification region 56 permits the user of the configuration system to modify the recommended computer system configuration as will be described below. These three regions permits the user to interact with the configuration system and select a computer system to purchase. Although the user interface is simple to use, there are other processes in the configuration system, such as the rule checking, user profile generation and the like, which are transparent to the user of the configuration system which will be described below with reference to Figure 4. Now, each of these regions of the web page will be described in more detail. The profile input region 52 may include a drop-down menu region 58 and a slider region 60 which permit the user to interact with the configuration system and provide information to the configuration system about the needs of the user which are used to generate a user profile which may be stored for later retrieval. For example, a corporate client may desire to provide each person in a particular department of the company with the same computer system, but possibly provide different people in different departments with different computer systems. Therefore, the computer buyer for the corporate client may generate a different user profile for a variety of different job titles, such as an accountant, a programmer and a sales manager so that each type of employee receives the type of computer system appropriate for his job. For example, an engineer may require a more expensive, faster computer system than a sales manager. In addition, even as the parts available to be inserted into a computer system changes, the corporate client may submit the user profile for the type of employee desired and have a recommended computer system displayed in the recommendation region without having to re-enter the user profile information each time or worry about changes in the part of the computer system. Returning to the profile input region 52, the drop-down menu region 58 may include one or more drop-down menus 62 which ask the user a question about the computer needs of the user and provides the user with one or more possible answers that may be selected from a drop-down menu. In the example shown, the user is asked what the primary use of the computer system will be and is given a number of possible responses in the drop-down menu that may include, for example, "Graphics and Video Production" (as shown) or "Game Playing" and the like. In this example, the user is also asked what else the computer may be used to do, such as general use, game playing, etc. The drop-down menus tend to be used for questions that are typically answered by specifying a category, for example. A base user profile may then be generated based on the responses from the drop-down menus. The slider region 60 may include one or more sliders 64 which permit the user to answer questions which are typically answered by indicating a relative importance of the criteria being asked about in the question. For example, in this example, the user is asked about the target price range and may then move the slider to indicate that a lower price range or a higher price range is desired. In this example, the user is also asked about the importance of expandability and the how many programs the user may run at the same time. The invention, however, is not limited to the user input features, such as the drop-down menus and the sliders, shown and may include any techniques for gathering information from the user about his requirements and needs for the computer system. Using the responses to the sliders (the need information), the configuration system may modify the user profile, as described below. The final user profile may be stored for future use. The user profile may also be modified by the user as desired. The recommendation region 54 displays the computer system selected by the configuration system based on the user profile. Once the recommended computer system is displayed, the user of the configuration system may modify the recommended computer system by interacting with the modification region 56. In this example, the modification region 56 may include one or more attributes of the computer systems, such as processor, RAM, hard disk, operating system (OS) and video card, and one or more associated sliders 66 which permit the user to change a particular attribute of the computer system, such as putting a larger hard disk into the computer system. When the computer system is initially recommended, the sliders in the modification region 56 are set to the positions representing the current attributes of the recommended computer system. While the user is modifying the recommended computer system, a rule checker in the configuration system may check to ensure that the modifications being made by the user can in fact be made. For example, in modifying the recommended computer system, the user may desire a hard disk, a tape drive and a removable optical media drive in the chassis, but the chassis of the computer system may house only two different drives. Therefore, the configuration system will alert the user to the problem so that the user may change his modifications to resolve the problem. Now, more details of the configuration system will be described. Figure 3 is a block diagram illustrating more details about a configuration system 70 in accordance with the invention. The configuration system may receive information and commands from the user and may output a recommended computer system. The configuration system 70 may include an input receiver 72 which generates the web pages described above and gathers the user information generated by the user interacting with the drop-down menus and the sliders as described above. The information gathered by the input receiver may be fed into a user profile generator 74 which generate a profile for the user based on the information provided by the user. The user profile generator will be described below with reference to Figures 6, 7A and 7B. The user profile generated may be stored in a user profile database 76 so that the user profile may be later used to produce a recommended computer system. The generated user profile may also be fed into a recommender 78 which uses the user profile, information from a parts database 80 and information from a rule engine 82 to recommend a computer system to the user. The process for recommending the computer system will be described below. The parts database 80 may contain a list of the parts which may be included with any computer system, such as different hard drives, processors or the like. The rule engine 82, using rules stored in a rules database 84, may determine if a particular configuration can be actually manufactured. In other words, the rule engine ensures that various limitations are not exceeded. For example, a particular type of chassis may be only able to house a particular type of microprocessor due to overheating concerns. The rule checking process will be described in more detail below with reference to Figures 10 and 11. The configuration system in accordance with the invention provides many advantages. First, the configuration system combines typical need-based recommendations with a rule checking system to ensure that the recommended computer system is actually available and able to be manufactured. In addition, the configuration system, as described below, also uses weighted attributes of various parts of the computer system to recommend a computer system and permits those weights to be changed by the user. In addition, the configuration system also permits the profile of a user to be stored in a database so that the user profile may be used over again. This may be particularly useful for a corporate client who would like to be able to quickly order computers for a particular type of employee. Now, a method for recommending a configuration of a product, such as a computer system, will be described. Figure 4 is a flowchart illustrating a method 100 for recommending a configuration of a product in accordance with the invention. In this method, there may be a profile generation process 102 and a part ranking process 104. The part ranking process may occur constantly as new parts data is received so that the parts data is ready for use prior to the time when the user enter the website. During the profile generation process 102, the user, by interacting with the user interface as described above and shown in Figure 2, may provide the configuration system in step 106 with information about the user's needs in connection with the product to be purchased, such as the computer system. From the needs of the user, the configuration system may generate a user profile in step 108. During the part ranking process 104, each part of the product is assigned an attribute and each attribute is assigned some value in step 110. Next, in step 112, the configuration system ranks the available parts for each part of the product on a percentile basis and stores the results. Next, in step 114, the configuration system, based on the user profile and the percentages assigned to each part, may recommend a computer system configuration which matches the user's profile. While the computer system configuration recommendation is being made, the configuration system may also perform a rule checking process as described above. At the end of the configuration recommendation process, the user has been recommended a particular computer system configuration which may be accepted, modified or rejected. Now, the user interactions with the configuration system will be described. Figure 5 is a flowchart 120 illustrating more details about the interaction of the configuration system with a user. In particular, in step 122, the user answers questions about the usage of the proposed computer system in order to generate a "need" definition for the particular user. Next, in step 124, based on the needs of the user (embodied in a user profile), the configuration system recommends a configuration to the user. In step 126, the user reviews the configuration and determines if the recommended configuration is appropriate. If the configuration is acceptable, then in step 128, the user may purchase the computer system and exit the configuration web site. If the user is not satisfied with the configuration, the method may loop back to step 122 so that the user may redefine his needs or the method may go to step 130 in which the user may override the recommended configuration and make changes. The configuration system will check the new modified configuration against the rules as described below. Once the user is satisfied with the changes, the user may purchase that configuration. Now, the profile development process will be described. Figure 6 is a flowchart illustrating more details of the profile development process and Figures 7A and 7B are diagrams illustrating a base profile and a modified profile in accordance with the invention. In step 142, the user makes choices using the drop-down menus and in step 144, the configuration system selects a base profile based on the information from the drop-down menus. For example, if the user indicates that he is a graphics producer, a base profile 146 shown in Figure 7 A may be generated. The base profile 146 may contain a plurality of attributes of the computer system, such as hard drive speed, RAM and CPU speed, and a percentage associated with each attribute indicating the weighted importance of that attribute to the user represented by the user profile. In the example shown in Figure 7A, the most important attribute is hard disk speed with the amount of RAM next and the processor speed being the least important of the three attributes shown. This base profile, however, may then be modified based on the user's responses to the sliders. In particular, in step 148, the user may make choice via the sliders and in step 150, the configuration system may modify the base profile. For example, the user may move the price slider from the center (value = 1.0) to the right (more expensive) and stop at a value of 1.1. The base profile 146 and the resulting modified profile 152 are shown for this example in Figure 7B. Thus, due to movement of the price slider, each percentage associated with each attribute is multiplied by 1.1 to arrive at new values for each attribute. The results of interactions with other sliders may similarly affect the attribute percentages in the user profile. In fact, the responses to the drop-down menus and/or the sliders may be repeated until an acceptable user profile is generated. Then in step 154, the modified profile may be used for the process of making a recommendation to the user. As described above, the user profile may be stored for future use. Now, a method for ranking the attributes of parts of the computer system will be described. Figure 8 is a flowchart illustrating a method for ranking the attributes of parts in accordance with the invention and Figure 9 is a diagram illustrating an example of parts being ranked in accordance with the invention. In step 162, the attributes for one or more parts that may be used for each category (i.e., hard drive, RAM, etc.) in the computer system are retrieved from the parts database. For example, as shown in Figure 9, there may be three different hard drives which each have a hard drive speed associated with it. Similarly, there may be three sizes of RAM. Next, in step 164, for each category of parts, a percentage rank is calculated. In particular, for each part, a , , value -mm , - .„ . . , , , . . ^ . „ , value equal to rank = x 100% is calculated. As shown in Figure 9, the max- min values calculated for the hard drives may be 0%, 0% and 100%. For the RAM, the values may be 0%, 33% and 100%. These values indicate where the particular part falls within the various different parts which may be put into the computer system. After the values are calculated, in step 166, the ranks of each part may be compared to the user profile values to determine a recommended configuration for the computer system for the user. Now, the rule checking will be described. Figure 10 is a flowchart illustrating a method 170 for rule checking in accordance with the invention. This rule checking process may occur automatically during the computer system recommendation process so that it is constantly checking the configuration to ensure it does not violate any of the rules. Thus, in step 172, the configuration system may select parts whose values most closely match the user profile. Next, in step 174, the configuration system may check the proposed configuration against any rules in the rules database for the selected parts. In particular, certain combinations of options may be valid separately, but become invalid (i.e., the configuration is not possible) when combined. For example, a specific sound card may be incompatible with a specific version of an operating system so the rule may be, "If the configuration includes the specific sound card and the specific version of the operation system, then alert the user of the incompatibility". In other cases, one part may require another part to function properly. For example, there may be three parts such as Part Number Part 11111 IDE Controller Card 22222 SCSI Hard Drive 33333 SCSI Controller Card and a rule may define a compatibility problem between parts 11111 and 22222 since a SCSI hard drive can not use an IDE controller card. Thus, whenever a proposed configuration contains parts 11111 and 22222, the configuration system may report the conflict and prompt the user with information to resolve the conflict (such as using the SCSI controller card in this example). The configuration system may also automatically resolve the conflict problem by choosing the next best configuration (based on the parts rankings and according to the user profile). In yet other cases, the number of spaces in the chassis may limit the number of a particular type of devices that may be part of a configuration. In step 176, the rule engine determines if any rule has been violated. If no rule has been violated, then in step 178, the configuration of the computer system is optimal and the rule checking method is completed. If a rule is violated, then in step 180, the rule engine may identify the conflicting parts and in step 182, may adjust the conflicting parts in order to avoid violating the rule. The configuration system may also prompt the user to make a choice to resolve the conflict as will be described below. Once the part has been adjusted, the rule checking method loops back to step 174 to recheck the rules database. Now, the user interactions with the rule checking process will be described. Figure 11 is a flowchart 190 illustrating the interactions of the user with the configuration system during the rule checking process. In step 192, the system checks for any rules associated with parts being selected and in step 194 checks for any rules violations. If there are no rules violations, the configuration process has been successful in step 196, but the user may wish to further change the configuration by moving a slider to change a part in step 198. If the user changes a part, the rule checking is performed again. If a rule has been violated at any time, in step 200, the user may be prompted on what rule has been violated and offered a solution to resolve the problem. Then in step 202, the configuration system may move the slider back to the original position so that no rule violations has occurred and the user may again attempt to change the configuration. Thus, in accordance with the invention, the configuration system may base a recommendation on a user's needs, but may also check rules to ensure the configuration does not cause a conflict. While the foregoing has been with reference to a particular embodiment of the invention, it will be appreciated by those skilled in the art that changes in this embodiment may be made without departing from the principles and spirit of the invention.

Claims: WHAT IS CLAIMED IS: 1. A system for automatically configuring a product for a user, comprising: an input receiving means for generating an interactive template and for gathering user supplied information from said interactive template about one or more attributes relating to a product; a user profile generating means for generating a user product profile based on said user supplied information; and a recommendation means for selecting a product configuration to recommend to the user based on the generated user profile. 2. The system of Claim 1, further comprising a configuration modification means for permitting said user to modify the attributes of said recommended product. 3. The system of Claim 2, wherein said configuration modification means includes a rule checking means for checking that a modification made to said recommended product by said user does not result in an incompatible configuration of said product. 4. The system of Claim 3, wherein the rule checking means comprises a rule engine for selecting a set of predetermined criteria of compatible product configurations, the criteria being selected from a rules database. 5. The system of Claim 3, wherein modifications are made to the recommended product by selecting a product component from a parts database. 6. The system of Claim 2, further comprising selection means for selecting product attributes of a product configuration. 7. The system of Claim 6, wherein the selection means comprises a set of one or more sliders, each slider being indicative of the relative importance of an associated product attribute to said user that can be selected by said user according to said product preferences. 8. The system of claim 6, further comprising storage means for storing said user profile so that a product may be recommended based on the stored user profile. 9. An electronic system having at least one host and at least one user, the system for automatically configuring a product for said user, comprising: a display means for relating information to said user; an input/output means for receiving and transmitting information between said host and said user; a memory device having embodied therein one or more portions of software code, said software code configured to provide an interactive means for permitting said user to interact with said host; and a processor in communication with said memory device, said processor configured to: request information about the product needs of said user; recommend a product to said user based on said user needs; and permit said user to modify said recommended product. 10. The system of claim 9, wherein said interactive means comprises a profile input region, a recommendation region and a configuration modification region. 11. The system of claim 9, wherein said profile input region comprises a dropdown menu region and a slider region. 12. The system of claim 11, wherein said dropdown menu region comprises one or more dropdown menus, each of said dropdown menus being associated with a specific query regarding the product needs of said user, said dropdown menus relating one or more responses to said associated query that can be selected by said user according to said product needs of the user. 13. The system of claim 12, wherein a base user profile is generated based on said user selected dropdown menu responses. 14. The system of claim 11 , wherein said slider region comprises a set of one or more sliders, each of said sliders being associated with a specific query regarding the product attribute preferences of said user, each slider being indicative of the relative importance of an associated product attribute to said user that can be selected by said user according to said product preferences. 15. The system of claim 12, wherein said base user profile is modified in accordance with said user selected slider responses, thereby generating a final user profile. 16. The system of claim 15, wherein said final user profile can be retained by said host so that the stored profile is used to configure products at different times. 17. The system of claim 10, wherein said recommendation region displays recommended products to said user based on said final user profile. 18. The system of claim 10, wherein said configuration modification region comprises a second set of one or more sliders associated with respective attributes of said product, said second set of sliders indicative of user selected attribute modifications to said product. 19. The system of claim 9, wherein said processor is further configured to check that a modification made to said product by said user does not result in an incompatible configuration of said product. 20. The system of claim 19, wherein said user is alerted to an incompatible configuration and thereby permitted to further modify said product to resolve said incompatible configuration. 21. A method for recommending a configuration of a product to a user, comprising: generating a user profile based on a user-defined needs definition; ranking product part attributes based on respective assigned values; and recommending a product configuration to said user that matches said user profile. 22. The method of claim 21 , wherein the product ranking step comprises: assigning an attribute to each part of a product; assigning a respective value to each of said assigned attributes; ranking available parts of said product in a related order; and storing said ranked available parts in a parts database. 23. The method of claim 22, wherein said related order is a percentage order. 24. The method of claim 21, further comprising the step of: checking said product configuration to ensure that said product configuration is not an incompatible product configuration. 25. The method of claim 24, wherein if said product configuration is an incompatible product configuration, automatically resolving said incompatibility by recommending a next best product configuration based on said user profile, by substituting said incompatible product part with an immediately successively ranked product part. 26. The method of claim 21, further comprising the step of: permitting said user to modify said recommended product configuration. 27. A computer program product, comprising: a computer usable medium having computer readable program code means embodied therein for automatically recommending a product configuration to a user, the computer readable program code means in said computer program product comprising: computer readable program code means for causing a computer to generate a user profile based on a user-defined needs definition; computer readable program code means for causing a computer to rank product part attributes based on respective assigned values; and computer readable program code means for causing a computer to recommend a product configuration to said user that matches said user profile. 28. The computer program product of claim 27, further comprising computer readable program code means for causing a computer to check said product configuration to ensure that said product configuration is not an incompatible product configuration. 29. The computer program product of claim 27, further comprising computer readable program code means for causing a computer to permit said user to modify said recommended product configuration.

Inventors: HALE MASON, PECKHAM DAVID, HALE, MASON, PECKHAM, DAVID
Applicants: FROG DESIGN INC, FROG DESIGN, INC.
Application year: 1999
Main classification: G06F19
IPC codes: G06F17, G06Q10, G06Q30