WO2000067175A1 - Computer system with program configurations and methods for a store - Google Patents

Computer system with program configurations and methods for a store Download PDF

Info

Publication number
WO2000067175A1
WO2000067175A1 PCT/US2000/011662 US0011662W WO0067175A1 WO 2000067175 A1 WO2000067175 A1 WO 2000067175A1 US 0011662 W US0011662 W US 0011662W WO 0067175 A1 WO0067175 A1 WO 0067175A1
Authority
WO
WIPO (PCT)
Prior art keywords
signal
instruction set
instruction
customer
sending
Prior art date
Application number
PCT/US2000/011662
Other languages
French (fr)
Inventor
Ken R. Powell
Eleanor B. Maxwell
Corey C. Snook
Original Assignee
Softcard Systems, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/301,749 external-priority patent/US7085731B1/en
Application filed by Softcard Systems, Inc. filed Critical Softcard Systems, Inc.
Priority to AU46829/00A priority Critical patent/AU4682900A/en
Priority to CA002371678A priority patent/CA2371678A1/en
Publication of WO2000067175A1 publication Critical patent/WO2000067175A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/387Payment using discounts or coupons
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07GREGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
    • G07G1/00Cash registers
    • G07G1/0036Checkout procedures

Definitions

  • This invention relates generally to a store and, more particularly, to a computer system configuration and method for processing discount information in a retail store.
  • Product promotions employing price discounts are a popular means to stimulate sales of products such as grocery store items.
  • One type of product promotion is a discount coupon. It has been estimated that in-store couponing coupled with advertising increases sales by 544%.
  • the system comprises a plurality of register stations, each register station including a bar code reader that generates a first signal identifying a product selected by the customer; a first instruction set with a first instruction location signal; and a signal path that transfers the first signal to the first instruction set, wherein register station is associated with a respective second instruction set, with a respective second instruction location signal, that sends a second signal to the first instruction set; and a signal path that transfers the first signal from the bar code reader to the second instruction set, and wherein the first instruction set includes logic that determines a total amount due, by receiving the first signal and second signals.
  • a method in a system including a store with a plurality of products, and a plurality of register stations, each including a bar code reader, and a first instruction set with a first instruction location signal, wherein the system further includes a plurality of second instruction sets, each with a respective second instruction location signal.
  • the method comprises the steps, performed in each register station to perform a checkout transaction for a customer, of using the bar code reader to generate a first signal identifying a product selected by the customer; sending the first signal to the first instruction set; and sending the first signal to a respective one of the second instruction sets, and the method further includes subsequently sending, from the respective one of the second instruction sets, a second signal to the first instruction set; and determining, in the first instruction set, a total amount due from the customer, by receiving the first signal and second signals.
  • Fig. 1 is a schematic diagram of a retail system in accordance with a first preferred embodiment of the present invention.
  • Figs. 2A and 2B are another type of view of a retail store in the first preferred embodiment.
  • Figs. 3A and 3B are the other type of view of another part of the retail store.
  • Fig. 4 is a flow chart of a process performed by the first preferred embodiment.
  • Fig. 5 is a block diagram of the first preferred computer system.
  • Fig. 6 is a block diagram of a checkout station in the first preferred embodiment.
  • Fig. 7 is a flow chart of a processing performed by a part of the checkout station.
  • Fig. 8 is a flow chart of a processing performed by a part of the checkout station.
  • Fig. 9 is a flow chart of a processing performed by a part of the checkout station.
  • Fig. 10 represents a content of a customer card.
  • Fig. 11 represents a table employed by the checkout station to process coupon redemptions.
  • Fig. 12 and 12B are a view of a part of a retail store in accordance with a second preferred embodiment of the present invention.
  • Fig. 13 is a block diagram of the second preferred computer system.
  • Fig. 14 is a block diagram of a check out station in the second preferred computer system.
  • Fig. 15A and 15B are a view of a retail store in accordance with a third preferred embodiment of the present invention.
  • Fig. 16 is a block diagram of the third preferred computer system.
  • Fig. 17 is a block diagram of a check out station in the third preferred embodiment.
  • Fig. 18 A and 18B are a view of a retail store in a fourth preferred embodiment of the present invention.
  • Fig. 19 is a block diagram of the fourth preferred computer system.
  • Fig. 20 is a block diagram of a checkout station in the fourth preferred embodiment.
  • FIG. 1 shows a store 1 including roof structure 6, computer network 7 under roof structure 6, in accordance with a first preferred embodiment of the present invention.
  • Roof structure 6 includes roof section 4, window 5 coupled to roof section 4, and roof section 3 coupled to window 5.
  • Figs. 2A, 2B, 3 A, and 3B are each a partial view of store 1.
  • Store 1 has a plurality of product areas, each corresponding to a respective product.
  • product area 1 10 has bottles 1 12 of Delta brand detergent.
  • Each bottle of detergent 1 12 has a common Universal Product Code (UPC) symbol, which is a group of parallel lines encoding a number that is part of a product identification system documented by the Uniform Code Council, Inc., Dayton, OH.
  • the first digit is a number system character, which in this case is 0.
  • the next five digits are a manufacturer ID.
  • the next 5 digits are an item number.
  • UPC Universal Product Code
  • UPC product code 0 17075 00003 3 uniquely identifies Delta Detergent.
  • Product area 120 has boxes of pasta 122. Each box of pasta 122 has a common UPC symbol encoding a UPC product code (0 17031 00005 3) uniquely identifying Old World pasta.
  • Product area 130 has boxes of light bulbs 132. Each box of light bulbs 132 has a common UPC symbol encoding a UPC product code (0 17054 1017 6) uniquely identifying Lighthouse light bulbs.
  • other product areas in store 1 each have a set of respective products contiguously grouped together.
  • Respective units of a certain product have a common UPC symbol, different from UPC symbols on units of other products, that uniquely identifies the certain product.
  • Respective units of a certain product also have a common human readable word label, different from labels on units of other products, that uniquely identifies the certain product with words.
  • Product area 140 has bottles of ABC brand ketchup 142 contiguously grouped together.
  • Product area 150 has boxes of Fido brand dog food 152 contiguously grouped together.
  • Product area 160 has loaves of Boxer brand bread 162 contiguously grouped together.
  • Product area 170 has cartons of Clover brand milk 172 contiguously grouped together.
  • Product area 180 has packages of Chicago brand bacon 182.
  • Product area of 190 has packages of Clover brand butter 192 contiguously grouped together.
  • customer card 215 is approximately the length and width of a typical financial credit card.
  • each of customers 210, 220, 230, 250, and 280 carries his or her respective customer card.
  • Customer 210 carries card 215, customer 220 carries card 225, customer 230 carries card 235, customer 250 carries card 255, customer 280 carries card 285.
  • Each customer tows a shopping cart to hold selected products.
  • Each customer removes one or more desired products from a shelf and places the removed product into her cart.
  • the customer Upon completion of shopping, the customer brings selected products from the shelves to checkout station 300, 301, or 302.
  • a customer may redeem electronic coupons by presenting her customer card for insertion into smart card reader/writer 315.
  • customer 280 completes the purchase of her selected products 283 by transferring products 283 from her cart 282 to station 300, and by presenting card 285;
  • customer 390 completes the purchase of her selected products 393 by transferring products 393 from her cart 392 to station 301 , and by presenting card 395;
  • customer 490 completes the purchase of his selected products 493 by transferring products 493 from his cart 492 to station 302, and by presenting card 495;
  • customer 480 completes the purchase of his selected products 483 by transferring products 483 from his cart 482 to station 302, and by presenting card 485.
  • Customer 210 completes the purchase of her selected products 214 by transferring products 214 from her cart 212 to station 300, and by presenting card 215 for insertion into card interface slot 314.
  • circuitry encompasses dedicated hardware, and/or programmable hardware, such as a central processing unit (CPU) or reconfigurable logic array, in combination with programming data, such as sequentially fetched CPU instructions or programming data for a reconfigurable array.
  • CPU central processing unit
  • reconfigurable logic array in combination with programming data, such as sequentially fetched CPU instructions or programming data for a reconfigurable array.
  • each of these customers obtained a customer card.
  • customer 230 obtained customer card 235 from a bank, by completing an application.
  • the application contained questions to collect demographic data, including birth date, income level, past buying patterns, geographic location, size of family, level of education, and job-related data.
  • the bank subsequently wrote customer identification data for customer 230 onto customer card 235, and issued customer card 235 to customer 230, and sent the customer's demographic data to headquarters site 13100 (see Fig. 25) which then stored the demographic data on a magnetic disk in center 13100.
  • headquarters site 13100 see Fig. 25
  • Each of customers 210, 220, 250, 280, and 290 obtained a respective customer card in a similar manner.
  • Fig. 4 shows a process performed by the preferred embodiment embodiments of the present invention. While shopping in store 1 , each of customers 210, 220, 230, 250, 280, and 290 carries his or her respective customer card. Customer 210 carries card 215, customer 220 carries card 225, customer 230 carries card 235, customer 250 carries card 255, customer 280 carries card 285, and customer 290 carries card 295. Each customer tows a shopping cart to hold selected products. Customer 210 tows cart 212, customer 220 tows cart 222, customer 230 tow cart 232, customer 250 tows cart 252, customer 280 tows cart 282, and customer 290 tows cart 292. Each customer removes one or more desired products from a shelf and places the removed product into her cart, (step 15). Upon completion of shopping, the customer brings selected products from the shelves to checkout station 300, 301, or 302. (step 17).
  • the customer redeems the electronic coupons by presenting her customer card for insertion into smart card reader/writer 315.
  • a customer such as customer 290 completes the purchase of her selected products 293 by transferring products 293 from her cart 292 to station 300, and by presenting card
  • customer 280 completes the purchase of her selected products 283 by transferring products 283 from her cart 282 to station 300, and by presenting card 285
  • customer 390 completes the purchase of her selected products 393 by transferring products 393 from her cart 392 to station 301, and by presenting card 395
  • customer 380 completes the purchase of his selected products 383 by transferring products 383 from his cart 382 to station 301, and by presenting card 385
  • customer 490 completes the purchase of his selected products 493 by transferring products 493 from his cart 492 to station 302, and by presenting card 495
  • customer 480 completes the purchase of his selected products 483 by transferring products 483 from his cart 482 to station 302, and by presenting card 485
  • customer 470 completes the purchase of his selected products 473 by transferring products 473 from his cart 472 to station 302, and by presenting card 475.
  • Customer 210 completes the purchase of her selected products 214 by transferring products 214 from her cart 212 to station 300, and by presenting card 215 for insertion into card interface slot 314. It is presently preferred that card insertion occur at the beginning of the checkout transaction, although card insertion could happen later.
  • Reader/writer 315 reads the coupon offers from the card, (step 20).
  • a checkout clerk (not shown) scans each selected product past bar code reader 310, or enters the product selection information manually via keyboard 318, to generate a UPC product code for the most recently processed product.
  • Checkout station 300 sends this UPC product code to both execution thread 330 and execution thread 320.
  • Execution thread 330 makes a list of the products selected by the customer. Execution thread 330 processes the paper coupon information in the context of the selected products to determine discount eligibility.
  • Execution thread 320 is also responsive to products selected by the customer. Execution thread 320 makes a list of the products selected by the customer. Execution thread 320 performs electronic coupon redemption, by processing the selected products in the context of the coupon information from the customer's card to determine discount eligibility (step 30).
  • checkout station 300 determines a total amount due and prints the total amount due on display 317 and on the customer's paper receipt, (step 35).
  • Execution thread 330 determines a basic price for the product by processing a pricing information message received from financial computer 40, via cable 8. Execution thread 330 scans and processes each product 293 in a similar manner.
  • customer 390 in Fig. 3 A will complete the purchase of her selected products 393 by transferring products 393 from her cart 392 to station 301, and by presenting card 395 for insertion into interface slot 314 of station 301 ; and the clerk will scan each selected product 393 past UPC bar code reader 310.
  • Customer 490 in Fig. 3B will complete the purchase of his selected products 493 by transferring products 493 from his cart 422 to station 302, and by presenting card 495 for insertion into interface slot 314 of station 302; and the clerk (not shown) will scan each selected product 493 past UPC bar code reader 310 of station 302.
  • Fig. 5 shows another aspect of the first preferred system.
  • Local Area Network (LAN) 7 in store 1 includes ethernet cable 8, financial computer 40, station 300, station 301, and station 302.
  • Each of stations 300, 301, and 302 includes a respective bar code reader 310.
  • Execution thread 330 is in checkout station 300
  • execution thread 331 is in checkout station 301
  • execution thread 332 is in checkout station 302.
  • Each of computer 40 and stations 300, 301, and 302 has a respective network address uniquely identifying it in network 7.
  • Each of computer 40 and stations 300, 301, and 302 has a respective network interface card for recognizing when a packet containing its address is sent over cable 8.
  • Computer 40 and threads 330, 331, and 332 communicate by sending data packets in a format conforming to the communication protocol of network 7, meaning, for example, that the packet has a destination address field offset a certain number of bits from the start of the packet, and that the destination address field has a certain number of bits.
  • Each packet is essentially a type of signal.
  • Fig. 6 is a block diagram of checkout station 300.
  • Cash register keyboard 318 allows manual entry of alpha-numeric-data.
  • Disk 325 provides long term storage.
  • Bar code reader 310 generates a bar code signal, and sends the bar code signal to thread 330 via bus 351.
  • Poll display 317 displays product data in response to signals from thread 330.
  • CPU 350 executes instructions in random access, addressable memory 323.
  • CPU 350 executes operating system 305 to run one of programs 342 or 343 at a particular time.
  • CPU 350 and operating system 305 execute program 342 to effect execution thread 330.
  • CPU 350 and operating system 305 execute program 343 to effect execution thread 320, as a thread separate from thread 330.
  • Execution thread 330 includes program 343, which is essentially a plurality of instructions, sequentially fetched and executed by CPU 350, and a program counter (PC) 363 indicating a next instruction to be executed in program 343.
  • PC program counter
  • Operating system 305 manages PC 363.
  • Execution thread 320 includes a program 342, which is essentially a plurality of instructions, sequentially fetched and executed by CPU 350, and a program counter (PC)
  • the single CPU 350 may execute each of programs 342 and 343 essentially concurrently, by using a time sharing scheme, in which CPU 350 executes one program for a time, ceases execution of the program, saves the current PC and other state information for the program, and resumes execution of a previously saved program at the instruction indicated by the saved PC of the previously saved program.
  • Programs 342 and 343 run in a common address space, meaning that a certain address in one of the programs accesses the same memory location than the certain addresses accesses in the other program.
  • each thread is essentially a computation that proceeds independently of the other thread, except for execution of synchronizing or blocking instructions.
  • random access memory 323 may be transferred between memory 323 and disk memory 325 using a virtual memory mapping scheme, as is well known in the art.
  • Execution thread 320 acts to receive electronic coupons from a customer card, via reader/writer 315.
  • Memory 323 also includes a redemption control table 347, which enables Execution thread 320 to determine if a product has a corresponding electronic coupon offer.
  • Checkout stations 301 and 302 each have the same capabilities and hardware as checkout station 300.
  • Fig. 7 represents a basic process performed by execution thread 330, effected by CPU 350 and program 343.
  • thread 330 initializes various customer lists, including a list of products selected by the customer, (step 5).
  • thread 330 determines whether bar code reader 310 has data, (step 10). If bar code reader 310 has data, thread 330 passes control to a subprogram of program 343 to handle data from bar code reader 310. (step 15).
  • thread 330 determines whether keyboard 318 has data, (step 20). If thread 330 determines that keyboard 318 has data, thread 330 passes control to a subprogram of program of 343 for handling input from keyboard 318. (step 25).
  • Fig. 8 shows processing of step 15 of Fig. 7 in more detail.
  • UPC reader 310 detects the bar code on the object and sends the bar code to program 343. If a bar code has been received and the first digit is a 5 (step 5), program 343 exchanges messages with computer 40 to get the discount corresponding to the UPC coupon code. Program 343 then makes a record including the coupon and the discount amount, and adds this record to a temporary UPC coupon list 344 in memory 323 (step 10).
  • Program 343 gets the price of the product, the UPC coupon family code of the product, and the textual description of the product, (step 15).
  • Program 343 then sends a signal encoding the textual description of the product to display 317, and display 317 generates a human readable output describing the product, (step 20).
  • Fig. 9 shows a processing of step 25 of Fig. 7 in more detail. If the clerk enters a key sequence for processing a coupon code, program 343 exchanges messages with computer 40, to get the discount corresponding to the UPC coupon code. Program 343 then makes a record including the coupon and the discount amount, and adds this record to the UPC coupon list 344 in memory 20 (step 10).
  • program 343 gets the price of the product, the UPC coupon family code of the product, and the textual description of the product, (step 25). Program 343 then sends a signal encoding the textual description of the product to display 317, and display 317 generates a human readable output describing the product (step 30).
  • program 343 adds the value of the tender to a total discount amount, to offset a subsequently calculated amount due (step 32).
  • program 343 determines the total amount due for the checkout transaction, by subtracting the total discount amounts from the results of a total product price calculation, (step 40).
  • Program 343 displays the resulting total amount due on display 317 (step 45). Part of the processing of step 15 of Fig. 28 and step 25 of Fig. 9 is to sends the UPC product code to program 342.
  • sending of the UPC product code to program 342 be implemented by sending the product code in a shared buffer, or by sending the product code in a message using a messaging facility of operating system 305.
  • Execution thread 320 communicates with a card in interface slot 314 through smart card reader/writer 315.
  • a switch (not shown) in interface slot 314 alerts reader/writer 315, which alerts execution thread 320, that a card has been inserted into the slot.
  • Execution thread 320 causes smart card reader/writer 315 to reset the card. The card then answers the reset by sending an ''answer to reset" data block in accordance with the ISO standard ISO 7816-3: 1989 (E).
  • Execution thread 320 then reads a customer card ID record, via reader/writer 315.
  • Execution thread 320 then reads a pointer record and. using the pointer record, reads table 8435 from an EEPROM of the customer card, and temporarily stores table 8435 contents in memory 333.
  • Fig. 10 shows coupon table 8435, which is in a data structure within other data structures in EEPROM 8462 of customer card 215.
  • Each row in Fig.20 represents an entry in table 8435.
  • Each entry includes a 4 hexadecimal digit coupon number.
  • Table 8435 has three entries, reflecting the fact that customer 210 has received three electronic coupons from coupon dispensing devices.
  • the entry having the coupon number 1317 corresponds to a coupon for purchase of a box of Old World Pasta 122.
  • the entry having the coupon number 0054 corresponds to a coupon for purchase of a box of Lighthouse Light Bulbs 134.
  • the entry having the number 3656 corresponds to a coupon for purchase of detergent bottles 1 12.
  • Each of the customer cards has the same hardware structure as customer card 215. Fig.
  • FIG. 11 is a simplified diagram of redemption control table 347. Each row in Fig. 11 represents an entry in redemption control table 347, and each of the 4 columns shown represents an entry field.
  • the first field is a coupon identifier (ID)
  • the second field is a UPC product code corresponding to the coupon ID.
  • Redemption control table 347 is sorted by UPC product code.
  • the third field is a reward type.
  • a reward type of 2 represents a percent off coupon, and a reward type of 0 represents a cents off coupon.
  • the fourth field in Fig. 11 is the reward quantity.
  • the first entry shows a reward quantity of 20 percent, as the reward type field is 2.
  • the second entry shows a reward quantity of 75 cents off as the reward type is 0.
  • the third entry shows a reward of 50 cents off, as the reward type is 0.
  • Execution thread 320 When Execution thread 320 receives a product message containing a product UPC code from Program 343, Execution thread 320 searches for the product UPC code in redemption control table 347. If this search of table 347 does not result in a match, there is not discount resulting from the current product. If this search of table 347 does result in a match, Execution thread 320 searches coupon table 8435, from the customer card, for the value in the coupon ID field of the matching entry in table 347. If this search of table 8435 does not result in a match, there is no discount resulting from the current product.
  • DISCOUNT_TENDER_PRETAX If the qualifier are satisfied and the coupon is a retailer coupon, the coupon quantity is added to a variable DISCOUNT_TENDER_POSTTAX.
  • thread 320's processing, of the product UPC messages received from thread 330 iterates through each combination of coupon and product. Essentially, this iteration is performed with products changing in an outerloop and coupons changing in an innerloop.
  • Execution thread 320 sends discount information to thread 330, in the form of messages reflecting values of DISCOUNT TENDER PRETAX, and containing information to be displayed to the customer.
  • thread 330 adds to a total discount amount and may print text on printer 354.
  • Execution thread 320 sends discount information to thread 330, in the form of messages reflecting values of DISCOUNT TENDER POSTTAX, and containing information to be displayed to the consumer.
  • thread 330 adds to a total discount amount, and may print text on printer 354.
  • thread 320 send discount information messages to thread 330 in a shared buffer, or by sending the discount information using a messaging facility of operating system 305.
  • a signal path that carries a UPC product code from bar code reader 310 to program 343 includes interface hardware 311, bus 351, and CPU 350.
  • a signal path that carries the bar code signal from reader 310 to program 342 includes interface hardware 311, bus 351, CPU 350, and program 343.
  • Headquarters site 13100 may manage and send flights of electronic coupon data to systems 320, 321, and 322 by way of computer 42 or a system program card.
  • a type of system program card is disclosed in copending application of KEN R. POWELL,
  • a customer may start shopping with a customer card preloaded with electronic coupons. For example, the store may preload new cards as an incentive for completing and submitting a check cashing application. The customer may also have a device at home for loading coupons onto the card, as described in U.S. Patent No. 5,806,044 issued September 8, 1998 of KEN R.
  • the second preferred embodiment includes the features of the first preferred embodiment, except for differences as described below.
  • Figs. 12A and 12B are each a partial view of store 1'.
  • Fig. 13 shows another aspect of the second preferred system.
  • Execution thread 330' is in checkout station 300'
  • execution thread 331' is in checkout station 301'.
  • execution thread 332' is in checkout station 302'.
  • Fig. 14 a block diagram of checkout station 300'.
  • CPU 350 executes instructions in random access, addressable memory 323.
  • CPU 350 executes operating system 305' to run one of application programs 342' or
  • CPU 350 and operating system 305 execute application program 342' to effect execution thread 330'.
  • CPU 350 and operating system 305 execute application program 343' to effect execution thread 320'. as a thread separate from thread 330'.
  • Execution thread 330' includes application program 343', which is essentially a plurality of instructions, sequentially fetched and executed by CPU 350, and a program counter (PC) 363 indicating a next instruction to be executed in application program 343'.
  • Operating system 305' manages PC 363.
  • Execution thread 320' includes application program 342', which is essentially a plurality of instructions, sequentially fetched and executed by CPU 350, and a program counter (PC) 362 indicating a next instruction to be executed in application program 342'.
  • Operating system 305' managers PC 362 independently of PC 363.
  • the single CPU 350 may execute each of application programs 342' and 343' essentially concurrently, by using a time sharing scheme, in which CPU 350 executes one application program for a time, ceases execution of the application program, saves the current PC and other state information for the application program, and resumes execution of a previously saved application program at the instruction indicated by the saved PC of the previously saved application program.
  • Application programs 342' and 343 ' run in separate address spaces, meaning that a certain address in one of the application programs accesses a different memory location than the certain addresses accesses in the other application program.
  • a signal path that transfers a UPC product code from bar code reader 310 to application program 343' includes interface hardware 311, bus 351, and CPU 350.
  • a signal path that carries the UPC bar code from reader 310 to application program 342' includes interface hardware 311, bus 351, CPU 350, and application program 343'.
  • each thread is essentially a computation that proceeds independently of the other thread, except for execution of synchronizing or blocking instructions.
  • Execution thread 320' acts to receive electronic coupons from a customer card, via reader/writer 315.
  • Memory 323 also includes a redemption control table 347, which enables Execution thread 320 to determine if a product has a corresponding electronic coupon offer.
  • Execution thread 320' in the second embodiment performs essentially the same processes as those described in connection with execution thread 320 in the first embodiment.
  • Execution thread 330' in the second embodiment performs essentially the same processes as those described in connection with execution thread 330 in the first embodiment.
  • Checkout stations 301' and 302' each have the same capabilities and hardware as checkout station 300'.
  • the third preferred embodiment includes the features of the first preferred embodiment, except for differences as described below.
  • Figs. 15A and 15B are each a partial view of store 1".
  • Fig. 16 shows another aspect of the third preferred system. Execution thread 330" is in checkout station 300", execution thread 331"is in checkout station 301", and execution thread 332" is in checkout station 302".
  • Fig. 17 is a block diagram of checkout station 300 including cash register system 30 and card interface system 20.
  • Cash register system 30 includes an IBM 4680-4690 Point of Sale System.
  • CPU 350 executes program 343" in random access, addressable memory
  • CPU 350 in system 30 communicates with CPU 352 in system 20 via RS232 line 328.
  • CPU 352 executes program 342" in memory 333.
  • CPU 352 and program 342" act to receive electronic coupons from a customer card, via reader/writer 315.
  • Memory 333 also includes a redemption control table 347, which enables CPU 352 to determine if a product has a corresponding electronic coupon offer.
  • CPU 350 sends a product message including the UPC product code to CPU 352 via RS232 line 328.
  • CPU 352 receives a product message containing a product UPC code from
  • CPU 350 searches for the product UPC code in redemption control table 347.
  • CPU 352 sends discount information to CPU 350, via RS232 line 328, in the form of messages reflecting values of redeemed coupons from table 347.
  • CPU 350 adds to a total discount amount, and, subsequently, calculates a total amount due based on the total discount amount.
  • CPU 350 executes program 342" to effect execution thread 330.
  • CPU 352 executes program 343" to effect execution thread 320", as a thread separate from thread 330".
  • Execution thread 330' includes program 342", which is essentially a plurality of instructions, sequentially fetched and executed by CPU 350, and a program counter (PC) 362' indicating a next instruction to be executed in program 342".
  • program 342 is essentially a plurality of instructions, sequentially fetched and executed by CPU 350, and a program counter (PC) 362' indicating a next instruction to be executed in program 342".
  • PC program counter
  • Execution thread 320" includes program 343", which is essentially a plurality of instructions, sequentially fetched and executed by CPU 350, and a program counter (PC) 363' indicating a next instruction to be executed in program 343". Because programs 342" and 343" run in separate random access memories, programs 342" and 343" run in separate address spaces.
  • program 343 is essentially a plurality of instructions, sequentially fetched and executed by CPU 350, and a program counter (PC) 363' indicating a next instruction to be executed in program 343". Because programs 342" and 343" run in separate random access memories, programs 342" and 343" run in separate address spaces.
  • each thread is essentially a computation that proceeds independently of the other thread, except for execution of any synchronizing or blocking instructions.
  • Execution thread 320" in the third embodiment performs essentially the same processes as those described in connection with execution thread 320 in the first embodiment.
  • Execution thread 330" in the third embodiment performs essentially the same processes as those described in connection with execution thread 330 in the first embodiment.
  • a signal path that carries a UPC product code from bar code reader 310 to program 343" includes interface hardware 311, bus 351, and CPU 350.
  • a signal path that carries the UPC product code from bar code reader 310 to program 342" includes interface hardware 311, bus 351, CPU 350, and program 343".
  • Checkout stations 301' and 302' each have the same capabilities and hardware as checkout station 300'.
  • FIG. 18A and 18B are each a partial view of store 1'".
  • Fig. 19 shows another aspect of the third preferred system.
  • Execution thread 330'" is in checkout station 300'
  • execution thread 331"' is in checkout station 301'
  • execution thread 332' is in checkout station 302'.
  • Fig. 20 is a block diagram of checkout station 300'" including cash register system
  • Cash register system 30 may include an IBM 4680-4690 Point of Sale System.
  • CPU 350 executes a plurality of instructions 343'" in random access, addressable memory 323.
  • Memory 323 stores total price 346, which is a sum of a basic retail price for the products selected by the current customer.
  • Memory 323 stores total tender amounts 339, which are sums of various types of value tenders for the current customer.
  • Tender amounts 339 include a respective memory area for cash, a respective memory area for checks, a respective memory area for food stamps, a respective memory area for a certain kind of credit card, a respective memory area for another kind of credit card, etc.
  • Memory 323 stores total discount amounts 340, which are sums of various types of discounts for the current customer.
  • Memory 323 also stores an amount due 348, which is a result of a calculation including total price 346, total discount amounts 340, and total tender amounts 339.
  • bus interfaces 324 and 311 recognizes a respective bus address on RS-485 serial bus 351.
  • Interface 324 recognizes a bus address for poll display 317, and interface
  • CPU 350 communicates with a peripheral device by first sending the device's bus address on bus 351. For example, to write data to pole display 317, CPU 350 sends the bus address of pole display 317 via bus 351 and then sends data to be written via bus 351.
  • Pole display 317 acts to receive a command for writing the data in response to a recognition of pole display 317 bus address by interface 324.
  • CPU 350 polls each input device by sending a respective device bus addresses on bus 351 and listening for a response.
  • Cash register keyboard 318 allows manual entry of alpha-numeric-data, which is sent to CPU 350 via bus interface hardware 357, bus 353, bus interface hardware 356, CPU 352, bus interface hardware 341, and bus 351.
  • CPU 352 and bus interface hardware 341 cooperate to recognize a bus 351 address for cash register keyboard 318.
  • cash register keyboard 318 appears to be a device on bus 351.
  • CPU 352 in the fourth preferred embodiment receives product UPC codes. generated by bar code reader 310, from the IBM 4680-4690 cash register system via
  • CPU 352 executes program 342'" in memory 333.
  • CPU 352 and program 342'" act to receive electronic coupons from a customer card, via reader/writer 315.
  • Memory 333 also includes a redemption control table 347, which enables CPU 352 to determine if a product has a corresponding electronic coupon offer.
  • CPU 350 determines the total amount due for the checkout transaction by subtracting each of discount amounts 25, 26, 27, and 28 from the results of a total product price calculation based on total price 346. This subtraction acts to effect discounts received from CPU 350 because card interface system 20 will have sent discount entries as emulated keyboard input via interface
  • CPU 352 does not receive UPC product codes via a signal dedicated to CPU 352. Instead, CPU 352 monitors bus 351, via interface hardware 341, to detect UPC product codes from bar code reader 310.
  • Hardware 341 may assume a variety of forms. Hardware 341 may effect digital logic to recognize a bus address for bar code reader 310, to interrupt
  • CPU 352 and cause CPU 352 to execute an interrupt routine to monitor any response sent from bar code reader 310 to CPU 350.
  • hardware 341 may both recognize the bus address for bar code reader 310 and monitor any data response from reader 310 to CPU 350, to buffer a complete UPC product code for sending to CPU 352. Because CPU 352 is in the signal path between cash register keyboard 318 and
  • CPU 350 CPU 352 also detects UPC product codes entered manually via cash register keyboard 318.
  • CPU 352 When CPU 352 receives a product UPC code, CPU 352 searches for the product UPC code in redemption control table 347. CPU 352 determines whether the qualifier conditions are satisfied for the coupon of the matching entry in table 347. If the qualifier conditions are satisfied.
  • CPU 352 sends discount information to CPU 350, in the form of key sequences for discount entries reflecting values of the discount.
  • CPU 350 adds to discount amount 26 and may print text on printer 354 via bus 351 and interface hardware 358.
  • station 300' includes bar code reader 310 for generating product code signals identifying products selected for purchase, and keyboard 318 for sending keyboard signals to the CPU 350.
  • Station 300' acts to send each product code signal from reader 310 to CPU 350.
  • Station 300'" also acts to send each product code signal to CPU 352, via a signal path that excludes program 343'" and CPU 350.
  • CPU 350 acts to determine a basic price responsive to the product code signal. Responsive to receiving a product code signal, CPU 352 acts to send a discount signal in a format of emulated keyboard signals. Responsive to the basic total price 346 and the discount signal, CPU 350 acts to determine a total amount due 348 .
  • CPU 350 executes program 342'" to effect execution thread 330'".
  • CPU 352 executes program 343'" to effect execution thread 320'", as a thread separate from thread 330"'.
  • Execution thread 330' includes program 342'", which is essentially a plurality of instructions, sequentially fetched and executed by CPU 350, and a program counter (PC) 362' indicating a next instruction to be executed in program 342'".
  • program 342' which is essentially a plurality of instructions, sequentially fetched and executed by CPU 350, and a program counter (PC) 362' indicating a next instruction to be executed in program 342'".
  • Execution thread 320' includes program 343'", which is essentially a plurality of instructions, sequentially fetched and executed by CPU 350, and a program counter (PC) 363' indicating a next instruction to be executed in program 343'".
  • program 343' which is essentially a plurality of instructions, sequentially fetched and executed by CPU 350, and a program counter (PC) 363' indicating a next instruction to be executed in program 343'".
  • programs 342'" and 343' run in separate random access memories, programs 342" and 343" run in separate address spaces.
  • each thread is essentially a computation that proceeds independently of the other thread, except for execution of any synchronizing or blocking instructions.
  • a signal path that carries a UPC product code from bar code reader 310 to program 343'" includes interface hardware 311, bus 351, and CPU 350.
  • a parallel signal path that carries the UPC product code from bar code reader 310 to program 342'" includes interface hardware 311, bus 351, interface hardware 341 and CPU 352. This parallel signal path excludes program 343'" and CPU 350.
  • Execution thread 320'" in the fourth embodiment performs essentially the same processes as those described in connection with execution thread 320 in the first embodiment.
  • Execution thread 330'" in the fourth embodiment performs essentially the same processes as those described in connection with execution thread 330 in the first embodiment.
  • the embodiments of the invention described above process card-based promotions without monitoring network 7, or otherwise being responsive to signals on network 7.
  • Execution threads 320, 320', 320", and 320'" receive signals, identifying purchase products, through a signal path that excludes network 7.
  • execution threads 320, 320', 320", and 320'" described above each generate a signal, affecting a total amount due, responsive to a customer specific signal, in the form of coupons on a customer's card
  • generation of this type of signal need not be responsive to customer specific information, and may instead be a function of a all-customer discount as disclosed in the second embodiment of the invention in copending application of KEN R. POWELL, ELEANOR B. MAXWELL, and COREY C. SNOOK for SYSTEM AND METHOD EMPLOYING A PORTABLE CARD TO CONFIGURE A STORE FOR PRODUCT PROMOTION, Serial No. 09/301,747, filed April 29, 1999, the contents of which is herein incorporated by reference.
  • the invention my encompass sending this type of signal responsive solely to a profile of the customer or solely to past purchasing patterns as represented by accumulated points for example.

