Abstract:
A method and system for vending products from a defined area, such as a micro-warehouse with a door. The method includes fitting each product with a radio frequency identification tag, positioning the plurality of products in a micro-warehouse, sensing opening and closing of the micro-warehouse door, scanning the plurality of products in the micro-warehouse upon sensing closing of the door to determine the number and type of products in the micro-warehouse, generating a message based on the number and type of products in the micro-warehouse, transmitting the message to a remote processor or server, and maintaining an inventory in the remote processor based on the message.  
     The system is designed to be accessed by authorized individuals possessing some type of code or identifying mechanism. The micro-warehouses may be cabinets, refrigerators, secured rooms, or similar storage units or areas. Each micro-warehouse has an output device such as a light or display, a door, an antenna mounted on or in the micro-warehouse, and a controller coupled to the antenna. Using a signal from the antenna or other input device, the controller is operable to check the identity of the individual accessing the micro-warehouse. If the user is authorized, the controller opens the door and the user may remove products from the micro-warehouse. Once the user closes the door, the controller performs a scan of the products remaining in the micro-warehouse to determine the identity of each of the products. The controller then generates a message including the identity of each of the products, and sends that message to the server.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    The present invention relates to methods and systems for distributing products to customers. More particularly, the invention relates to a method and system that tracks the use of products using radio frequency tags and provides information to a central computer to enable automated restocking, inventory, tracking, or reordering of the products.  
           [0002]    The Internet, EDI, and similar systems permit businesses and ordinary consumers to order goods. However, the delivery of those goods still depends on distribution systems that are based in the physical world. The science-fiction ideal of being able to instantly have goods pop out of a computer or to receive them through a “transporter” or some other device has not yet been realized, and probably will not for many, many years. Presently, consumers may have goods shipped via various overnight delivery services. One drawback of present delivery technology is that it is primarily paper-based. Orders are made on paper and delivery involves shipping invoices, receipts, and other paperwork, which is costly to handle and annoying to many people. Even with technology that is not paper-based, ordering and receiving goods requires a number of steps. For example, for a typical Internet order, a consumer must view the applicable Web site, select the item, such as by clicking on an icon, fill out an electronic order form, and wait for the product to be delivered. Regardless of whether paper-based or electronic technology is used, present delivery methods usually require that the customer or his or her agent be present at a physical location to take the delivery of the ordered product. Further, delivery is usually made to a loading dock or similar location. This requires some internal distribution system to deliver the goods from the initial delivery point to the location where it is actually needed.  
         SUMMARY OF THE INVENTION  
         [0003]    Accordingly, there is a need to improve the distribution of goods so that consumers experience distribution of goods at a location proximate to where the consumer will use the goods without requiring paper or computer ordering. There is also a need for a distribution system that requires less user intervention and data input than existing systems.  
           [0004]    The invention provides a system and method where a user need only find the product of interest and take that product. As compared to most Internet-based systems and methods, the invention is “clickless.” In other words, the invention requires little or no manual input from users. The invention provides a system for distributing a plurality of products. Each of the products has a radio frequency (“RF”) tag. As used herein, radio frequency means electromagnetic radiation that lies between audible and infrared radiation. Each tag is encoded with a unique identifying code. In one embodiment, the system is designed to be accessed by individuals possessing a radio frequency user badge with an identifying code. Alternatively, the system could rely on magnetic swipe cards, password systems, biometric devices (such as a retinal scanner, thumbprint reader, voice identification unit, or the like), or other systems for limiting access to authorized individuals.  
           [0005]    The system includes one or more cabinets, refrigerators, similar storage units, (generically referred to as “micro-warehouses”) or even secured rooms that are stocked with the RF tagged products and accessed by individuals through one of the mechanisms described above. In one embodiment, each micro-warehouse has a door that may be equipped with a lock (such as an electric actuated lock), an antenna or antenna array mounted on or in the micro-warehouse, a client controller coupled to the lock and the antenna, and an output device such as a light or display. Using a signal from the antenna or other input device, the client controller checks the identity of the individual accessing the micro-warehouse, such as by reading the code of the user badge. The output device is then activated to indicate whether the individual attempting to access the micro-warehouse is authorized to access the unit. If the code or other identifier matches stored records of authorized users, the client controller opens the door and the user may remove desired products from the micro-warehouse. Once the user closes the door, the client controller performs a scan of the products remaining in the micro-warehouse to determine the identity of each of the products. The client controller then generates a message including the identity of each of the products or other message related to the products taken, and sends that message to a server. The server tracks product and user information automatically, that is, without relying on user input. In particular, the server tracks product inventory, customer usage, restocking, usage frequency, faults, micro-warehouse temperature, timing, and other information. The server also generates orders for products taken from the micro-warehouse by the user. The server can be programmed to automatically place those orders, with the result that the system is “clickless.” That is, the system eliminates the need for the customer to re-order consumed items.  
           [0006]    In addition to the features noted above, the system may also locate the position or presence of one or more specific products in a micro-warehouse by conducting a scan of the micro-warehouse. In this way, the system can sense a disordered state of the product in the micro-warehouse. For example, the system can detect whether all of the components in a kit product are in the relevant kit box. Further, a product scan can detect whether any product in the micro-warehouse has been recalled, expired, or is otherwise not suitable for use. Upon detecting such a product, the system refuses access to the micro-warehouse until an administrator removes the product or otherwise addresses the situation.  
           [0007]    The invention also provides a method of distributing a plurality of products from a micro-warehouse. The method may include fitting each product with a radio frequency identification tag, positioning the plurality of products in the micro-warehouse, sensing opening and closing of the micro-warehouse door, scanning the plurality of products in the micro-warehouse upon sensing closing of the door to determine the number and type of products in the micro-warehouse, generating a message based on the number and type of products in the micro-warehouse, transmitting the message to a remote processor or server, and maintaining an inventory in the server based on the message.  
           [0008]    The method and system permit up-to-date information to be provided to the server which, in turn, can be connected to ordering and manufacturing information systems to ensure prompt re-stocking of the micro-warehouses. The system can be designed with multiple levels of access. For example, multiple micro-warehouses may be located within a secure room and a user badge may be encoded to permit a user to access the room only, a limited number of warehouses in the room, or all the warehouses in the room.  
           [0009]    As is apparent from the above, it is an advantage of the present invention to provide a method and system of identifying and distributing products. Other features and advantages of the present invention will become apparent by consideration of the detailed description and accompanying drawings. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0010]    In the drawings:  
         [0011]    [0011]FIG. 1 is a schematic diagram of a system embodying the invention.  
         [0012]    [0012]FIG. 2 is schematic diagram of the server and client controller of the system shown in FIG. 1 illustrating the architecture of the enterprise application of the server and the architecture of the software on the client controller.  
         [0013]    [0013]FIG. 3 is an illustration of the flow of products and information in a distribution system of the invention.  
         [0014]    [0014]FIG. 4 a  is a flowchart of the software&#39;s boot up routine of the invention.  
         [0015]    [0015]FIG. 4 b  is a flowchart of the software of the invention. 
     
    
     DETAILED DESCRIPTION  
       [0016]    Before the invention is explained in detail, it is to be understood that the invention is not limited in its application to the details of the construction and the arrangements of the components set forth in the following description or illustrated in the drawings. The invention is capable of other embodiments and of being practiced or being carried out in various ways. Also, it is to be understood that the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting.  
         [0017]    [0017]FIG. 1 illustrates a system  10  embodying the invention. The system  10  includes two servers (maintenance and commerce)  11  and  12  that create and maintain user lists, perform inventory, account, ordering functions, and monitoring functions, such as microwarehouse status, monitoring temperature and other faults. Servers  11  and  12  may communicate with a client (discussed below) using standard protocols such as TCP/IP, or other protocols over a network  13 . The network  13  may be the Internet, a telephone network, a wireless network, power line carrier (“PLC”) network, or combinations thereof. Servers  11  and  12  include standard hardware and operating system software (not shown). Running on top of the hardware and operating system software is a micro-warehouse (“MW”) enterprise application  14 . The MW enterprise application  14  accesses a profile database  15  that includes a registration module  16 , an order history module  18 , an account set-up module  20 , and a stock request module  22 . Each of the modules  16 - 22  is maintained for each client coupled to the server  12 . The modules may be configured with web content designed to be accessible using protocols for the World Wide Web section of the Internet.  
         [0018]    As best seen by reference to FIG. 2, the MW enterprise application  14  performs numerous functions. Broadly, the MW enterprise application  14  controls the arrangement of the RFID user badges (discussed below), manages communication sessions with clients connected to the server  12 , maintains an inventory of products for each client connected to the servers  11  and  12 , checks inventory of the MW and other local MWs before ordering a product, manages security of communications, provides system administration functionality, and monitors and maintains the health of clients connected to the servers.  
         [0019]    The registration module  16  provides part of the inventory functionality of the server  12  by providing access to information regarding the location of clients connected to the server  12 . In the invention, the clients take the form of MWs. The registration module also provides access to information regarding sales persons assigned to a particular MW and identification numbers for each MW. The registration module  16  may access a MW database  24 .  
         [0020]    The order history module  18  provides a history of orders for each MW and product preferences for each MW. The account set-up module provides administrative screens for payment authorization, user information, and similar information. The stock request module  22  controls inventory replenishment based on usage and on specific customer requests and similar information.  
         [0021]    The server  12  also accesses a commerce engine  30  that uses information received from the client to generate orders that are delivered to the manufacturing infrastructure (not shown) that produces products to be distributed using the system and method of the invention. The information may be used by marketing, customer relation management (“CRM”), billing, and other systems and functions. For example, the invention may be used in the distribution of life science research products such as enzymes, assays, cloning vectors, component cells, and the like. (Of course, a wide variety of non-biological products could be distributed using the invention.) The information provided by the server  12  is used in the manufacturing infrastructure to ensure proper production of products according to the demand for such products. As noted above, the server  12  may be coupled to a plurality of clients. An exemplary client in the form of a MW  35  is shown in FIGS. 1 and 2. While only one client is shown, the number of clients connected to the server  12  is limited only by the server&#39;s internal capacity and the capacity of the network  13 .  
         [0022]    The MW  35  may take the form of a refrigerated cabinet, a freezer, or other storage container. A secured storeroom, similar location, or other defined area could also be outfitted with a client controller and other components, as described herein, and be used to store products. As shown, the MW  35  includes a door  37 , an electric actuated lock  39  and/or a proximity sensor  40 , and an output device that may take the form of audio device or light  41 . Other output devices such as a voice synthesis device, a display screen, and the like may also be used. The MW  35  is configured with an antenna array  43 . The antenna array  43  is coupled to a client controller  45 . In one embodiment, the invention may include an antenna with two vertically polarized array antennas. The antenna  43  is an RF receive and transmit device which communicates with a transponder device or tag (discussed in greater detail below). In one embodiment, the tag is a passive tag and powered by energy from the antenna.  
         [0023]    The MW  35  may include a specialized card reader  47  in the form of a magnetic card swipe device, an antenna, a fingerprint reader, or similar device. The specialized card reader  47  is coupled to the client controller  45  via a communication link  49 . The MW  35  may also include an internal and ambient temperature sensor  55 . If included, the temperature sensor  55  is preferably positioned such that it can sense the temperature of the interior of the MW  35 . The temperature sensor  55  is coupled to the client controller  45  to provide temperature information to the client controller. Additional information may be provided to the client controller through optional input devices. The location of the MW  35  may be monitored by a global positioning system (GPS) device (not shown) plus inertial frame recognition for fine measurement and for interpolation between GPS satellite acquisitions. The voltage, frequency, and other characteristics of electrical supply lines may be monitored and provided to the client controller  45  by a power line monitoring device (also not shown). Additional input devices, such as cameras, microphones, sensors, etc., could be coupled to the client controller to monitor environmental and other conditions.  
         [0024]    The client controller  45  includes software to carry out several functions. The software included on the client controller  45  may be better understood by reference to FIG. 2. As shown, the client controller  45  includes an operating system  60 . The operating system  60  is dependent on the type of processor used in the client controller. Preferably, the client controller  45  is an X86 single chip computer controller with a compatible operating system. If desired, the client controller  45  may be a consumer grade device such as a Palm Pilot personal digital assistant or Packet PC device, and modified according to the teachings herein. Depending on the hardware used, the client controller  45  may be configured with a graphical user interface (“GUI”) to facilitate interaction between the system  10  and its users.  
         [0025]    The client controller  45  also includes an I/O interface  62 , which may take the form of an analogue-digital, digital-analogue converter, digital input/output (ADC, DAC, and DIO) interface. The interface  62  handles input from the electric actuated lock  39 , input from the temperature sensor  55 , output to the electric actuated lock  39 , and input from optional monitoring devices such as the GPS and power line monitoring devices.  
         [0026]    In addition to the interface  62 , the client controller  45  may have two other modules: an RFID user sensing subsystem  64  and a radio frequency data collector (“RFDC”) inventory interface  66 . The RFID user sensing subsystem  64  handles input and output to and from the specialized card reader  47 . The RFDC inventory interface  66  handles input and output from the antenna  43  and handles links or sessions between the MW  35  and severs  11  and  12 .  
         [0027]    The client controller  45  includes software (not shown) which may incorporate the RFDC inventory interface  66  that reads the RFID signatures from tagged products (discussed below) placed inside the MW  35 . The software may be implemented according to algorithms disclosed in International Publication No. W099/45495 and International Publication No. WO99/45495, the disclosures of which are hereby incorporated by reference herein. The referenced publications teach identification systems that can identify a plurality of RFID tagged items using an interrogator. The interrogator sends signals from antennas and cooperates with passive, transponder RFID tags in such a way as to eliminate or reduce interference problems that are typically associated with reading RF signals from multiple devices. The system  10  could also be implemented with active tags, although presently available active tags need to be improved so as to perform in the temperatures that the system is expected to operate within and at roughly the same cost and power consumption.  
         [0028]    Before the system  10  may be implemented, one or more RFID access badges  75  must be generated. Preferably, the RFID badges  75 , as well as the other RFID tags (discussed below) are passive transponder tags such as the tags disclosed in the above-referenced international applications. Preferably, the RFID badges  75  are encoded with information from the account set-up module  20  based on digital signatures. In addition, it is preferred that the digital signatures encoded on the RFID badges  75  used by restocking services provide one-time access to a specific MW, and thereafter expire. The RFID access badges may be fixed on a carton of products  80 . Alternatively, they may be delivered separately to the facility where the MW of interest is located.  
         [0029]    The carton of products  80  includes a plurality of individual products  90  each with an identification tag  95 . Each identification tag  95  may be the same as an RFID badge  75 , except that the digital signature on tag  95  will generally not expire. In one form of the invention, each tag  95  has a 16-bit identification code and a 72-bit item identification code. The 16-bit identification tag may be programmed with information such as the manufacturer of the product. The 72-bit item identification code is used to provide descriptive information regarding the product such as serial number, product type, date, lot number, and similar information.  
         [0030]    Once all the products  90  have been fitted with unique RFID tags  95 , the products may be shipped in the carton  80  to a designated MW such as the MW  35 . As shown in FIG. 3, the carton  80  is packed according to a fulfillment request that is based on either an initial order from a customer (not shown) or MW specific business rules followed by the server  12 . The carton  80  may be fitted with RFID access badge  75  or the RFID access badge  75  may be shipped separately to the location of the MW of interest. If fitted with an RFID access badge  75 , the carton  80  may be shipped by a delivery service contracted to deliver the package to the MW  35 . Once the carton is delivered, the recipient or user may use the RFID access badge  75  to open the door  37  of the MW  35  by passing RFID access badge  75  in front of the reader  47 . Client controller  45  reads the digital signature of the RFID access badge  75  and confirms reading of the code by actuating a user feedback device such as a voice synthesis module or the light  41 . Since, the server  12  provides a locally based user list to the client controller  45 , the client controller  45  oversees authentication of the digital code read from the RFID access badge  75 . Client controller  45  checks the authenticity of the read code by matching the code to the user list. Client controller  45  may then optionally read the temperature sensors  55  and transmit temperature information to the server  11 . Preferably, the temperature sensor is also read on a periodic basis, with the temperature information being transmitted to the server each time the temperature is read. Client controller  45  can also be programmed to transmit temperature data if the temperature falls beneath or above a predetermined range. In many instances, it will be important to ensure that the temperature of the MW is within an appropriate range to store the products  90 . If the temperature of the MW  35  is within an appropriate range, and the user is authenticated, the client controller  45  then actuates the lock  39  to open the door  37  (of course, the MW need not be equipped with the lock  39 ). If the temperature of the MW  35  is not within an appropriate range, then access to the MW may be prevented by maintaining the lock  39  in a closed state. This would allow a refrigerated unit associated with the MW to cool the interior space of the MW to a desired temperature before ambient air was allowed into the MW by opening of the door. This also provides for product integrity during power failure.  
         [0031]    Once the door  37  opens (which may be sensed by the proximity sensor  40 ), a communication session between the MW  35  and servers  12 , which may be segmented based on appropriate events to optimize user response and network usage, begins. Having full access to the MW  35 , the employee of a carrier or logistic service who delivered the carton  80  now proceeds to place the individual items  90  into the MW  35 . Once the carton of products  80  is empty, the delivery employee then closes the door  37 , and removes the carton, if necessary. The proximity sensor  40  senses the closing of the door  37 . The client controller  45  senses the status of the sensor. Preferably, the lock  39  (if used) resets automatically after being unlocked for a predetermined time, for example five (5) seconds. The user has that predetermined time to open the door. The RFDC inventory interface  66  is disabled once the door  37  opens. When the door  37  closes, the RFDC inventory interface  66  is enabled and initiates a scan of the products placed within the MW  35 . Upon completing the scan, the client controller  45  sends a change-in-inventory message  100  to the commerce server  12 . To ensure integrity of the inventory change billed to the customer, the client controller  45  employs an integrity algorithm when the RFDC inventory interface  66  scans the MW  35 . The algorithm is based on statistical information, historical information, and other factors including RF algorithms (frequency-hopping, etc.) and delay data.  
         [0032]    The MW  35  may be accessed by a customer at the MW location using a separate RFID badge  75  shipped directly to that customer. Alternatively, and as noted above, the reader  47  may be configured as a magnetic card swipe device, barcode, a fingerprint reader, or some similar device that controls access to the MW  35 . Regardless of its exact configuration, the reader  47  reads the input from the customer and acknowledges reading of that input by lighting the light  41 . The client controller  45  then sends an input signal to the server  12 . The server  12  then conducts an authenticity review of the input. If an authorized input is received, the server  12  sends an okay message to the MW  35 . The client controller  45  may have the capability to authenticate the review as well. Once authentication takes place, the client controller  45  then opens the door  37  allowing the customer access to the interior of the MW  35 . The customer then removes one or more products  90  from the interior of the MW and then closes the door  37 . Once the door is closed, client controller  45  scans the remaining products in the MW  35  and sends a message containing the missing products to the server  12 . Identifying which products have been taken, the server  12  compares the previous inventory prior to opening, to the inventory of the missing items. From the comparison, the server  12  determines the missing items in the MW  35 . The inventory information is then communicated to the commerce engine  30 , which stores the information for future use for both marketing and inventory functions. Receipts for the used products can then be emailed or printed and shipped via regular mail to the customer at the MW location. Invoicing can also occur using electronic and standard mechanisms.  
         [0033]    The inventory message can be used for other purposes as well. For example, the inventory message includes information regarding individual products. Therefore, the amount of time a particular product spends in any MW may be recorded by the server, as well as the product&#39;s temperature history. If this time is recorded, it is also possible to compare the amount of time any particular product spends in a MW to a shelf life for that product. Temperature history can also be stored and compared to other data. If the shelf life is passed, then an expiration message, such as a pick list, may be generated and sent to the MW or an e-mail address of a user of the system to inform users of products that should be removed from the MW and not used. In addition, the inventory message may be used to determine the type of products in the MW  35 . If any of the products present within the MW  35  are subject to a recall, the MW  35  may be placed in a “lock down” condition, whereby access to the MW is denied until an administrator or other authorized individual removes the recalled product or otherwise addresses the situation.  
         [0034]    [0034]FIG. 4 a  and  4   b  are flow charts of the software used in the invention. Once the client controller  45  is turned on in FIG. 4 a  at step  138 , it executes a standard boot up routine at step  140 . Part of the standard boot up process enables the software to automatically update itself. At step  142 , a message is sent to the maintenance server  11  to query the current version of the controller software. If the version on the server  11  is the same as the version on the client controller  45 , the client controller  45  establishes a wait state as shown in step  152 . If the version on the server  11  is newer than the version on the client controller  45 , then the newer version is downloaded over the Internet, as shown at step  144 . The newer version is loaded into the alternative pocket or partition and written to flash memory, as shown at step  146 . Then the software is booted, as shown at step  148 . A garbage collection routine clears the old version. A message packet accompanies each boot to the maintenance server, including version status and operating status. Each boot then requests a reload of the list of authorized users from the server  11  at step  150 . The list is then reloaded at step  151 . As shown in FIG. 4 b  at step  152 , the client controller  45  then establishes the wait state of the system by initializing various variables or objects such as a USER, MSG  1 , MSG  2 , CNT 1 , TEMP  1 , TEMP  2 , and SOLENOIDS. In addition, the client controller  45  initializes variables or objects SWITCHES, POWER, and LIGHT. Once initialization is complete, the unit is ready for user access. During this wait state, the client controller  45  performs periodic checks on the status of the MW  35 . When a customer approaches the MW and presents an RFID badge, the client controller  45  reads the user RFID badge at step  154  and checks the validity of the identification code read from the badge at step  158 . If the code does not match a valid code, an invalid user message is generated at step  162 . The message may be displayed on an output device (not shown). If an optional lock is installed on the door of the MW  35 , the client controller  45  then opens the solenoids in the lock on the MW  35 ., as shown at step  166 , if the code is valid. An internal timer is then started, as shown at step  170 . In one embodiment of the invention, the proximity sensor  40  is used to detect opening of the door  37  and the status of the door. Once the door opens, the proximity sensor  40  switches its status. At step  174 , the client controller  45  checks to see if the door has been opened by reading the status of the proximity sensor  40 . If the proximity sensor  40  has not changed status, the client controller  45  will continue to check for a predetermined amount of time, as shown at step  178 . If the predetermined amount of time is exceeded, the solenoids are closed (step  182 ), which locks the lock  39 , a timeout error message is generated (step  184 ), and the client controller  45  returns to the initial state, as shown at step  186 .  
         [0035]    If the door  37  is opened within the predetermined amount of time (currently set through practice at five (5) seconds), a second timer is started, as shown at step  190 . The client controller  45  then records the internal temperature of the MW  35  at step  194  and then checks to see if the door  37  has been closed at step  200 . The client controller  45  continues to check for closing of the door for a predetermined amount of time, as shown at step  204 . If the predetermined amount of time expires, a close door message is generated as shown at step  208  and steps  190 - 204  are re-executed.  
         [0036]    Once the door  37  is closed, the client controller  45  closes the solenoids, as shown at step  212 . The client controller  45  then confirms that the door  37  is closed at step  216  and performs an inventory scan at step  220 . The data from the inventory scan is then sent to the server  12 , as shown at step  224 . The client controller  45  then returns to the initial state (step  186 ).  
         [0037]    In another embodiment, the system utilizes a defined area to enclose the tagged products rather than a cabinet. The defined area uses an access point to serve as its entryway. The products within the area are fitted with identification tags and specifically positioned in the area to be recognized by the RFDC inventory interface. Product scans begin when a sensor senses a user passing through the access point. The access point is controlled by a processor, such as the client controller  45 , and is able to restrict access to the area and products, if necessary.  
         [0038]    As can be seen from the above, the invention provides a method and system for distributing products. Various features and advantages of the invention are set forth in the following claims.