WO2000077666A2 - System and method for promising delivery of configured products - Google Patents
System and method for promising delivery of configured products Download PDFInfo
- Publication number
- WO2000077666A2 WO2000077666A2 PCT/US2000/016095 US0016095W WO0077666A2 WO 2000077666 A2 WO2000077666 A2 WO 2000077666A2 US 0016095 W US0016095 W US 0016095W WO 0077666 A2 WO0077666 A2 WO 0077666A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- user
- item
- available
- items
- selection
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
Definitions
- the present invention relates generally to electronic computer systems, and more specifically to systems and methods for automatic configuration of orders to ensure availability.
- these systems generally provide a configuration en ⁇ ine to assist the füraser in defininq and customizin ⁇ her product.
- an Available to Promise (ATP) engine ensures that all of the required components are available, and commits to a shipping date.
- the configuration engine also referred to as a configurator, contains a sometimes complex set of rules defining valid product configurations. Not all possible configurations of subsystems and components are allowed by the seller. For example, a company in the computer assembly industry can allow only selected combinations of processors, disk storage units, displays, and memory configurations. These limitations act as constraints on the selection of which components can be used to assemble the final product. Because even a relatively limited offering can give rise to a large number of possible component combinations, the logic required to perform the configuration function can be quite large and complex.
- an interface is provided to the configuration engine which enables component selections to be made. For example, the user can select a particular type of base computer system to be purchased. The configuration engine will then lead the purchaser through a series of selections to customize the final product as desired. Of course, the customer is entitled to select a predefined package, but it is often the case that one or more variations from the standard product is desired.
- the configuration engine submits the order to the manufacturer, which may be represented to the configuration engine as an Available to Promise engine.
- the ATP engine confirms the availability of all of the components required to assemble the product, including the availability of sufficient manufacturing resources to assemble the components into the final product. Some of the components and resources may not be available until some time in the future.
- the ATP system then confirms the order back to the purchaser at the user interface, provides a delivery date, and commits the components and resources at the manufacturing level.
- the purchaser receives a delivery date commitment which is later than desired. This can be due to shortages of certain components used in the ordered product, or unavailability of manufacturing facilities.
- the purchaser is generally dissatisfied with the result.
- the purchaser then goes through the selection process again to try to fashion a final product which meets his needs and is available in an acceptable time frame.
- the process may take several tries before an acceptable order is entered, and accepted by the manufacturer. It would be desirable to provide an order entry system which allowed for purchaser defined product ordering, but which minimizes the occurrence of order rejection. It would further be desirable for the configuration system to ensure timely commitment to delivery of orders.
- a system for committing to purchaser customized orders provides that only allowable and available configuration selections are presented to the user.
- a configuration engine is tightly coupled with an available to promise engine, which is accessed for component availability each time a set of selections is presented to the user. Only those components which will actually be available are presented for user selection, ensuring that a valid and available final configuration is assembled. If delivery dates are a constraint, only components which are actually available to promise by the desired delivery date are presented to the user as part of the selection set.
- FIG. 1 is a high level block diagram of an order entry system in accordance with the present invention.
- Figure 2 is a flowchart illustrating operation of a preferred embodiment of the order entry system of the invention.
- Figure 3 is a more detailed block diagram illustrating additional features of the preferred order entry system.
- the present invention is useful in the context of order entry for industries which allow product customization by customers, but is not limited to such applications.
- the examples and description below for purposes of illustration, assume that a user wishes to customize a single product, and that the product will be assembled, or assembly will be completed, only after an order is finally entered and committed.
- the customization process is assumed to allow a user to select items, or components, from lists of choices to provide the customized product. For each portion of the product which can be customized, one or more selections from a list will need to be made by the user.
- the delivery dates for the customized product are assumed to depend to some degree on the customized options selected. Thus, selection of a different group of options may shorten or extend the delivery date for the product. If the delivery date must be set, some choices may not be available for the user to select.
- a purchaser enters an order through a user interface 10.
- the user interface 10 is connected to a configuration engine 12, also referred to as a configurator, which provides the intelligence to restrict the selections made by the user to a set defined in advance by the manufacturer.
- the configuration engine 12 includes logic implementing a set of rules and relations defining the allowable configurations of components which may be selected by the user to configure products sold by the manufacturer.
- the configuration engine 12 is connected to an available to promise (ATP) engine 14.
- the ATP engine 14 includes a database which identifies all components and subsystems which are currently actually available, and the dates on which they can be shipped. Subsystems of components can be shipped only on the latest date all of the components which make up that subsystem are available. The ATP engine commits to dates on which the components and subsystems will be available to ship to the purchaser.
- a completed order was submitted to the ATP engine 14 by the configuration engine 12.
- the configuration and ATP engines 12, 14 are much more tightly coupled than in prior art systems.
- a request is made to the ATP engine 14 immediately before a selection is presented to the user.
- the configuration engine 12 determines a set of items to be presented for selection accordino to its defined rules. Each of the items in the set is communicated to the ATP engine 14, which returns an indication of availability and a delivery date for each item to the configuration engine 12.
- the configuration engine 12, through the user interface 10, then presents to the user only those items which are actually available for selection, and the earliest delivery date on which all selections are actually available. In other words, an individual item may be available earlier, but the product is not available until the latest delivery date of the items which make up the product.
- the term available does not necessarily mean that an item is currently in stock, but that it will be available by the time that it is needed.
- the ATP engine indicates that a component will be available in two weeks, that component may not yet be physically present, but is expected to be no later than two weeks from the present time.
- the process of committing to product shipments can extend of many levels of manufacturing, so that the final assembly entity assumes availability of products which are currently several levels down the manufacturing chain. So long as all manufacturers are able to meet their commitments, the products will actually be there when needed. Communication with suppliers to keep the incoming product pipelines full is one of the functions of the ATP engine.
- the configuration engine 12 determines a next set of items to be presented for selection. The above process is repeated until the product is completely configured. Once a final product configuration is obtained, it is submitted to the ATP engine for a commitment of the order. Because each selection was made from a list of items known to be available, the user is constrained to enter only valid and available product configurations. The only circumstance in which a final order can be rejected is if one or more items become unavailable between the initial selection of that item and final order commitment, which is a relatively unlikely event.
- FIG. 2 is a high level flowchart giving more details of the process outlined above. The following description assumes that only a single product is being configured, but the same steps are used when multiple products are purchased in a single order.
- the product to be purchased is selected by the user 20.
- the configuration engine contains sets of static configuration constraints for each product, and the appropriate static configuration is set up for the selected product. Unlike prior art systems, no static default selections are established for each item. Instead, defaults are preferably dynamically selected based upon an optimization function defined by the manufacturer and applied to the database of available items at run time. At any time, if the user wishes to accept the product, even if more choices can be made for some components, the user can end the configuration process and accept a complete product. If any additional constraints are to be applied to the WO 00/77666 PCT/USOO/l 6095
- the configuration engine determines a set of items to be presented to the user for selection 24.
- the initial set, and subsequent sets based upon earlier selections made by the user, are defined via constraints within the configuration engine in a manner known in the art.
- the ATP engine is queried to determine the actual availability of each of the items 26. This may be done by collecting all of the items into a group and making a single query, with the ATP engine returning a result data structure 28 containing an indication of availability and possible shipping date for each item.
- an implementation can move some constraints from the ATP engine to the configuration engine, but the conceptual operation is unchanged.
- Constraints suitable for moving to the configuration engine are those for items which have no shared dependencies, (ie, those items not used in more than one subassembly)
- the act of querying the ATP engine for availability does not enter an order and commitment transaction.
- the items which are the subject of the query are not reserved or committed at the time of the inquiry, but are only committed later at the time of final order entry. This could result in a user defining a product which is a valid, available configuration when defined, but which becomes unavailable by the time the final order is entered for confirmation and commitment.
- this approach avoids the problems which can occur as a result of committing each component as it is selected, followed by uncommitting these components later if the configuration is changed or no final order is entered.
- a reasonably intelligent ATP engine When the actual supply of a component runs low, or the expected availability of that component in the future becomes borderline or uncertain, the ATP engine can treat the situation as one in which the component is simply unavailable. Additionally, a high level of enquiries for a component indicates that orders will probably be placed against the components very soon, so that tracking such enquiries may indicate that a component should be indicated as unavailable even though the number of actual commitments has not depleted the supply. Good requirements planning will also minimize any problems.
- a list of valid, available selections is presented 30 to the user.
- an indication is made to the user of the available shipping date for each selection. This allows the user to see the impact on delivery of decisions made during configuration.
- this constraint is used to further prune the list of valid selections before presentation to the user.
- the configuration engine considers as unavailable any component which is only available after the required shipping date. This may mean that less configurations are available for the user than is the case with unrestricted dates, but the user can balance desired delivery dates against the possibility of more options to choose from.
- the user selects one of the available options from the list, which the configuration engine accepts 32 and uses to update the product configuration 34.
- the updated product configuration may impose additional constraints on later choices, and may also make additional choices available. For example, if a user is configuring a truck, selection of a larger engine may make future selections of tires and fuel tank available which would not be the case if a smaller engine were selected. If a selection will make additional selections necessary to completely define a product, additional default selections will be added to the configuration as well. As was the case with step 20, this ensures that a complete product configuration is always defined.
- the configuration engine determines the next set of items for selection 24 and repeats the process. Earlier selections modify the initial constraints as described above. Once the last selection has been made (step 36), or if at any time the user indicates that for the remaining selections the defaults are acceptable, a completed order for the product is submitted to the ATP engine 38. This submission is different from the previous enquiries for availability, in that order submission causes the ATP engine to commit the necessary components and resources required to assemble the product. If component or resource availability have changed during the configuration process, it is possible that the ATP engine may not be able to commit to the final order, or that the commit date will be later than previously determined. Because this is a relatively unlikely event, the preferred embodiment provides for no commitment until the final order is entered, rather than committing resources and components during the configuration process, which may have to be undone relatively more often.
- Figure 3 illustrates additional details of the preferred coupling between the configuration engine 12 and the ATP engine 14.
- Several configuration options 50 are part of an option group 52.
- Each configuration option corresponds to an orderable item 54, which may have additional orderable options descending from it in a chain. These represent related items which must be checked to ensure availability, as described below.
- the option group 52 is a set of items available for selection according to the static rules of the configuration engine 12. The list of items presented to the user will come from this group 52. Once a group of configuration options is determined by the configuration engine 12 to be the set from which the user is to select next, the corresponding orderable items are communicated to an ATP server 56 through an asynchronous multiplexor 58.
- ATP engine 14 is depicted as divided into several parts, the details of this division are dependent upon the particular implementation. Smaller applications can be implemented on a single piece of hardware, while very large applications will need to be spread across multiple machines in order to obtain reasonable response times.
- Figure 3 shows ATP engine 14 as implemented on two separate servers 56, 57. Other configurations can be used as desired.
- the request made of the first ATP server 56 is for availability of manufacturable items corresponding to the orderable item.
- An example of such a relationship would be a 4 gigabyte hard drive as an orderable item, with drives from two or more different manufacturers being manufacturable items corresponding to the same orderable item. If more than one manufacturable item can be used to satisfy a request for an orderable item, these are referred to as alternate manufacturable items.
- an orderable item will be a subassembly, which in turn is made up of various items and alternate items.
- the parts of the subassembly may or may not be separately orderable by the user, but in the context of parts to be assembled into an orderable item, they are not.
- a user selects a disk drive unit, several drives may be available to satisfy the request for an orderable item.
- different controllers may be available for use with the drive unit, and the controllers which can be used may be different for each drive.
- the user may order a disk drive, and any valid combination of drive units and controllers can be used to satisfy the request.
- Figure 3 illustrates, in ATP server 56, three orderable items 54.
- One of these items can be satisfied by three alternative manufacturable items 60.
- One of the alternative manufacturable items 60 in turn may be satisfied by either generic manufacturable item 62, one of which may be satisfied by either manufacturable item 64.
- the tree of items which can be used to satisfy a re ⁇ uest for an orderable item 54 depends on which items are available to the manufacturer. Determining whether an orderable item is available is determined by traversing the tree to determine whether any set of components or alternatives which make up that orderable item are all available.
- ATP server 56 Once ATP server 56 has determined the availability of the various requested components, it returns this information, along with available delivery dates, to the configuration engine 12. The configuration engine 12 then compares the list of available items against any additional constraints, such as required product delivery dates, and presents a selection list to the user through the user interface as described above.
- each request to the ATP engine 14 includes availability of only the particular items to be presented to the user in the selection list immediately being prepared for presentation.
- This approach requires that all related components, which may be required if an item is selected, to be checked for availability at the same time that an item is checked. This checking can be carried through a graph of items to ensure that, if an item is selected, all related items are also available and a valid configuration is possible. If the necessary related items are not available, the item is also marked as unavailable.
- the configuration engine 12 be aware of all constraint interrelationships between selectable items. Thus, if selection of an item requires certain minimum product capabilities, the availability of all of the items needed to supply these capabilities will be requested at the same time from the ATP engine 14. This will ensure that if a configuration is determined to be available and presented to the user, all required related subsystems are also available. This is the case even if some of the required related systems will be the object of a user selection at some later time.
- the configuration engine 12 will confirm the availability of a sufficiently large system memory component before the display selection is presented to the user, even though the user will separately select system memory at a later time. This ensures that at least one appropriate system memory selection is available when that selection is to be made in the future.
- the earlier selection of the display will add a constraint to the later selection of system memory, and checking on availability of the required system memory at the earlier stage will ensure that at least one valid selection can be made at the time of the later selection.
- the order confirmation system of the present invention is easily adapted to available systems. Further, it can be used on a system which must be widely distributed. It is not necessary for the user interface 10, configuration engine 12, and ATP engine 14 to be located together because the data that is passed between them is minimal. Simple messages giving requests and results do not require very much to be communicated; the more difficult computations are encapsulated within each separate engine.
- the user interface can communicate with the configuration engine over a low bandwidth connection, such as a modem connection or a network such as the internet. This allows multiple remote users to configure products from a manufacturer over the internet or other communications system.
Landscapes
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- General Factory Administration (AREA)
Abstract
Description
Claims
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU56075/00A AU5607500A (en) | 1999-06-14 | 2000-06-12 | System and method for promising delivery of configured products |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US33389599A | 1999-06-14 | 1999-06-14 | |
US09/333,895 | 1999-06-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2000077666A2 true WO2000077666A2 (en) | 2000-12-21 |
WO2000077666A8 WO2000077666A8 (en) | 2001-11-29 |
Family
ID=23304699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2000/016095 WO2000077666A2 (en) | 1999-06-14 | 2000-06-12 | System and method for promising delivery of configured products |
Country Status (3)
Country | Link |
---|---|
AU (1) | AU5607500A (en) |
TW (1) | TW480411B (en) |
WO (1) | WO2000077666A2 (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002054726A1 (en) * | 2000-12-29 | 2002-07-11 | Vertu Ltd. | Casing for a mobile telephone |
WO2002054729A1 (en) * | 2000-12-29 | 2002-07-11 | Vertu Ltd. | Method of producing a telephone device |
WO2002054727A1 (en) * | 2000-12-29 | 2002-07-11 | Vertu Ltd | Casing for a mobile telephone |
WO2002054730A1 (en) * | 2000-12-29 | 2002-07-11 | Vertu Ltd | Method of producing a telephone device |
WO2002054731A1 (en) * | 2000-12-29 | 2002-07-11 | Vertu Limited | Method of producing a telephone device |
US7234421B2 (en) | 2001-03-22 | 2007-06-26 | Nokia Corporation | Animal data gathering method and device |
US7375973B2 (en) | 2000-12-29 | 2008-05-20 | Vertu Limited | Casing for a communication device |
US7693557B2 (en) | 2000-12-29 | 2010-04-06 | Nokia Corporation | Method of producing a telephone device |
US7830671B2 (en) | 2000-12-29 | 2010-11-09 | Vertu Limited | Casing |
-
2000
- 2000-06-12 WO PCT/US2000/016095 patent/WO2000077666A2/en active Application Filing
- 2000-06-12 AU AU56075/00A patent/AU5607500A/en not_active Abandoned
- 2000-07-10 TW TW89111611A patent/TW480411B/en not_active IP Right Cessation
Non-Patent Citations (1)
Title |
---|
No Search * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002054726A1 (en) * | 2000-12-29 | 2002-07-11 | Vertu Ltd. | Casing for a mobile telephone |
WO2002054729A1 (en) * | 2000-12-29 | 2002-07-11 | Vertu Ltd. | Method of producing a telephone device |
WO2002054727A1 (en) * | 2000-12-29 | 2002-07-11 | Vertu Ltd | Casing for a mobile telephone |
WO2002054730A1 (en) * | 2000-12-29 | 2002-07-11 | Vertu Ltd | Method of producing a telephone device |
WO2002054731A1 (en) * | 2000-12-29 | 2002-07-11 | Vertu Limited | Method of producing a telephone device |
US7375973B2 (en) | 2000-12-29 | 2008-05-20 | Vertu Limited | Casing for a communication device |
US7693557B2 (en) | 2000-12-29 | 2010-04-06 | Nokia Corporation | Method of producing a telephone device |
US7830671B2 (en) | 2000-12-29 | 2010-11-09 | Vertu Limited | Casing |
US7234421B2 (en) | 2001-03-22 | 2007-06-26 | Nokia Corporation | Animal data gathering method and device |
Also Published As
Publication number | Publication date |
---|---|
TW480411B (en) | 2002-03-21 |
AU5607500A (en) | 2001-01-02 |
WO2000077666A8 (en) | 2001-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7039602B1 (en) | Configuring products with default sections determined according to optimization functions | |
US8639586B2 (en) | Inventory sales system and method | |
US11663647B2 (en) | User-specific rule-based database querying | |
US6470323B1 (en) | Goods sales management system | |
US8751334B2 (en) | Item substitution for unavailable items relating to a customer order | |
US8112317B1 (en) | Providing substitute items when ordered item is unavailable | |
US8694429B1 (en) | Identifying and resolving discrepancies between purchase documents and invoices | |
US8285573B1 (en) | Prioritizing orders/receipt of items between users | |
US20140052561A1 (en) | Method and apparatus for efficiently responding to electronic requests for quote | |
US20020178014A1 (en) | Method and system for providing online comparison shopping | |
US20020198756A1 (en) | Resource capacity collaboration | |
EP1518201A2 (en) | Method system and computer program product for dynamic construction of packages and optimal assignement of generated packages to shopping categories | |
US20040002898A1 (en) | Product order optimization in real time based on component information | |
CN1656496A (en) | Supply chain reservation | |
KR20020026868A (en) | Inventory allotment managing method and inventory allotment managing system | |
WO2000072210A1 (en) | Customer lead management system | |
US20050044069A1 (en) | Commercial data registry system | |
WO2000077666A2 (en) | System and method for promising delivery of configured products | |
US20230419387A1 (en) | User-Specific Rule-Based Database Querying | |
US7197482B2 (en) | Method and apparatus for customer storefront operations | |
US20040260570A1 (en) | Method and system for transfer of orders from an order management system to an electronic marketplace | |
CN113762548B (en) | Data processing method and device | |
GB2372852A (en) | Product ordering system | |
WO2006002699A2 (en) | Product modelling | |
Barrias et al. | Smart Pantry: specification of a management system using UML |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
AK | Designated states |
Kind code of ref document: C1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: C1 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
D17 | Declaration under article 17(2)a | ||
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase in: |
Ref country code: JP |