Abstract

A computer system with program configurations and methods for a retail store; this system comprises a LAN (7) including an ethernet cable (8), a financial computer (40), stations (300, 301, 302) having a bar code reader (310). Execution threads (330, 331, 332) are in checkout stations (300, 301, 302).

Description

COMPUTER SYSTEM WITH PROGRAM CONFIGURATIONS AND METHODS FOR A STORE
BACKGROUND OF THE INVENTION
This Application is a Continuation-in-Part of copending Application Serial No. 09/301,749, of Ken R. Powell, Kevin W. Hartley, Eleanor B. Maxwell, and Corey C. Snook, filed April 29, 1999 for COMPUTER SYSTEM CONFIGURATION AND METHOD FOR A STORE, the contents of which are hereby incorporated by reference; and is a Continuation-in-Part of copending Application Serial No. No. 09/317,440 of Ken
R. Powell, Eleanor B. Maxwell, And Corey C. Snook, filed May 24, 1999 for REGISTER SYSTEM CONFIGURATIONS AND METHODS FOR A STORE, the contents of which are hereby incorporated by reference.
Field of the Invention
This invention relates generally to a store and, more particularly, to a computer system configuration and method for processing discount information in a retail store.
Description of Related Art
Product promotions employing price discounts are a popular means to stimulate sales of products such as grocery store items. One type of product promotion is a discount coupon. It has been estimated that in-store couponing coupled with advertising increases sales by 544%.
SUMMARY OF THE INVENTION It is an object of the present invention to provide a computer system with program configurations and methods for processing discount information to adjust a price in a retail system. To achieve these and other objects of the present invention, there is a system in a store with a plurality of products. The system comprises a plurality of register stations, each register station including a bar code reader that generates a first signal identifying a product selected by the customer; a first instruction set with a first instruction location signal; and a signal path that transfers the first signal to the first instruction set, wherein register station is associated with a respective second instruction set, with a respective second instruction location signal, that sends a second signal to the first instruction set; and a signal path that transfers the first signal from the bar code reader to the second instruction set, and wherein the first instruction set includes logic that determines a total amount due, by receiving the first signal and second signals.
According to another aspect of the present invention, there is a method in a system including a store with a plurality of products, and a plurality of register stations, each including a bar code reader, and a first instruction set with a first instruction location signal, wherein the system further includes a plurality of second instruction sets, each with a respective second instruction location signal. The method comprises the steps, performed in each register station to perform a checkout transaction for a customer, of using the bar code reader to generate a first signal identifying a product selected by the customer; sending the first signal to the first instruction set; and sending the first signal to a respective one of the second instruction sets, and the method further includes subsequently sending, from the respective one of the second instruction sets, a second signal to the first instruction set; and determining, in the first instruction set, a total amount due from the customer, by receiving the first signal and second signals.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is a schematic diagram of a retail system in accordance with a first preferred embodiment of the present invention.
Figs. 2A and 2B are another type of view of a retail store in the first preferred embodiment. Figs. 3A and 3B are the other type of view of another part of the retail store.
Fig. 4 is a flow chart of a process performed by the first preferred embodiment.
Fig. 5 is a block diagram of the first preferred computer system.
Fig. 6 is a block diagram of a checkout station in the first preferred embodiment.
Fig. 7 is a flow chart of a processing performed by a part of the checkout station. Fig. 8 is a flow chart of a processing performed by a part of the checkout station.
Fig. 9 is a flow chart of a processing performed by a part of the checkout station.
Fig. 10 represents a content of a customer card. Fig. 11 represents a table employed by the checkout station to process coupon redemptions.
Fig. 12 and 12B are a view of a part of a retail store in accordance with a second preferred embodiment of the present invention. Fig. 13 is a block diagram of the second preferred computer system.
Fig. 14 is a block diagram of a check out station in the second preferred computer system.
Fig. 15A and 15B are a view of a retail store in accordance with a third preferred embodiment of the present invention. Fig. 16 is a block diagram of the third preferred computer system.
Fig. 17 is a block diagram of a check out station in the third preferred embodiment.
Fig. 18 A and 18B are a view of a retail store in a fourth preferred embodiment of the present invention.
Fig. 19 is a block diagram of the fourth preferred computer system. Fig. 20 is a block diagram of a checkout station in the fourth preferred embodiment.
The accompanying drawings which are incorporated in and which constitute a part of this specification, illustrate embodiments of the invention and, together with the description, explain the principles of the invention, and additional advantages thereof. Throughout the drawings, corresponding elements are labeled with corresponding reference numbers.
DESCRIPTION OF THE PREFERRED EMBODIMENTS First Preferred Embodiment Fig. 1 shows a store 1 including roof structure 6, computer network 7 under roof structure 6, in accordance with a first preferred embodiment of the present invention. Roof structure 6 includes roof section 4, window 5 coupled to roof section 4, and roof section 3 coupled to window 5.
Figs. 2A, 2B, 3 A, and 3B are each a partial view of store 1. Store 1 has a plurality of product areas, each corresponding to a respective product. For example, product area 1 10 has bottles 1 12 of Delta brand detergent. Each bottle of detergent 1 12 has a common Universal Product Code (UPC) symbol, which is a group of parallel lines encoding a number that is part of a product identification system documented by the Uniform Code Council, Inc., Dayton, OH. The first digit is a number system character, which in this case is 0. The next five digits are a manufacturer ID. The next 5 digits are an item number.
The last digit is a check digit. UPC product code 0 17075 00003 3 uniquely identifies Delta Detergent.
Product area 120 has boxes of pasta 122. Each box of pasta 122 has a common UPC symbol encoding a UPC product code (0 17031 00005 3) uniquely identifying Old World pasta.
Product area 130 has boxes of light bulbs 132. Each box of light bulbs 132 has a common UPC symbol encoding a UPC product code (0 17054 1017 6) uniquely identifying Lighthouse light bulbs.
Similarly, other product areas in store 1 each have a set of respective products contiguously grouped together. Respective units of a certain product have a common UPC symbol, different from UPC symbols on units of other products, that uniquely identifies the certain product. Respective units of a certain product also have a common human readable word label, different from labels on units of other products, that uniquely identifies the certain product with words. Product area 140 has bottles of ABC brand ketchup 142 contiguously grouped together. Product area 150 has boxes of Fido brand dog food 152 contiguously grouped together. Product area 160 has loaves of Boxer brand bread 162 contiguously grouped together. Product area 170 has cartons of Clover brand milk 172 contiguously grouped together. Product area 180 has packages of Chicago brand bacon 182. Product area of 190 has packages of Clover brand butter 192 contiguously grouped together.
Customers 210, 220, 230, 250, 280, and 290, shop in store 1. Some of the customers, such as customer 210 in Fig. 2A, shop an electronic card, such as customer card 215, which is approximately the length and width of a typical financial credit card. While shopping in store 1 , each of customers 210, 220, 230, 250, and 280 carries his or her respective customer card. Customer 210 carries card 215, customer 220 carries card 225, customer 230 carries card 235, customer 250 carries card 255, customer 280 carries card 285.
Each customer tows a shopping cart to hold selected products. Customer 210 tows cart 212, customer 220 tows cart 222, customer 230 tow cart 232, customer 250 tows cart 252, customer 280 tows cart 282, and customer 290 tows cart 292. Each customer removes one or more desired products from a shelf and places the removed product into her cart.
Upon completion of shopping, the customer brings selected products from the shelves to checkout station 300, 301, or 302.
A customer may redeem electronic coupons by presenting her customer card for insertion into smart card reader/writer 315. For example, referring to Figs. 2A, 2B, 3 A, and 3B, customer 280 completes the purchase of her selected products 283 by transferring products 283 from her cart 282 to station 300, and by presenting card 285;customer 390 completes the purchase of her selected products 393 by transferring products 393 from her cart 392 to station 301 , and by presenting card 395; customer 490 completes the purchase of his selected products 493 by transferring products 493 from his cart 492 to station 302, and by presenting card 495;customer 480 completes the purchase of his selected products 483 by transferring products 483 from his cart 482 to station 302, and by presenting card 485. Customer 210 completes the purchase of her selected products 214 by transferring products 214 from her cart 212 to station 300, and by presenting card 215 for insertion into card interface slot 314.
An overview of a process performed by the customers and circuitry of the first preferred embodiment will now be described. In this Patent Application, the word circuitry encompasses dedicated hardware, and/or programmable hardware, such as a central processing unit (CPU) or reconfigurable logic array, in combination with programming data, such as sequentially fetched CPU instructions or programming data for a reconfigurable array.
Before shopping in the store, each of these customers obtained a customer card. For example, customer 230 obtained customer card 235 from a bank, by completing an application. The application contained questions to collect demographic data, including birth date, income level, past buying patterns, geographic location, size of family, level of education, and job-related data. The bank subsequently wrote customer identification data for customer 230 onto customer card 235, and issued customer card 235 to customer 230, and sent the customer's demographic data to headquarters site 13100 (see Fig. 25) which then stored the demographic data on a magnetic disk in center 13100. Each of customers 210, 220, 250, 280, and 290 obtained a respective customer card in a similar manner.
Fig. 4 shows a process performed by the preferred embodiment embodiments of the present invention. While shopping in store 1 , each of customers 210, 220, 230, 250, 280, and 290 carries his or her respective customer card. Customer 210 carries card 215, customer 220 carries card 225, customer 230 carries card 235, customer 250 carries card 255, customer 280 carries card 285, and customer 290 carries card 295. Each customer tows a shopping cart to hold selected products. Customer 210 tows cart 212, customer 220 tows cart 222, customer 230 tow cart 232, customer 250 tows cart 252, customer 280 tows cart 282, and customer 290 tows cart 292. Each customer removes one or more desired products from a shelf and places the removed product into her cart, (step 15). Upon completion of shopping, the customer brings selected products from the shelves to checkout station 300, 301, or 302. (step 17).
The customer redeems the electronic coupons by presenting her customer card for insertion into smart card reader/writer 315. For example, referring to Figs. 3A, 3B, 6A, and 6B, a customer such as customer 290 completes the purchase of her selected products 293 by transferring products 293 from her cart 292 to station 300, and by presenting card
295 for insertion into card interface slot 314; customer 280 completes the purchase of her selected products 283 by transferring products 283 from her cart 282 to station 300, and by presenting card 285;customer 390 completes the purchase of her selected products 393 by transferring products 393 from her cart 392 to station 301, and by presenting card 395;customer 380 completes the purchase of his selected products 383 by transferring products 383 from his cart 382 to station 301, and by presenting card 385;customer 490 completes the purchase of his selected products 493 by transferring products 493 from his cart 492 to station 302, and by presenting card 495;customer 480 completes the purchase of his selected products 483 by transferring products 483 from his cart 482 to station 302, and by presenting card 485;customer 470 completes the purchase of his selected products 473 by transferring products 473 from his cart 472 to station 302, and by presenting card 475. Customer 210 completes the purchase of her selected products 214 by transferring products 214 from her cart 212 to station 300, and by presenting card 215 for insertion into card interface slot 314. It is presently preferred that card insertion occur at the beginning of the checkout transaction, although card insertion could happen later. Reader/writer 315 reads the coupon offers from the card, (step 20).
A checkout clerk (not shown) scans each selected product past bar code reader 310, or enters the product selection information manually via keyboard 318, to generate a UPC product code for the most recently processed product. Checkout station 300 sends this UPC product code to both execution thread 330 and execution thread 320.
The clerk also scans paper coupons past bar code reader 310, or manually reads the paper coupons and enters the coupon information manually via keyboard 318. Execution thread 330 makes a list of the products selected by the customer. Execution thread 330 processes the paper coupon information in the context of the selected products to determine discount eligibility.
Execution thread 320 is also responsive to products selected by the customer. Execution thread 320 makes a list of the products selected by the customer. Execution thread 320 performs electronic coupon redemption, by processing the selected products in the context of the coupon information from the customer's card to determine discount eligibility (step 30).
In response to the results of steps 25 and 30, checkout station 300 determines a total amount due and prints the total amount due on display 317 and on the customer's paper receipt, (step 35).
Execution thread 330 determines a basic price for the product by processing a pricing information message received from financial computer 40, via cable 8. Execution thread 330 scans and processes each product 293 in a similar manner.
Similarly, customer 390 in Fig. 3 A will complete the purchase of her selected products 393 by transferring products 393 from her cart 392 to station 301, and by presenting card 395 for insertion into interface slot 314 of station 301 ; and the clerk will scan each selected product 393 past UPC bar code reader 310. Customer 490 in Fig. 3B will complete the purchase of his selected products 493 by transferring products 493 from his cart 422 to station 302, and by presenting card 495 for insertion into interface slot 314 of station 302; and the clerk (not shown) will scan each selected product 493 past UPC bar code reader 310 of station 302. The preferred embodiments of the present invention will now be described in more detail.
Fig. 5 shows another aspect of the first preferred system. Local Area Network (LAN) 7 in store 1 includes ethernet cable 8, financial computer 40, station 300, station 301, and station 302. Each of stations 300, 301, and 302 includes a respective bar code reader 310. Execution thread 330 is in checkout station 300, execution thread 331 is in checkout station 301, and execution thread 332 is in checkout station 302. Each of computer 40 and stations 300, 301, and 302 has a respective network address uniquely identifying it in network 7. Each of computer 40 and stations 300, 301, and 302 has a respective network interface card for recognizing when a packet containing its address is sent over cable 8.
Computer 40 and threads 330, 331, and 332 communicate by sending data packets in a format conforming to the communication protocol of network 7, meaning, for example, that the packet has a destination address field offset a certain number of bits from the start of the packet, and that the destination address field has a certain number of bits. Each packet is essentially a type of signal.
Fig. 6 is a block diagram of checkout station 300. Cash register keyboard 318 allows manual entry of alpha-numeric-data. Disk 325 provides long term storage. Bar code reader 310 generates a bar code signal, and sends the bar code signal to thread 330 via bus 351. Poll display 317 displays product data in response to signals from thread 330. CPU 350 executes instructions in random access, addressable memory 323.
CPU 350 executes operating system 305 to run one of programs 342 or 343 at a particular time. CPU 350 and operating system 305 execute program 342 to effect execution thread 330. CPU 350 and operating system 305 execute program 343 to effect execution thread 320, as a thread separate from thread 330. Execution thread 330 includes program 343, which is essentially a plurality of instructions, sequentially fetched and executed by CPU 350, and a program counter (PC) 363 indicating a next instruction to be executed in program 343. Operating system 305 manages PC 363.
Execution thread 320 includes a program 342, which is essentially a plurality of instructions, sequentially fetched and executed by CPU 350, and a program counter (PC)
362 indicating a next instruction to be executed in program 342. Operating system 305 managers PC 362 independently of PC 363.
The single CPU 350 may execute each of programs 342 and 343 essentially concurrently, by using a time sharing scheme, in which CPU 350 executes one program for a time, ceases execution of the program, saves the current PC and other state information for the program, and resumes execution of a previously saved program at the instruction indicated by the saved PC of the previously saved program.
Programs 342 and 343 run in a common address space, meaning that a certain address in one of the programs accesses the same memory location than the certain addresses accesses in the other program.
Thus, each thread is essentially a computation that proceeds independently of the other thread, except for execution of synchronizing or blocking instructions.
Various parts of the components shown in random access memory 323 may be transferred between memory 323 and disk memory 325 using a virtual memory mapping scheme, as is well known in the art.
Execution thread 320 acts to receive electronic coupons from a customer card, via reader/writer 315. Memory 323 also includes a redemption control table 347, which enables Execution thread 320 to determine if a product has a corresponding electronic coupon offer. Checkout stations 301 and 302 each have the same capabilities and hardware as checkout station 300.
Fig. 7 represents a basic process performed by execution thread 330, effected by CPU 350 and program 343. To prepare for processing a new customer, thread 330 initializes various customer lists, including a list of products selected by the customer, (step 5). thread 330 determines whether bar code reader 310 has data, (step 10). If bar code reader 310 has data, thread 330 passes control to a subprogram of program 343 to handle data from bar code reader 310. (step 15). thread 330 determines whether keyboard 318 has data, (step 20). If thread 330 determines that keyboard 318 has data, thread 330 passes control to a subprogram of program of 343 for handling input from keyboard 318. (step 25).
Fig. 8 shows processing of step 15 of Fig. 7 in more detail. When the clerk (not shown) moves an object past UPC reader 310, UPC reader 310 detects the bar code on the object and sends the bar code to program 343. If a bar code has been received and the first digit is a 5 (step 5), program 343 exchanges messages with computer 40 to get the discount corresponding to the UPC coupon code. Program 343 then makes a record including the coupon and the discount amount, and adds this record to a temporary UPC coupon list 344 in memory 323 (step 10).
If the first digit is not a 5, meaning that the code is a UPC product code, program
343 gets the price of the product, the UPC coupon family code of the product, and the textual description of the product, (step 15). Program 343 then sends a signal encoding the textual description of the product to display 317, and display 317 generates a human readable output describing the product, (step 20).
Fig. 9 shows a processing of step 25 of Fig. 7 in more detail. If the clerk enters a key sequence for processing a coupon code, program 343 exchanges messages with computer 40, to get the discount corresponding to the UPC coupon code. Program 343 then makes a record including the coupon and the discount amount, and adds this record to the UPC coupon list 344 in memory 20 (step 10).
If the clerk enters a key sequence for entering a UPC product code (step 15), program 343 gets the price of the product, the UPC coupon family code of the product, and the textual description of the product, (step 25). Program 343 then sends a signal encoding the textual description of the product to display 317, and display 317 generates a human readable output describing the product (step 30).
If the clerk enters a key sequence for a discount entry (step 31), program 343 adds the value of the tender to a total discount amount, to offset a subsequently calculated amount due (step 32). When the clerk activates the TOTAL button 349 (step 35), program 343 determines the total amount due for the checkout transaction, by subtracting the total discount amounts from the results of a total product price calculation, (step 40). Program 343 then displays the resulting total amount due on display 317 (step 45). Part of the processing of step 15 of Fig. 28 and step 25 of Fig. 9 is to sends the UPC product code to program 342.
In the first preferred embodiment, it is presently preferred that sending of the UPC product code to program 342 be implemented by sending the product code in a shared buffer, or by sending the product code in a message using a messaging facility of operating system 305.
Some processing performed by thread 330, executing program 342. will now be described in more detail. Execution thread 320 communicates with a card in interface slot 314 through smart card reader/writer 315. A switch (not shown) in interface slot 314 alerts reader/writer 315, which alerts execution thread 320, that a card has been inserted into the slot. Subsequently, Execution thread 320 causes smart card reader/writer 315 to reset the card. The card then answers the reset by sending an ''answer to reset" data block in accordance with the ISO standard ISO 7816-3: 1989 (E). Execution thread 320 then reads a customer card ID record, via reader/writer 315. Execution thread 320 then reads a pointer record and. using the pointer record, reads table 8435 from an EEPROM of the customer card, and temporarily stores table 8435 contents in memory 333.
Fig. 10 shows coupon table 8435, which is in a data structure within other data structures in EEPROM 8462 of customer card 215. Each row in Fig.20 represents an entry in table 8435. Each entry includes a 4 hexadecimal digit coupon number. Table 8435 has three entries, reflecting the fact that customer 210 has received three electronic coupons from coupon dispensing devices. The entry having the coupon number 1317 corresponds to a coupon for purchase of a box of Old World Pasta 122. The entry having the coupon number 0054 corresponds to a coupon for purchase of a box of Lighthouse Light Bulbs 134. The entry having the number 3656 corresponds to a coupon for purchase of detergent bottles 1 12. Each of the customer cards has the same hardware structure as customer card 215. Fig. 11 is a simplified diagram of redemption control table 347. Each row in Fig. 11 represents an entry in redemption control table 347, and each of the 4 columns shown represents an entry field. The first field is a coupon identifier (ID), the second field is a UPC product code corresponding to the coupon ID. Redemption control table 347 is sorted by UPC product code.
The third field is a reward type. A reward type of 2 represents a percent off coupon, and a reward type of 0 represents a cents off coupon. The fourth field in Fig. 11 is the reward quantity. The first entry shows a reward quantity of 20 percent, as the reward type field is 2. The second entry shows a reward quantity of 75 cents off as the reward type is 0. The third entry shows a reward of 50 cents off, as the reward type is 0.
When Execution thread 320 receives a product message containing a product UPC code from Program 343, Execution thread 320 searches for the product UPC code in redemption control table 347. If this search of table 347 does not result in a match, there is not discount resulting from the current product. If this search of table 347 does result in a match, Execution thread 320 searches coupon table 8435, from the customer card, for the value in the coupon ID field of the matching entry in table 347. If this search of table 8435 does not result in a match, there is no discount resulting from the current product.
If the searches of redemption control table 347 and coupon table 8435 both result in matches, Execution thread 320 increments an accumulator corresponding to the matching entry in table 347, to record the quantity of the product. More specifically, Execution thread 320 increments an array element: PRODUCT_COUNT [TABLE_347_INDEX] = PRODUCT COUNT [TABLE_347_INDEX] +1 , wherein PRODUCT_COUNT is an array and TABLE 347 INDEX is the index of the matching entry in table 347. Execution thread 320 determines whether the qualifier conditions are satisfied for the currently selected coupon. If the qualifier conditions are satisfied and the coupon is a manufacturer coupon, the coupon quantity is added to a variable
DISCOUNT_TENDER_PRETAX. If the qualifier are satisfied and the coupon is a retailer coupon, the coupon quantity is added to a variable DISCOUNT_TENDER_POSTTAX. Thus, thread 320's processing, of the product UPC messages received from thread 330, iterates through each combination of coupon and product. Essentially, this iteration is performed with products changing in an outerloop and coupons changing in an innerloop.
Execution thread 320 sends discount information to thread 330, in the form of messages reflecting values of DISCOUNT TENDER PRETAX, and containing information to be displayed to the customer. In response to such messages, thread 330 adds to a total discount amount and may print text on printer 354.
Execution thread 320 sends discount information to thread 330, in the form of messages reflecting values of DISCOUNT TENDER POSTTAX, and containing information to be displayed to the consumer. In response to such messages, thread 330 adds to a total discount amount, and may print text on printer 354.
It is presently preferred^that thread 320 send discount information messages to thread 330 in a shared buffer, or by sending the discount information using a messaging facility of operating system 305.
A signal path that carries a UPC product code from bar code reader 310 to program 343 includes interface hardware 311, bus 351, and CPU 350. A signal path that carries the bar code signal from reader 310 to program 342 includes interface hardware 311, bus 351, CPU 350, and program 343.
Headquarters site 13100 may manage and send flights of electronic coupon data to systems 320, 321, and 322 by way of computer 42 or a system program card. A type of system program card is disclosed in copending application of KEN R. POWELL,
ELEANOR B. MAXWELL, and COREY C. SNOOK for SYSTEM AND METHOD EMPLOYING A PORTABLE CARD TO CONFIGURE A STORE FOR PRODUCT PROMOTION, Serial No. 09/301,747, filed April 29, 1999, the contents of which is herein incorporated by reference. A customer may start shopping with a customer card preloaded with electronic coupons. For example, the store may preload new cards as an incentive for completing and submitting a check cashing application. The customer may also have a device at home for loading coupons onto the card, as described in U.S. Patent No. 5,806,044 issued September 8, 1998 of KEN R. POWELL for SYSTEM AND METHOD FOR DISTRIBUTING COUPONS THROUGH A SYSTEM OF COMPUTER NETWORKS, Serial No. 08/603,482, filed February 20, 1996, the contents of which is herein incorporated by reference. The customer may also load coupons onto the card from in-store shelf units, as described in copending U.S. Patent Application of KEN R. POWELL for RETAIL SYSTEM, Serial No. 08/468,816, filed June 6, 1995, the contents of which is herein incorporated by reference; and in copending application of KEN R. POWELL, KEVIN W. HARTLEY, THOMAS M. HINTZ, ELEANOR B. MAXWELL, and COREY C. SNOOK for SYSTEM AND METHOD EMPLOYING PORTABLE CARDS TO MONITOR A COMMERCIAL SYSTEM, Serial No. 09/301,748, filed April 29, 1999, the contents of which is herein incorporated by reference.
Second Preferred Embodiment
A system in accordance with a second preferred embodiment of the present invention will now be described. The second preferred embodiment includes the features of the first preferred embodiment, except for differences as described below.
Figs. 12A and 12B are each a partial view of store 1'. Fig. 13 shows another aspect of the second preferred system. Execution thread 330' is in checkout station 300', execution thread 331'is in checkout station 301'. and execution thread 332' is in checkout station 302'.
Fig. 14 a block diagram of checkout station 300'. CPU 350 executes instructions in random access, addressable memory 323. CPU 350 executes operating system 305' to run one of application programs 342' or
343' at a particular time. CPU 350 and operating system 305 execute application program 342' to effect execution thread 330'. CPU 350 and operating system 305 execute application program 343' to effect execution thread 320'. as a thread separate from thread 330'. Execution thread 330' includes application program 343', which is essentially a plurality of instructions, sequentially fetched and executed by CPU 350, and a program counter (PC) 363 indicating a next instruction to be executed in application program 343'. Operating system 305' manages PC 363.
Execution thread 320' includes application program 342', which is essentially a plurality of instructions, sequentially fetched and executed by CPU 350, and a program counter (PC) 362 indicating a next instruction to be executed in application program 342'. Operating system 305' managers PC 362 independently of PC 363.
The single CPU 350 may execute each of application programs 342' and 343' essentially concurrently, by using a time sharing scheme, in which CPU 350 executes one application program for a time, ceases execution of the application program, saves the current PC and other state information for the application program, and resumes execution of a previously saved application program at the instruction indicated by the saved PC of the previously saved application program.
Application programs 342' and 343 'run in separate address spaces, meaning that a certain address in one of the application programs accesses a different memory location than the certain addresses accesses in the other application program.
A signal path that transfers a UPC product code from bar code reader 310 to application program 343' includes interface hardware 311, bus 351, and CPU 350. A signal path that carries the UPC bar code from reader 310 to application program 342' includes interface hardware 311, bus 351, CPU 350, and application program 343'.
Thus, each thread is essentially a computation that proceeds independently of the other thread, except for execution of synchronizing or blocking instructions.
Execution thread 320' acts to receive electronic coupons from a customer card, via reader/writer 315. Memory 323 also includes a redemption control table 347, which enables Execution thread 320 to determine if a product has a corresponding electronic coupon offer.
Execution thread 320' in the second embodiment performs essentially the same processes as those described in connection with execution thread 320 in the first embodiment. Execution thread 330' in the second embodiment performs essentially the same processes as those described in connection with execution thread 330 in the first embodiment.
Checkout stations 301' and 302' each have the same capabilities and hardware as checkout station 300'.
Third Preferred Embodiment A system in accordance with a third preferred embodiment of the present invention will now be described. The third preferred embodiment includes the features of the first preferred embodiment, except for differences as described below.
Figs. 15A and 15B are each a partial view of store 1". Fig. 16 shows another aspect of the third preferred system. Execution thread 330" is in checkout station 300", execution thread 331"is in checkout station 301", and execution thread 332" is in checkout station 302".
Fig. 17 is a block diagram of checkout station 300 including cash register system 30 and card interface system 20. Cash register system 30 includes an IBM 4680-4690 Point of Sale System. CPU 350 executes program 343" in random access, addressable memory
323.
CPU 350 in system 30 communicates with CPU 352 in system 20 via RS232 line 328.
In card interface system 20, CPU 352 executes program 342" in memory 333. CPU 352 and program 342" act to receive electronic coupons from a customer card, via reader/writer 315. Memory 333 also includes a redemption control table 347, which enables CPU 352 to determine if a product has a corresponding electronic coupon offer.
CPU 350 sends a product message including the UPC product code to CPU 352 via RS232 line 328. When CPU 352 receives a product message containing a product UPC code from
CPU 350, CPU 352 searches for the product UPC code in redemption control table 347.
CPU 352 sends discount information to CPU 350, via RS232 line 328, in the form of messages reflecting values of redeemed coupons from table 347. In response to such messages, CPU 350 adds to a total discount amount, and, subsequently, calculates a total amount due based on the total discount amount.
Thus, CPU 350 executes program 342" to effect execution thread 330". CPU 352 executes program 343" to effect execution thread 320", as a thread separate from thread 330".
Execution thread 330' includes program 342", which is essentially a plurality of instructions, sequentially fetched and executed by CPU 350, and a program counter (PC) 362' indicating a next instruction to be executed in program 342".
Execution thread 320" includes program 343", which is essentially a plurality of instructions, sequentially fetched and executed by CPU 350, and a program counter (PC) 363' indicating a next instruction to be executed in program 343". Because programs 342" and 343" run in separate random access memories, programs 342" and 343" run in separate address spaces.
Thus, each thread is essentially a computation that proceeds independently of the other thread, except for execution of any synchronizing or blocking instructions.
Execution thread 320" in the third embodiment performs essentially the same processes as those described in connection with execution thread 320 in the first embodiment. Execution thread 330" in the third embodiment performs essentially the same processes as those described in connection with execution thread 330 in the first embodiment.
A signal path that carries a UPC product code from bar code reader 310 to program 343" includes interface hardware 311, bus 351, and CPU 350. A signal path that carries the UPC product code from bar code reader 310 to program 342" includes interface hardware 311, bus 351, CPU 350, and program 343".
More detailed information for implementation of the third embodiment of the invention in the instant application may be found in copending Application Serial No. 09/301 ,749, of Ken R. Powell, Kevin W. Hartley, Eleanor B. Maxwell, and Corey C.
Snook, filed April 29, 1999 for COMPUTER SYSTEM CONFIGURATION AND METHOD FOR A STORE, the contents of which are hereby incorporated by reference. Checkout stations 301' and 302' each have the same capabilities and hardware as checkout station 300'.
Fourth Preferred Embodiment
A system in accordance with a fourth preferred embodiment of the present invention will now be described. The fourth preferred embodiment includes the features of the first preferred embodiment, except for differences as described below. Figs. 18A and 18B are each a partial view of store 1'". Fig. 19 shows another aspect of the third preferred system. Execution thread 330'" is in checkout station 300'", execution thread 331"'is in checkout station 301'", and execution thread 332'" is in checkout station 302'". Fig. 20 is a block diagram of checkout station 300'" including cash register system
30 and card interface system 20. Cash register system 30 may include an IBM 4680-4690 Point of Sale System. CPU 350 executes a plurality of instructions 343'" in random access, addressable memory 323. Memory 323 stores total price 346, which is a sum of a basic retail price for the products selected by the current customer. Memory 323 stores total tender amounts 339, which are sums of various types of value tenders for the current customer. Tender amounts 339 include a respective memory area for cash, a respective memory area for checks, a respective memory area for food stamps, a respective memory area for a certain kind of credit card, a respective memory area for another kind of credit card, etc. Memory 323 stores total discount amounts 340, which are sums of various types of discounts for the current customer. Memory 323 also stores an amount due 348, which is a result of a calculation including total price 346, total discount amounts 340, and total tender amounts 339.
Each of bus interfaces 324 and 311 recognizes a respective bus address on RS-485 serial bus 351. Interface 324 recognizes a bus address for poll display 317, and interface
311 recognizes a bus address for bar code reader 310. CPU 350 communicates with a peripheral device by first sending the device's bus address on bus 351. For example, to write data to pole display 317, CPU 350 sends the bus address of pole display 317 via bus 351 and then sends data to be written via bus 351. Pole display 317 acts to receive a command for writing the data in response to a recognition of pole display 317 bus address by interface 324.
To read data from peripheral devices, CPU 350 polls each input device by sending a respective device bus addresses on bus 351 and listening for a response.
Cash register keyboard 318 allows manual entry of alpha-numeric-data, which is sent to CPU 350 via bus interface hardware 357, bus 353, bus interface hardware 356, CPU 352, bus interface hardware 341, and bus 351. CPU 352 and bus interface hardware 341 cooperate to recognize a bus 351 address for cash register keyboard 318. Thus, to CPU 350, cash register keyboard 318 appears to be a device on bus 351.
CPU 352 in the fourth preferred embodiment receives product UPC codes. generated by bar code reader 310, from the IBM 4680-4690 cash register system via
RS-485 serial bus 351.
In card interface system 20, CPU 352 executes program 342'" in memory 333. CPU 352 and program 342'" act to receive electronic coupons from a customer card, via reader/writer 315. Memory 333 also includes a redemption control table 347, which enables CPU 352 to determine if a product has a corresponding electronic coupon offer.
When the clerk activates the TOTAL key on keyboard 318, CPU 350 determines the total amount due for the checkout transaction by subtracting each of discount amounts 25, 26, 27, and 28 from the results of a total product price calculation based on total price 346. This subtraction acts to effect discounts received from CPU 350 because card interface system 20 will have sent discount entries as emulated keyboard input via interface
341 and bus 351. Such emulated keyboard input will have been processed by CPU 350. CPU 352 does not receive UPC product codes via a signal dedicated to CPU 352. Instead, CPU 352 monitors bus 351, via interface hardware 341, to detect UPC product codes from bar code reader 310. Hardware 341 may assume a variety of forms. Hardware 341 may effect digital logic to recognize a bus address for bar code reader 310, to interrupt
CPU 352 and cause CPU 352 to execute an interrupt routine to monitor any response sent from bar code reader 310 to CPU 350. Alternately, hardware 341 may both recognize the bus address for bar code reader 310 and monitor any data response from reader 310 to CPU 350, to buffer a complete UPC product code for sending to CPU 352. Because CPU 352 is in the signal path between cash register keyboard 318 and
CPU 350, CPU 352 also detects UPC product codes entered manually via cash register keyboard 318.
When CPU 352 receives a product UPC code, CPU 352 searches for the product UPC code in redemption control table 347. CPU 352 determines whether the qualifier conditions are satisfied for the coupon of the matching entry in table 347. If the qualifier conditions are satisfied.
CPU 352 sends discount information to CPU 350, in the form of key sequences for discount entries reflecting values of the discount. In response to such a key sequence, CPU 350 adds to discount amount 26 and may print text on printer 354 via bus 351 and interface hardware 358.
In summary, station 300'" includes bar code reader 310 for generating product code signals identifying products selected for purchase, and keyboard 318 for sending keyboard signals to the CPU 350. Station 300'" acts to send each product code signal from reader 310 to CPU 350. Station 300'" also acts to send each product code signal to CPU 352, via a signal path that excludes program 343'" and CPU 350. CPU 350 acts to determine a basic price responsive to the product code signal. Responsive to receiving a product code signal, CPU 352 acts to send a discount signal in a format of emulated keyboard signals. Responsive to the basic total price 346 and the discount signal, CPU 350 acts to determine a total amount due 348 . Thus, CPU 350 executes program 342'" to effect execution thread 330'". CPU 352 executes program 343'" to effect execution thread 320'", as a thread separate from thread 330"'.
Execution thread 330'" includes program 342'", which is essentially a plurality of instructions, sequentially fetched and executed by CPU 350, and a program counter (PC) 362' indicating a next instruction to be executed in program 342'".
Execution thread 320'" includes program 343'", which is essentially a plurality of instructions, sequentially fetched and executed by CPU 350, and a program counter (PC) 363' indicating a next instruction to be executed in program 343'".
Because programs 342'" and 343'" run in separate random access memories, programs 342" and 343" run in separate address spaces.
Thus, each thread is essentially a computation that proceeds independently of the other thread, except for execution of any synchronizing or blocking instructions.
A signal path that carries a UPC product code from bar code reader 310 to program 343'" includes interface hardware 311, bus 351, and CPU 350. A parallel signal path that carries the UPC product code from bar code reader 310 to program 342'" includes interface hardware 311, bus 351, interface hardware 341 and CPU 352. This parallel signal path excludes program 343'" and CPU 350.
Execution thread 320'" in the fourth embodiment performs essentially the same processes as those described in connection with execution thread 320 in the first embodiment. Execution thread 330'" in the fourth embodiment performs essentially the same processes as those described in connection with execution thread 330 in the first embodiment.
More detailed information for implementation of the fourth embodiment of the invention in the instant application may be found in copending Application of Ken R. Powell, Eleanor B. Maxwell, And Corey C. Snook, filed May 24, 1999 for REGISTER
SYSTEM CONFIGURATIONS AND METHODS FOR A STORE, the contents of which are hereby incorporated by reference.
Thus, the embodiments of the invention described above process card-based promotions without monitoring network 7, or otherwise being responsive to signals on network 7. Execution threads 320, 320', 320", and 320'" receive signals, identifying purchase products, through a signal path that excludes network 7.
Although the execution threads 320, 320', 320", and 320'" described above each generate a signal, affecting a total amount due, responsive to a customer specific signal, in the form of coupons on a customer's card, generation of this type of signal need not be responsive to customer specific information, and may instead be a function of a all-customer discount as disclosed in the second embodiment of the invention in copending application of KEN R. POWELL, ELEANOR B. MAXWELL, and COREY C. SNOOK for SYSTEM AND METHOD EMPLOYING A PORTABLE CARD TO CONFIGURE A STORE FOR PRODUCT PROMOTION, Serial No. 09/301,747, filed April 29, 1999, the contents of which is herein incorporated by reference.
Further, in its broadest sense the invention my encompass sending this type of signal responsive solely to a profile of the customer or solely to past purchasing patterns as represented by accumulated points for example.
Additional advantages and modifications will readily occur to those skilled in the art. The invention in its broader aspects is therefore not limited to the specific details, representative apparatus, and illustrative examples shown and described. Accordingly, departures may be made from such details without departing from the spirit or the scope of Applicants' general inventive concept. The invention is defined in the following claims.

