Abstract:
A promotion verification method which is based upon locally stored information. The promotion verification method includes recording entry of a promotion code by a computer, determining a key from the promotion code by the computer, and applying the key to obtain promotion information associated with the promotion code by the computer.

Description:
BACKGROUND 
       [0001]    Entertainment kiosks are available which rent and/or sell digital media, including but not limited to movies, television shows, music, music videos, video game software, and a wide array of additional file types and file formats. 
         [0002]    These kiosks may deliver digital media in different ways, including compact discs (CDs), digital video discs (DVDs), download to portable storage devices, and wireless download to portable storage devices. 
         [0003]    Entertainment kiosks are connected to host servers. The kiosk periodically performs tasks, such as updating inventory, processing payment, and processing special promotions. The connection typically includes a cellular communications connection. 
         [0004]    Entertainment kiosks may generate, disseminate, and redeem special promotions. Special promotions may include discounts, such as free rentals. In order to process a discount, a kiosk may have to connect to the host server to verify that the special promotion is valid and applicable. Verification adds delay to transactions, particular when the kiosk is offline, i.e., not connected to the host server. 
         [0005]    It would be desirable to provide an alternative method of processing special promotions for entertainment kiosks and other promotion systems. 
       SUMMARY 
       [0006]    A promotion verification method is provided. 
         [0007]    The promotion verification method includes recording entry of a promotion code, determining a key from the promotion code, and applying the key to obtain promotion information associated with the promotion code. 
         [0008]    The promotion verification method may be applied to entertainment transactions at an entertainment kiosk. A promotion verification method for an entertainment kiosk includes receiving a key associated with a promotion code for the promotion and corresponding promotion information encrypted using the key from a host computer during a connection with the host computer, storing the key and the promotion information in local storage, recording entry of the promotion code by a customer during a transaction involving an entertainment item, determining the key from local storage using the promotion code, and applying the key to obtain the promotion information. 
         [0009]    The method may further include determining whether the promotion is applicable to the entertainment item and whether the promotion is expired, displaying an indication to the customer when the promotion is applicable, and including the promotion in the transaction when the promotion is applicable. 
         [0010]    The promotion verification method may be implemented when the entertainment kiosk is not connected to the host computer. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0011]      FIG. 1  is a block diagram of an example kiosk. 
           [0012]      FIG. 2  is a view illustrating the example kiosk. 
           [0013]      FIG. 3  is a flow diagram illustrating an example digital media transaction method. 
       
    
    
     DETAILED DESCRIPTION 
       [0014]    Referring now to  FIG. 1 , example kiosk  12  includes an entertainment kiosk  12 . Other types of kiosks and computer systems are also envisioned. 
         [0015]    Example kiosk  12  includes computer  20 , display  22 , input device  24 , payment peripheral  26 , and printer  28 . Since example kiosk  12  is an entertainment kiosk, it includes additional components for that purpose, including digital media identifier  30 , transport system  32 , and inventor data store  34 . 
         [0016]    Computer  20  includes a processor, memory, and program and data storage. Computer  20  may execute an operating system such as a Microsoft operating system, and a web browser for viewing web pages. 
         [0017]    Computer  20  controls operation of kiosk  12 . Computer  20  executes transaction software  40 , which displays images of screens and records operator selections from those screens during a digital media transaction. 
         [0018]    A digital media transaction may include a rental or sale of digital media. Digital media may include, but not be limited to, movies, television shows, music, music videos, video game software, and a wide array of additional file types and file formats. 
         [0019]    Transaction software  40  also verifies promotions presented by customers. Promotions may include discounts, alone or tied to other offers, to encourage or reward customers. An example promotion may include one rental of a movie at no cost to the customer. 
         [0020]    Promotions may originate from host server  16 . Host server  16  executes host promotion software  18 , which generates promotions. In one example embodiment, promotions may be identified by promotion codes, which may be any sequence of alphanumeric characters. An example promotion code may be five to eight characters long. Promotion software  18  generates many promotion codes from a limited number of promotions, i.e., a single promotion may result in a large number of valid promotion codes. 
         [0021]    Host server  16  sends information  42  for verifying that the promotions are valid and applicable, i.e., not fraudulent or expired, to kiosk  12  for local storage. In one example, promotion verification information  42  includes definitions of promotions, conversion software, and one or more keys. The promotion definition information defines the promotion, e.g., one free rental, and may include limitations, such as a period of time that the promotion is valid. 
         [0022]    Host server  16  may make promotions available in various ways. For example, host server  16  may send promotions to customer email addresses. As another example, host server  16  may publish promotions on a web site. As another example, host server  16  may send promotions to kiosk  12  via network  14 . Kiosk  12  displays the promotions during a transaction and/or prints the promotions on a customer receipt during the transaction. Promotions may also be delivered via traditional routes, such as direct mail advertising. 
         [0023]    Transaction software  40  uses promotion verification information  42  from host server  16  to determine whether promotions presented by customers during transactions are valid and applicable. Advantageously, kiosk  12  need not be connected to host server  16  during verification of a promotion. 
         [0024]    For example, promotion software  18  uses the conversion software to convert the promotion definitions to a secure form, or converts other indicia associated with the promotion definitions to a secure form, e.g., a promotion identifier having a one-to-one association with a particular promotion definition. Kiosk  12  may easily store the limited number of possible promotion definitions and keys as an alternative to storing the large number of promotion codes generated by promotion software  18 . 
         [0025]    Promotion software  18  may generate one or more keys for use in conversion and may require a passphrase in order to use a key. Promotion software  18  may further issue the passphrase as a promotion code. An example passphrase/promotional code may be five to eight characters long. In one embodiment, promotion software  18  may use commonly available encryption software to generate a public key, a private key, and a private key passphrase, and to encrypt the promotion definition (or promotion identifier) using the public key. Promotion software  18  issues the private key passphrase as the promotion code. 
         [0026]    Promotion software  18  may produce and send out many different promotion codes for the same promotion. Host server  16  sends promotion verification information  42  to kiosk  12  during periods of network connectivity. Kiosk  12  stores promotion verification information  42  locally. 
         [0027]    When a customer presents a promotion code during a transaction, transaction software  40  applies the promotion code to stored keys. If the promotion code has a pre-established relationship with one of the keys, transaction software applies the one key to convert an associated file to obtain the promotion definition information. In the one embodiment, transaction software  40  applies the promotion code to private keys. If the promotion code has a pre-established relationship with one of the private keys, e.g., was used to create the private key, transaction software applies the one key to decrypt an associated file to obtain the promotion definition information. 
         [0028]    If conversion produces one of the promotion definitions, and if all limitations of the one promotion definition are satisfied, then transaction software  40  treats the promotion code as valid and includes the promotion in the transaction. 
         [0029]    Host server  16  may periodically update promotion verification information  42  to enhance security and minimize loss from theft or unauthorized cracking of promotion verification information  42 . For example, host server  16  may periodically send out one or more of new promotion definitions, a new or different version of conversion software, and a new key during periods of network connectivity between kiosk  12  and host server  16 . 
         [0030]    Display  22  displays the images of the transaction screens. 
         [0031]    Input device  24  records operator selections during a digital media transaction. Input device  24  may include a touch sensitive overlay or a keyboard. Input device  24  and display  22  may be combined as a touch screen  36 . 
         [0032]    Payment peripheral  26  may include a card reader for reading credit, debit, and/or loyalty cards. Payment peripheral  26  may additionally include a barcode reader for reading barcodes on coupons and other promotions. Other types of kiosks may include other types of payment peripherals, such as a currency acceptor, a currency dispenser, a coin acceptor, and a coin dispenser. 
         [0033]    Printer  28  includes a receipt printer, but may print additional information, such as coupons or other offers or promotions. 
         [0034]    Digital media identifier  30  identifies digital media items. Digital media identifier  30  may include a radio frequency identification (RFID) reader for reading RFID tags on digital media items. 
         [0035]    If the representative indicators include numbers or other product identifiers, customers may enter the product identifiers using input device  24 . 
         [0036]    Transport system  32  delivers digital media items from storage locations within inside kiosk  12  to customers following identification of digital media items and payment. Transport system  32  may transport physical discs or electronically download digital media items in to suitable electronic storage devices, such as customer provided mobile devices. 
         [0037]    Digital media identifier  30  may be located along the transport path, facilitating identification. Digital media identifier  30  may also be used to identify dispensed digital media items. 
         [0038]    Inventory data store  34  contains an inventory of digital media items within kiosk  12 , either physical discs or digital media files or both. Transaction software  40  updates the inventory of digital media items each time a digital media item is dispensed or received. Transaction software  40  may also send updated inventory information to host server  16  via network  14 . Host server  16  may manage inventory in a plurality of kiosks  12 . 
         [0039]    Network  14  may include a cellular communication network, a global communications network also known as the Internet, a wired or wireless network, or any combination of such networks. 
         [0040]    Referring to  FIG. 2 , an example kiosk  12  is illustrated. 
         [0041]    Example kiosk  12  includes housing  50  for storing digital media items in cases. Kiosk  12  further includes touch screen  52 , auxiliary display  54 , card reader  56 , printer  58 , and dispense and retrieve port  60 . 
         [0042]    Auxiliary display  54  displays movie trailers, promotions, and other information under the control of transaction software  40 . 
         [0043]    Dispense and retrieve port  60  includes a slot from which digital media items in cases are dispensed and into which empty cases may be inserted. Digital media identifier  30  may be located in dispense and retrieve port  60  or on transport system  32 . 
         [0044]    Referring now to  FIG. 3 , an example digital media transaction method begins with step  70 . 
         [0045]    In step  70 , transaction software  40  displays one or screens containing selections for digital media items and instructions for completing a digital media rental transaction. 
         [0046]    In step  72 , transaction software  40  records customer selection of one or more digital media items via touch screen  36 . 
         [0047]    In step  74 , transaction software  40  records customer selection of a payment option via touch screen  36  where the payment option includes entry of a promotion code. 
         [0048]    In step  76 , transaction software  40  records customer entry of the promotion code via touch screen  36 . Other methods of entering promotion codes are also envisioned. For example, a customer may scan a barcode containing the promotion code from an email, flyer, coupon, or other document referencing a promotion using a barcode reader. 
         [0049]    In step  78 - 80 , transaction software  40  uses the conversion software to apply the promotion code as a passphrase against stored keys until a key is found that has a pre-established relationship with the promotion code, or until all keys have been examined and no such key is found. If the promotion code has a pre-established relationship with one of the keys, operation proceeds to step  84 . Otherwise, operation proceeds to step  82 . 
         [0050]    In step  82 , transaction software  40  displays an indication that the promotion code is not valid. Operation proceeds to step  92 . 
         [0051]    In step  84 , transaction software  40  applies the key to convert an associated file to obtain promotion definition information or a promotion identifier. 
         [0052]    In step  86 , transaction software  40  examines the promotion definition for applicability. If all limitations of the promotion definition are satisfied, operation proceeds to step  88 . Otherwise, operation proceeds to step  82 . 
         [0053]    In step  88 , transaction software  40  displays an indication that the promotion code is valid. 
         [0054]    In step  90 , transaction software  40  includes the promotion in the transaction. For example, if the promotion includes a discount, transaction software  40  applies the discount to the transaction total to obtain a reduced transaction total. 
         [0055]    In step  92 , transaction software  40  processes any payment due. For example, transaction software  40  processes a credit card payment via payment peripheral  26 . Transaction software  40  may cause printer  28  to print a receipt with another promotion code. 
         [0056]    Advantageously, no kiosk-to-server connection is required during verification, nor is a local cache of promotion codes. The solution facilitates generation and of massive numbers of valid promotional codes with little effort and no requirement to store these promotional codes in kiosk  12 . 
         [0057]    Although particular reference has been made to certain embodiments, variations and modifications are also envisioned within the spirit and scope of the following claims.