Claims

What is claimed is: 1. A system in a store with a plurality of products, the system comprising: a plurality of register stations, each register station including a bar code reader that generates a first signal identifying a product selected by the customer; a first instruction set with a first instruction location signal; and a signal path that transfers the first signal to the first instruction set, wherein register station is associated with a respective second instruction set, with a respective second instruction location signal, that sends a second signal to the first instruction set; and a signal path that transfers the first signal from the bar code reader to the second instruction set, and wherein the first instruction set includes logic that determines a total amount due, by receiving the first signal and second signals.
2. The system of claim 1 wherein each first instruction set is in a respective first address space, and each second instruction set is in a respective second address space.
3. The system of claim 1 wherein each register station further includes a first processing unit that executes the first instruction set, and the system further includes a plurality of second processing units, each second processing unit for executing a respective one of the second instruction sets.
4. The system of claim 1 wherein each register station further includes a first memory that stores the first instruction set, and the system further includes a plurality of second memories, each second memory storing a respective one of the second instruction sets.
5. The system of claim 1 wherein each second instruction set is in the respective one of the register stations.
6. The system of claim 1 further including a central computer that communicates product pricing information with each of the first instruction sets.
7. The system of claim 1 further including a network including a common computer that communicates pricing information, wherein each register station is in the network, and wherein the second instruction set, of each register station, receives the second signals from a signal path that excludes the network.
8. In a system including a store with a plurality of products, and a plurality of register stations, each including a bar code reader, and a first instruction set with a first instruction location signal, wherein the system further includes a plurality of second instruction sets, each with a respective second instruction location signal, a of method comprising the steps, performed in each register station to perform a checkout transaction for a customer, of: using the bar code reader to generate a first signal identifying a product selected by the customer; sending the first signal to the first instruction set; and sending the first signal to a respective one of the second instruction sets, and the method further includes subsequently sending, from the respective one of the second instruction sets, a second signal to the first instruction set; and determining, in the first instruction set, a total amount due from the customer, by receiving the first signal and second signals.
9. The method of claim 8 wherein the system further includes a plurality of portable cards each having a card memory, and wherein the method further includes the step, performed before sending the second signal to the first instruction set, of receiving, in the respective one of the second instruction sets, signals from the card memory of one of the portable cards.
10. The method of claim 9 wherein sending the first signal to the respective one of the second instruction sets includes sending the first signal to the respective one of the second instruction sets via a signal path that excludes the first instruction set.
11. The method of claim 9 each register station includes a respective one of the second instruction sets, and wherein the step of sending a second signal is performed in a register station.
12. The method of claim 9 further including communicating product pricing information from a common computer to each of the first instruction sets.
13. The method of claim 8 wherein the system further includes a plurality of portable cards each having a card memory, and wherein the method further includes the step, performed in the second instruction set, of deciding whether to send a second signal to the first instruction set, depending on a content of the card memory of one of the portable cards.
14. The method of claim 13 wherein sending the first signal to the respective one of the second instruction sets includes sending the first signal to the respective one of the second instruction sets via a signal path that excludes the first instruction set.
15. The method of claim 13 each register station includes a respective one of the second instruction sets, and wherein the step of sending a second signal is performed in a register station.
16. The method of claim 13 further including communicating product pricing information from a common computer to each of the first instruction sets.
17. The method of claim 8 wherein sending the first signal to the respective one of the second instruction sets includes sending the first signal to the respective one of the second instruction sets via a signal path that excludes the first instruction set.
18. The method of claim 8 each register station includes a respective one of the second instruction sets, and wherein the step of sending a second signal is performed in a register station.
19. The method of claim 8 further including communicating product pricing information from a common computer to each of the first instruction sets.
20. The method of claim 8 further including executing each first instruction set is in a respective first address space, and executing each second set of instructions is in a respective second address space.
21. The method of claim 8 further including executing the first instruction set with a first processing unit and executing each second instruction set with a respective second processing unit.
22. The method of claim 8 further including executing each first instruction set in a respective first memory and executing each second instruction set in a respective second memory.
23. The method of claim 8 further including executing each second instruction set in the respective one of the register stations.
24. The method of claim 8 wherein the system further includes a network with a common computer, and the method further includes communicating pricing information with the common computer; and the method further includes receiving the first signal in the second set of instructions, from a signal path that excludes the network.
PCT/US2000/011662 1999-04-29 2000-04-28 Computer system with program configurations and methods for a store WO2000067175A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU46829/00A AU4682900A (en) 1999-04-29 2000-04-28 Computer system with program configurations and methods for a store
CA002371678A CA2371678A1 (en) 1999-04-29 2000-04-28 Computer system with program configurations and methods for a store

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US09/301,749 1999-04-29
US09/301,749 US7085731B1 (en) 1999-04-29 1999-04-29 Computer system configuration and method for a store
US31744099A 1999-05-24 1999-05-24
US09/317,440 1999-05-24
US32066499A 1999-05-27 1999-05-27
US09/320,664 1999-05-27

Publications (1)

Publication Number Publication Date
WO2000067175A1 true WO2000067175A1 (en) 2000-11-09

Family

ID=27404832

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/011662 WO2000067175A1 (en) 1999-04-29 2000-04-28 Computer system with program configurations and methods for a store

Country Status (3)

Country Link
AU (1) AU4682900A (en)
CA (1) CA2371678A1 (en)
WO (1) WO2000067175A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5227874A (en) * 1986-03-10 1993-07-13 Kohorn H Von Method for measuring the effectiveness of stimuli on decisions of shoppers
US5393965A (en) * 1990-11-13 1995-02-28 Symbol Technologies, Inc. Flexible merchandise checkout and inventory management system
US5646389A (en) * 1990-11-13 1997-07-08 Symbol Technologies, Inc. Inventory management system using coded re-order information
US5697844A (en) * 1986-03-10 1997-12-16 Response Reward Systems, L.C. System and method for playing games and rewarding successful players
US5759101A (en) * 1986-03-10 1998-06-02 Response Reward Systems L.C. Central and remote evaluation of responses of participatory broadcast audience with automatic crediting and couponing

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5227874A (en) * 1986-03-10 1993-07-13 Kohorn H Von Method for measuring the effectiveness of stimuli on decisions of shoppers
US5697844A (en) * 1986-03-10 1997-12-16 Response Reward Systems, L.C. System and method for playing games and rewarding successful players
US5759101A (en) * 1986-03-10 1998-06-02 Response Reward Systems L.C. Central and remote evaluation of responses of participatory broadcast audience with automatic crediting and couponing
US5916024A (en) * 1986-03-10 1999-06-29 Response Reward Systems, L.C. System and method of playing games and rewarding successful players
US5393965A (en) * 1990-11-13 1995-02-28 Symbol Technologies, Inc. Flexible merchandise checkout and inventory management system
US5646389A (en) * 1990-11-13 1997-07-08 Symbol Technologies, Inc. Inventory management system using coded re-order information

Also Published As

Publication number Publication date
CA2371678A1 (en) 2000-11-09
AU4682900A (en) 2000-11-17

Similar Documents

Publication Publication Date Title
US6317650B1 (en) System and method employing portable cards to monitor a commercial system
US6456980B1 (en) Transaction systems and methods sending product identification signals to two processors in each register station
US5956694A (en) System and method for distributing and processing discount coupons
US5890135A (en) System and method for displaying product information in a retail system
US5806044A (en) System and method for distributing coupons through a system of computer networks
US5887271A (en) System and method for locating products in a retail system
US6055509A (en) System and method for transferring identification information between portable cards in a computerized retail store having communication among a plurality of computers
US5727153A (en) Retail store having a system of receiving electronic coupon information from a portable card and sending the received coupon information to other portable cards
US6339762B1 (en) Retail store efficiently configured to distribute electronic coupons at multiple product locations
US5924078A (en) Consumer-provided promotional code actuatable point-of-sale discounting system
US5717866A (en) Method for comparative analysis of consumer response to product promotions
US6354492B1 (en) System and method employing a portable card to configure a store for product promotion
US7240023B1 (en) System and method for distributing coupons through a system of computer networks
US7085731B1 (en) Computer system configuration and method for a store
US20020173972A1 (en) Systems and methods of product promotion
US20040073487A1 (en) Retail systems and methods employing a product shelf interface to provide purchase incentives
US20020120495A1 (en) Retail systems and methods employing a product shelf display to provide purchase incentives
WO2000067175A1 (en) Computer system with program configurations and methods for a store
US20020016738A1 (en) Computer system
WO1997030411A1 (en) System and method for displaying product information in a retail system
WO2001050392A2 (en) Systems and methods for processing discount offers
WO2001046894A2 (en) Systems and methods of configuring stores for product promotion
WO2001048717A2 (en) Retail systems and methods employing a shelf display to provide purchase incentives
MXPA98006781A (en) System and method for distributing coupons through a system of computer networks
MXPA99007439A (en) Computer network for a retail system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU CA JP MX NO

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

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)
ENP Entry into the national phase

Ref document number: 2371678

Country of ref document: CA

Ref country code: CA

Ref document number: 2371678

Kind code of ref document: A

Format of ref document f/p: F

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP