Method and apparatus for monitoring unit depletion in an independent real-time mass storage unit system by using an estimated tare mass of the item

Embodiments of the present invention provide a computer implemented method, apparatus, and computer program product for estimating, refining, and using the tare mass for an item to determine and monitor item depletion. In response to detecting an initial presence of an item in the storage unit, a controller collects data about the item. The controller then searches a database for a recorded item containing the same item identification. The tare mass of the item is set equal to the refined tare mass of the recorded item retrieved from the database. The tare mass is then used to calculate a depletion threshold for the item.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to an improved data processing system and in particular to a method and apparatus for detecting real-time depletion of an item within a storage unit. Still more particularly, the present invention is directed to a computer implemented method, an apparatus, and a computer program product for obtaining, refining, and using a tare mass to track item depletion in an independent real-time mass monitoring system.

2. Description of the Related Art

Inventory systems utilizing identification tags, such as universal product codes (UPC) and Radio Frequency identification (RFID) tags placed on product containers may be used to determine what items are present on a given shelf in a retail store. These systems are sometimes referred to as “smart shelves.” Smart shelves utilize one or more RFID tag readers to identify products based on a unique identification code provided via an RFID tag on the product package. However, these RFID tags only provide information regarding the presence of an item on a retail store shelf. Current inventory systems do not provide information regarding the mass depletion of each item on the shelf. In other words, smart shelves enable users to track stock depletion rather than mass depletion of an individual item.

In calculating the unit depletion of product within a container, it is helpful to have the tare mass, or empty mass, of the item's container. The tare mass of the item subtracted from the mass of the item is the non-depleted mass of the item's product. However, the tare mass is often unknown, making the depleted mass of the item uncertain. Tare mass values vary widely between types of products, even within identical product groups. The tare mass may be obtained by emptying the entire item product from the item container and then measuring the container. This is often not a practical or convenient solution.

Another method of determining a tare mass is by obtaining the tare mass from the manufacturer of the item. However, the manufacturer may not disseminate tare mass data or have accurate information as to a tare mass of a product container. If a new product container has been deployed, different regions and stores may receive a new product container at different times. The stores may contain mixed old and new product containers for differing periods, making the tare mass of the item uncertain. In addition, the system may not have access to a database that contains the tare mass for each item stored in the system.

SUMMARY OF THE INVENTION

The illustrative embodiments provide a computer implemented method, apparatus, and computer program product for estimating, refining, and using the tare mass of an item to determine and monitor item depletion. In response to detecting an initial presence of an item in the storage unit, a controller collects data about the item. The controller then searches a database for a recorded item containing the same item identification. The tare mass of the item is set equal to the refined tare mass of the recorded item retrieved from the database. The tare mass is then used to calculate a depletion threshold for the item.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Households, businesses, and industries frequently store a variety of consumable items that are depleted through regular or sporadic use. These items are generally stored in storage units located on site or at remote locations. As used herein, a storage unit is an appliance, room, or repository having shelves or compartments for storing or displaying consumable items. A storage unit includes, but is not limited to, a refrigeration unit, a pantry, a storeroom, a cabinet, a set of shelves, a cupboard, a boxcar or trailer, and/or any other compartment or container having space for storing and/or displaying items.

A storage unit system is a storage unit that is connected to a network. A global storage unit system is a storage unit system that is connected to a global network. A global storage unit system may be able to monitor mass depletion of items in the system by accessing information such as the non-depleted mass or net weight of the item. An independent storage unit system is a system that is not connected to a global network. An independent storage unit system may only have access to the data that is contained within the independent storage unit system. Therefore, the non-depleted or net weight of the item may not be readily accessible to the storage unit system.

As used herein, an item includes the product and the container in which the product is packaged. For example, an item may comprise a product, such as the liquid soap, and the container, which is the bottle. Thus, there is an item mass, a product mass, and a container mass. The container mass is called the tare mass. Using the example above, a bottle of liquid soap is an item, the item mass is the mass of the liquid soap and the bottle, the product mass is the mass of the liquid soap, and, the tare mass is the mass of the empty bottle. An item includes, but is not limited to, an individual consumable product in a single container, multiple consumable products in a single container, a carton or case of multiple containers, a pallet of multiple cartons or cases, and/or a load, such as a truckload, shipload, or railcar load, having multiple pallets. As used herein, a container is any disposable or reusable package, receptacle, carton, can, jar, or any other object to hold, carry, or enclose one or more items for transport and/or storage.

Items in an inventory may be identified using an identification system such as a Universal Product Code (UPC) barcode or Radio Frequency identification (RFID) tag. A Universal Product Code (UPC) is a machine readable bar code coupled with a human-readable Universal Product Code number. The Universal Product Code is a six-digit manufacturer identification number that provides information regarding a product, such as the manufacturer identification and product item number.

Radio Frequency identification (RFID) may also be used to identify, locate, and track items in an inventory. RFID is an automated identification method that is typically utilized in automating integrated supply chains within retail and distribution to identify and/or locate items currently in stock. RFID systems utilize RFID readers and RFID tags to identify objects associated with an RFID tag. AN RFID reader is a transmitter and receiver. The reader transmits an interrogate signal to one or more RFID tags within an interrogate zone of the reader and receives radio transmissions from the tags responding to the interrogate signal. As used herein, an interrogate zone is a zone or region in which an interrogate signal has sufficient strength to be received by an RFID tag within the interrogate zone and trigger the RFID tag to transmit a radio frequency signal in response to the interrogate signal. AN RFID tag reader may take an entire inventory of all items within an interrogate zone having an RFID tag associated with the item.

Storage unit systems utilizing RFID alone may identify and locate items having an RFID tag within an interrogate zone. However, current RFID systems cannot determine a real-time depletion of individual items in an inventory interrogate zone. Therefore, items in an inventory may be completely consumed before the next scheduled item replacement or replenishment because current restocking systems are unable to automatically monitor real-time depletion of consumable items and compensate for these variables.

The illustrative embodiments recognize the need for a system to track the real-time depletion of items in an independent storage unit system. The independent storage unit system may be equipped with sufficient data to identify the items that are contained in the independent storage unit system. The independent storage unit systems may come pre-loaded with the identification data or may be loaded after installation by either transportable media or periodic updates across an attached network.

Since the independent storage unit system may not have access to the net weight (hereafter non-depleted mass) of an item, the system uses the tare mass of the item to determine the depletion of the item using the item's minimum mass to estimate the tare mass. To predict product consumption given the wide variance of container types, these embodiments estimate and refine the tare mass of an item. As there are more occurrences of the item in the system, a weighted average of the tare mass of all the occurrences are stored as the record tare mass. Other methods of refining the tare mass may be used within the scope of the illustrative embodiments, including using a simple average and using the most recent minimum mass of the depleted item. The record tare mass becomes a more accurate predictor of product depletion.

An item occurrence is a single occurrence of a particular item type. A record item is the accumulated record of all of the item occurrences for a particular item type. For example, a gallon of Farm Brand Milk bought on June 26thand placed in a storage unit system is a single item occurrence of the record item Farm Brand Milk—1 gallon. The independent storage unit system stores a record of all the occurrences of Farm Brand Milk—1 gallon in a database.

The initial presence of an item in the storage system is detected by the controller. The initial presence of an item in the storage system is the first time that item occurrence has been sensed in the storage system. The controller is an application for controlling entry/exit readers, mass sensor shelves, and a user interface, in which code or instructions implementing the processes of the illustrative embodiments may be located. The controller retrieves data, instructions, and/or code from memory, such as main memory or read only memory. The controller activates the entry/exit readers to transmit an interrogate signal to identify any RFID tags within an interrogate zone of entry/exit reader.

The controller ascertains the identification of the item occurrence using an identification system such as an RFID or a barcode system. The controller then collects the initial mass of the item occurrence from the mass sensor shelf. To obtain a tare mass for the item occurrence, the controller searches a database for a record of the item type. The database is located within the independent storage unit system network.

The record of the item type is a history of all of the occurrences of that specific item identity in the storage system. A record of the item includes the item identification, a total mass, tare mass, a product type, and the number of occurrences of the item in the storage system. The item identification includes any method or system of identifying the item, such as a barcode or an RFID tag. The total mass of an item is an average of the initial mass of all the occurrences of the item. Tare mass is an approximated number, refined over the number of occurrences of the item in the system. A product type is a classification of items by product. In the example above, the product type is milk. Product type is included to search for similar items. Therefore, Farm Brand Milk and City Brand Milk are the same product type. The number of occurrences is the number of times the item has occurred in the independent storage unit system.

A detailed example will better illustrate some of the features of the example embodiments. Consider the case of a jar of Brand X honey placed by the user on a mass sensor shelf. The controller identifies the item using, in this example, an RFID tag and determines the item's associated initial mass and footprint from the mass sensor shelf. The controller then searches for the Brand X honey in the database. In this case, the record item is not found. Therefore, the controller assigns a predefined percentage of the initial mass of the item as the item tare. In this example, the jar of honey weighs 10 ounces. The predefined percentage, of the initial mass is set as 10%, for this example; thus, the tare mass of the jar of Brand X honey is 1 ounce. In other words, the controller estimates the empty weight of the jar of honey to be 10% of the initial mass and therefore estimates the tare mass to be 1 ounce.

The jar of honey is removed from the storage unit. The controller begins an elapsed time counter when the item is removed from the system. If an elapsed time limit is not exceeded before the item is returned to the system, upon the item's return the controller determines a real-time depletion of the item. The algorithm used is as follows:
(Cm−T=d1)

Cmis the current item mass,

T is the tare mass, and

d1 is the depletion level.

In this example, the jar of honey is removed and replaced with a mass of 8 ounces. The controller calculates as follows: The current item mass equals 8 ounces, and the tare mass equals 1 ounce, thus, 7 ounces of honey remain in the jar. The depletion level of the item is 7 ounces.

The jar is again removed from the storage unit. Again, the time limit is not exceeded before the item is returned to the system, so the controller determines a real-time depletion of the item. The jar is returned to the storage unit with a mass of 2 ounces. The controller calculates that there is 1 ounce of honey left in the jar. The jar is again removed from the storage unit. This time the jar is not returned within the time limit. The controller recognizes the last current mass of the item, 2 ounces, as the item's minimum mass.

The controller saves a record of the occurrence of the Brand X honey in a database, using the item minimum mass to recalculate and refine the record tare mass. The record includes the item identification, the product type, the initial mass, a calculated refined tare, and the number of occurrences of the item. The controller calculates the refined tare mass using the algorithm:
(No*Tp+Im)/(No+1).

No is the number of occurrences of the item,

Tp is the previous tare mass of the item, and

Im is the minimum mass of the item.

In this case, the record contains the following: 100333201, honey, Brand X, 10 ounces, 1.5 ounces, 1 occurrence. Those of ordinary skill in the art will appreciate that there may be other algorithms to use in refining the tare mass, such as a simple average or the last minimum mass, and remain within the scope of the illustrative embodiments.

When a new item occurrence of Brand X is identified with item identification 100333201, the controller searches the records in the database and finds the record for 100333201. The mass sensor shelf provides the initial mass and footprint of the new occurrence of the item. If the initial mass and the footprint of the new item are within a predetermined threshold, the controller determines that the new item is another occurrence of the item. The predetermined threshold may be a user defined parameter and may depend upon the type of consumable item. The user may define a threshold of several pounds when storing building supplies, a threshold of several ounces when storing grocery items, and a few grams when storing pharmaceuticals. If the controller determines that the new item exceeds a predetermined threshold, the controller may prompt the user for confirmation of the item identity using the user interface.

The controller uses the refined tare mass of 1.5 ounces to calculate the non-depleted mass of the new item. Thus, the controller tracks the depletion of the item. In this occurrence, the controller detects the last mass of the honey jar as 0.6 ounces. The controller stores 0.6 ounces as the item minimum. The controller calculates the refined tare mass as follows:
([2 occurrences]*[tare of 1.5 ounces]+[last mass of 0.6])/([2 occurrences]+1))=1.2 ounces
The controller saves the refined tare mass in the database. Thus, the record for 100333201 is updated to contain the following: 100333201, honey, Brand X, 10 ounces, 0.6 ounces, 1.2 ounces, 2 occurrences.

Next, the user places a 12 ounce jar of Farm honey in the system. The controller identifies the item as 3003332, honey, Farm. The mass sensor shelf provides the data for the initial mass and the footprint of the item. The controller then searches the local database for a record of an occurrence 3003332 and does not find one. In one embodiment, the user is prompted to enter the net weight of the item. Many products include the net weight of the item on the product label. If the user, through the user interface provides the net weight, a tare mass is calculated using the following algorithm: (initial item mass−net weight). Thus, item depletion is tracked using the calculated tare.

If the net weight of the item is not available, the controller may respond by providing the user with any or all of the following three choices. First, the user may select that the controller consider the item as the first occurrence of a new item. The controller would then set the tare mass equal to the initial mass of the item multiplied by a predefined percentage.

Secondly, the user may inform the controller of the product type. The user may do this by saying or typing the word “honey” into the user interface. The controller then searches the local database for the product type honey. Upon finding the product type honey, the controller compares the initial mass of the item with the total mass of the similar item. If the comparison is within a pre-defined window, the controller may use the tare mass of the similar item. If the comparison is outside the pre-defined window, the controller may calculate the tare mass using the following algorithm:
(Ts/Stot)*Ii.

Ts is the tare of the similar item,

Stotis the total mass of the similar item, and

Ii is the initial mass of the item.

Lastly, the user may ask the controller to search for a similar item. The controller may then search the local database for a record for a similar item. The attributes the controller searches for may be product type of the item. The criteria to search for a similar item may be predefined by the system or user defined to be any desired attributes.

In this example, the controller looks for a similar item. The controller finds a record for honey. In one example embodiment, the controller prompts the user to confirm that the new item is similar to Brand X honey. However, the user may choose to configure the system to skip the confirmation step. Once the user has confirmed that the product is similar, the controller then calculates the refined tare mass of the new item using the following algorithm:
(Ts/Stot)*Ii

Ts is the tare of the similar item,

Stotis the total miss of the similar item, and

Ii is the initial mass of the item.

The controller then calculates the non-depleted mass of the new item as 11 ounces using the refined tare. The controller then continues to monitor the mass depletion of the item as it is removed and replaced in the system.

FIG. 1is a pictorial representation of a storage unit in accordance with the illustrative embodiments. Storage unit100is a storage unit for storing a plurality of consumable items.

User interface110provides a digital display for providing output to a user, as well as a keypad and/or touch screen for receiving input from a user. User interface110is associated with voice response system115.

Voice response system115permits users to receive verbal output from controller120. For example, when controller120determines that an initial mass of an identified item exceeds a recorded total mass for the item, voice response system115generates an auditory alert prompting a user to confirm the identification of the item.

Controller120is an application for receiving input and sending output to a user via user interface110. Controller120identifies items associated with an identification tag placed in storage unit100. Controller120also determines a real-time depletion of each identified item in storage unit100based on mass data for each identified item.

Item identification data includes an identification code from each identification tag in set of identification tags125. Set of identification tags125is a set of one or more identification tags associated with one or more items in storage unit100. Each identification tag in set of identification tags125has a unique item identification code associated with the identification tag. In this illustrative example, set of identification tags125is a set of RFID tags associated with a set of consumable items inside storage unit100. Other forms of item identification, such as barcode readers are in accordance with the illustrative embodiments.

Set of mass sensor shelves130is a set of one or more customized shelves having a mass sensor grid on an upper surface of the shelf. Each mass sensor associated with a mass sensor shelf is an independent sensor capable of measuring a mass of an object resting on the mass sensor. Each mass sensor transmits mass sensor measurements in the form of mass sensor data to controller120.

Controller120stores mass sensor data for each item in storage unit in local database135. Mass sensor data for an identified item includes a current mass for an item, a prior mass for the item, an initial mass for the item and a last current mass for the item. A current mass is the most recent mass measurement for the item. The prior mass for the item is the previous mass for an item. The initial mass is the first mass measurement for the item when the item is identified by controller120for the first time. A last current mass for the item is the current mass for the last appearance of an item occurrence. In other words, the last current mass is the minimum mass measured for an item occurrence. The tare mass is the mass of the item when the product is totally depleted, in other words the empty packaging. The tare mass may be approximated from the last current mass of the item.

Controller120stores a record of all the occurrences of the item in local database135. Some of the data stored in an item record is the item identification, a product type, a total mass, the number of occurrences and a tare mass. The item identification is the same as the item barcode or other means of identification for an item occurrence. The total mass is a recorded value of the average initial mass for all of the occurrences of the item. The number of occurrences is the number of times that item identification has occurred in the storage system. The tare mass is approximated from the minimum mass of all of the occurrences of the item. The minimum mass of an occurrence of an item is equal to the last current mass of the item occurrence.

The non-depleted mass, typically called the net weight of the item may be approximated based on a tare mass and the initial mass of the item. The non-depleted mass is the original product mass of an item prior to use by a consumer. However, the non-depleted mass may not be available. The tare mass of the item may also be unknown but approximated by the last current mass of an item occurrence and refined over time by further occurrences of the item in the illustrative embodiments of the invention. Therefore, the non-depleted mass of the item is approximated by subtracting the tare mass of the item from the initial mass of the item.

Controller120stores item identification data for each item in the storage unit in database135. Item identification data includes an identification code from each identification tag in set of identification tags125. Each identification code is associated with an item description. The item description describes the item. For example, an item description for cereal could be “Apple Jacks®,” or “Frosted Flakes®.” The identification code is also associated with a product type. Both “Apple Jacks®” and “Frosted Flakes®,” may be classified product type “cold cereal.”

Set of entry/exit reader(s)136is a set of one or more entry/exit reader(s). Entry/exit readers are activated by controller120each time a door on storage unit100is opened.

In this illustrative example, controller120activates set of entry/exit readers136when controller120detects a door of storage unit100is opened. An entry/exit reader transmits an interrogate signal. The entry/exit reader identifies an item based on a response signal received from an identification tag associated with the item as the item enters storage unit100.

A set of mass sensors associated with a given mass sensor shelf in set of mass sensor shelves130registers mass measurements for the identified item when the identified item is placed on the given mass sensor shelf. The set of mass sensors transmits the mass data to controller120.

Controller120retrieves the total mass for the recorded item. Controller120then compares the initial mass of the item with the total mass of the recorded item to provide a validation of the item. An acceptable match is a predetermined amount between the initial mass of the item and the total mass of the recorded item. If the item and the recorded item are an acceptable match, then the recorded tare mass may be used for the tare mass of the item. Further, when the last current mass is detected for the item, the number will be used in a weighted average to further refine the recorded tare.

Next, controller120determines a real-time depletion level for the identified item by the following algorithm: Depletion equals Current item Mass minus tare. If the current item mass exceeds the total item mass, controller120generates an alert via user interface110. Controller120prompts a user to confirm the identification of the item and/or confirm the location of the item via the user interface.

Controller120monitors real-time depletion of each identified item in storage unit100by comparing refined current mass measurements for each item with a non-depleted mass for the item. When the refined current mass of an identified item reaches a threshold depletion the item is identified as a depleted item. The threshold depletion may be the recorded tare mass plus a user-selectable number or a user-selectable percentage of the tare. Controller120provides a notification to a user to replace and/or replenish depleted items via user interface110.

Storage unit100functions independently of outside network105in accordance with the illustrative embodiments. However, the controller may communicate with other data processing systems to update preloaded system data on a periodic basis, via network105. Between updates, the controller may function independently from a non-local network. The periodic updates may include new or changed product information as well as functional system updates and enhancements.

Storage unit100may be connected to network105. Network105is a medium used to provide communications links between various devices and storage units connected together. Network105may include connections, such as wire, wireless communication links, or fiber optic cables.

FIG. 2is a block diagram of a controller in accordance with an illustrative embodiment. A controller is an application that analyzes the mass data from the set of mass sensors to determine the current mass of the object.

Controller200is one example of a controller, such as the controller described inFIG. 1for controlling entry/exit readers, mass sensor shelves, and a user interface, in which code or instructions implementing the processes of the illustrative embodiments may be located.

Processor210, audio adapter215, memory225, display222, keypad224, network adapter226, and signal input/output (I/O)230are connected via bus240. Bus240may be comprised of one or more buses, such as a system bus and/or an I/O bus. Bus240may be implemented using any type of communications fabric or architecture that provides for a transfer of data between different components or devices attached to the fabric or architecture.

Processor210may include one or more processors or CPUs. Memory225may be a main memory, a read only memory (ROM), a random access memory (RAM), flash memory, a cache, or any other known or available memory for storing data, instructions, and/or computer program code. Controller200retrieves data, instructions, and/or code from memory, such as main memory or read only memory. In addition, controller200may retrieve data, instructions, and/or code from a remote memory location via a network connection.

Display222may include a touch screen display, an LED display, or any other type of known or available display for presenting output to a user or receiving input from a user. Keypad224is any type of known or available alphanumeric keypad for a user to provide input in the form of data, instructions, or program code to controller200.

Aspects of these illustrative embodiments may function independently from an outside network. However, the controller may communicate with other data processing systems to update preloaded system data on a periodic basis. Between updates, the controller may function independently from a non-local network. The periodic updates may include new or changed product information as well as functional system updates and enhancements. Network adapter226is coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modems, and Ethernet cards are just a few of the currently available types of network adapters.

In the illustrative embodiments, controller200is not connected to network adapter226, but is an independent system. In an independent system embodiment, the controller may only have access to local databases. In other words, the local databases are within the independent storage unit system network wherever the databases are physically located.

Signal input/output230includes one or more devices for sending and receiving signals to and from different components in a storage unit, such as a digital display and keypad, a touch screen, a voice recognition interface, an LED display, and/or any other known or available device for sending and receiving input and output. Tag reader240is an entry/exit reader such as set of entry/exit readers136inFIG. 1.

Controller200is coupled to entry/exit reader240via bus240. Controller200activates entry/exit reader240to transmit an interrogate signal to identify any RFID tags within an interrogate zone of entry/exit reader240.

Storage device250is also optionally connected to bus240. Storage device250may include any type of permanent and removable storage media. In addition, storage device250may include a remote storage device or storage provided by a storage service. Program code and instructions are located on storage device250and may be loaded into memory225for execution by processor210.

The processes of the illustrative embodiments are performed by processor210using computer implemented instructions, which may be located in memory225. Processor210, memory225, signal input/output230, and storage device250are functional components that may be implemented as functions in an application specific integrated circuit rather than using a processor paradigm.

FIG. 3is a pictorial representation of a refrigeration unit including a set of mass sensor shelves and entry/exit readers in which aspects of the present invention may be implemented in accordance with the illustrative embodiments. As used herein, a refrigeration unit is any device, appliance, cabinet, or room for storing food or any other substance at a lower temperature than room temperature. For example, a refrigeration unit includes a refrigerator, a freezer, a combination refrigerator and freezer, an ice box, a refrigerated railcar, a meat locker, an industrial refrigerator, an industrial freezer, a chest freezer, a reach-in cabinet, a meat case, a frozen food cabinet, a beverage cooler, a food service cart, an ice cream cabinet, a soda fountain unit, and any other known or available device or appliance for storing items at a temperature lower than room temperature. However, the illustrative embodiments encompass any type of storage system whether at room temperature, below room temperature, or above room temperature.

Refrigerator300is a storage unit. Refrigerator300is any known or available refrigerator. In this illustrative example, refrigerator300is depicted as a consumer size refrigerator/freezer. However, the aspects of the illustrative embodiments are equally applicable to a refrigerator or freezer of any size, including, but not limited to, an apartment sized refrigerator/freezer, a room sized industrial refrigerator and/or a room-sized industrial freezer.

Refrigerator300includes a set of mass sensor shelves. As used here, a set of mass sensor shelves includes a single mass sensor shelf, as well as two or more mass sensor shelves. The set of mass sensor shelves includes mass sensor shelves320-350. Each mass sensor shelf is a shelf consisting of a grid of mass sensors. Each mass sensor in the grid is capable of detecting a whole or partial mass of an object. The mass of an object is detected when an object is completely or partially resting on any portion of the mass sensor.

In accordance with the aspects of the illustrative embodiments, a mass sensor shelf may be a typical shelf in a main compartment of a refrigeration unit, a shelf in a door, a bottom of a compartment of a refrigerator or freezer, a bottom of a door compartment, or any other surface within a refrigeration unit capable of including mass sensors in a mass sensor grid. For example, in this illustrative embodiment, mass sensor shelf320is a mass sensor shelf located in a freezer compartment of refrigerator300. Mass sensor shelf325is a shelf in a door of the refrigerator. Mass sensor shelf330, mass sensor shelf340, and mass sensor shelf345are shelves located in a refrigerator compartment of refrigerator300. Mass sensor shelf350is a mass sensor shelf located in the bottom of a drawer of refrigerator300.

Refrigerator300includes a set of entry/exit readers, such as entry/exit readers370-378. Entry/exit readers370-378are RFID readers. Refrigerator300also includes a controller for controlling entry/exit readers370-378and receiving mass data from the set of mass sensor shelves associated with refrigerator300. The controller receives data from a user and provides data to a user via a user interface.

In this example, the user interface360is located on an outside panel of a door or outer side wall of refrigerator300. In this example, the user interface is a digital display and keypad that provides output to a user and accepts input from the user. The digital display is any type of display for providing information to a user in the form of characters, numbers, symbols, or letters. The display may also include a touch screen for accepting input from a user. The keypad is an input device for data entry by a user. The keypad comprises alphanumeric keys and functional keys. In another example, the user interface may include voice recognition software and a voice synthesizer for accepting verbal input from a user and providing verbal output to a user.

Refrigerator300also includes a variety of items stored within refrigerator300. A number of the items have an identification tag associated with the item, such as identification tags380-388. In accordance with this example, identification tags380-388are RFID tags.

Entry/exit readers370-378are each located in a position parallel to a mass sensor shelf below the given entry/exit reader. For example, entry/exit reader370is located above a mass sensor shelf such that entry/exit reader370is parallel or horizontal to the mass sensor shelf below it. However, entry/exit readers370-378may be placed at any location within refrigerator300in order to receive and transmit radio frequencies to RFID tags associated with items inside refrigerator300. For example, entry/exit reader378could be positioned on a side wall of the upper shelf inside the refrigerator compartment or a back wall of the refrigerator compartment.

In this illustrative embodiment, five entry/exit readers are depicted. However, in accordance with the aspects of the illustrative embodiment, any number of entry/exit readers may be located within refrigerator300. For example, an entry/exit reader may be positioned in a location parallel to every shelf in refrigerator300. In this example, six entry/exit readers are located within refrigerator300. In this illustrative example, a single entry/exit reader is capable of receiving and transmitting radio frequencies to RFID tags located anywhere within the freezer compartment of refrigerator300.

A user is not required to manually scan identification tags at entry/exit readers370-378because an RFID reader is capable of automatically sending and receiving radio frequencies from an RFID tag without user intervention. In this example, entry/exit readers370-378are automatically activated to scan for items being placed inside refrigerator300and items being removed from refrigerator300when the refrigerator door is opened.

In accordance with an alternative embodiment, identification tags380-388are Universal Product Code bar codes and entry/exit readers370-378are Universal Product Code scanners. A user must manually scan identification tag380at an entry/exit reader, such as entry/exit reader378. Identification tag380should be scanned by the user when the item associated with identification tag380is placed in refrigerator300or removed from refrigerator300.

In this example, any number of entry/exit readers may be included in refrigerator300. However, only a single Universal Product Code scanner entry/exit reader is required for a user to scan items before placement in refrigerator300and/or removal of items from refrigerator300.

FIG. 4is a pictorial representation of a set of shelves including mass sensor shelves and entry/exit readers in which aspects of the present invention may be implemented in accordance with an illustrative embodiment. Set of shelves400is a storage unit.

Set of shelves400includes a set of mass sensor shelves. The set of mass sensor shelves includes mass sensor shelves410,415,420,425, and430. In this example, set of shelves400includes five mass sensor shelves. However, in accordance with the aspects of the illustrative embodiments, set of shelves400may include any number of mass sensor shelves.

Set of shelves400also includes a set of entry/exit readers. The set of entry/exit readers includes entry/exit readers435,440,443, and445. Set of shelves400contains consumable items. Some of the consumable items have identification tags associated with the items, such as identification tags450-455. In this example, identification tags450-455are RFID tags.

In this illustrative example, entry/exit readers435-445are RFID readers. Entry/exit readers435-445are activated by the controller to transmit an interrogate signal. The interrogate signal is received by a set of identification tags when a change in mass sensor data from a set of mass sensors associated with a mass sensor shelf is detected. As used herein, a set of identification tags includes a single identification tag, as well as two or more identification tags.

In another example, entry/exit readers435-445are activated by a motion detection apparatus incorporated within entry/exit readers435-445. The motion detection apparatus detects motion when a user places an item in set of shelves400and/or removes an item from set of shelves400. Upon detecting motion, the motion detection apparatus activates an entry/exit reader associated with the motion detection apparatus.

In this example, each entry/exit reader is located along a side wall of set of shelves400. However, in accordance with another embodiment, an entry/exit reader may be located anywhere in association with set of shelves400. For example, entry/exit reader435may be positioned in a location above and parallel to a mass sensor shelf below the entry/exit reader, such as mass sensor shelf410. Set of shelves400may also include a user interface as user interface360inFIG. 3.

Although the illustrative example does not depict a mass sensor shelf and entry/exit reader associated with the uppermost shelf of set of shelves, in another example, the uppermost shelf is also a mass sensor shelf having an entry/exit reader associated with the uppermost shelf.

In this illustrative example, set of shelves400is a set of shelves in a location at room temperature. In another illustrative example, set of shelves400is a set of shelves inside an industrial sized walk-in refrigeration unit. In such a case, the consumable items stored on set of shelves400may be items stored at a temperature lower than room temperature.

In accordance with an alternative example, entry/exit readers435-445are Universal Product Code scanners and identification tags450-455are Universal Product Code bar codes. In this example, a user must manually scan identification tags450-455at one of entry/exit readers435-445when an item associated with identification tags450-455are placed inside set of shelves400and/or removed from set of shelves400.

FIG. 5Ais a block diagram of a mass sensor shelf having a mass sensor grid in accordance with an illustrative embodiment. Mass sensor shelf500is a mass sensor shelf inside a storage unit, such as refrigerator300inFIG. 3. Mass sensor shelf500has a mass sensor grid510spanning the entire area of an upper surface of mass sensor shelf500. Mass sensor grid510includes a plurality of mass sensors, such as mass sensor520and mass sensor525.

Each block in mass sensor grid510represents an individual mass sensor in the plurality of mass sensors. Each sensor is separate and isolated from every other sensor in the mass sensor grid. In this illustrative example, mass sensors520-525, are tiny mass sensors measuring one centimeter by one centimeter. In accordance with the aspects of the illustrative embodiments, mass sensors may be any shape and any size mass sensors. For example, mass sensors520-525may measure one centimeter by two centimeters, or any other size.

Mass sensors520-525in mass sensor grid510may measure a mass of an item wholly or partially placed on top of a given mass sensor. Thus, when an object is placed on a mass sensor shelf, each mass sensor covered by the object will generate mass data regarding a portion of the object. The process of the present invention utilizes mass data from the set of mass sensors covered by an object on a mass sensor shelf to determine a mass of the object.

FIG. 5Bis a block diagram of a mass sensor shelf having a mass sensor grid and consumable items on the shelf in accordance with an illustrative embodiment. Jar of peanut butter Unit530is located on mass sensor shelf500. Unit530rests on a set of mass sensors of mass sensor grid510. The set of mass sensors generates mass data regarding the mass of Unit530.

Unit530is associated with identifier tag535. Identifier tag535is read by an entry/exit reader to identify unit530as a jar of peanut butter. Unit540is associated with identifier tag545.

A set of mass sensors covered by Unit540generate mass data regarding the mass of Unit540. This information is transmitted to a controller. The controller is an application that may determine a depletion of a particular item based on the data from an identification tag and mass data from the set of mass sensors.

Thus, when an object is placed on a mass sensor shelf, the object will rest on a set of mass sensors on the portion of the shelf covered by the object. Each mass sensor in the set of mass sensors transmits mass data regarding the mass of the object to a controller.

FIG. 6is a block diagram illustrating an association of an identification code from an identifier tag with a consumable item description in accordance with an illustrative embodiment. Data structure600is an example of data stored as a description pair in a database, such as local database235inFIG. 2. The description pair includes a machine readable identification code, such as “10101010111111” associated with identification tag610. The pair also includes a human readable item description620that is associated with identification code “101010101111111” associated with identification tag610. Other examples of identification codes include, for example, “1234564,” “A,” or any other code that is unique among all identification codes that a tag reader may read.

In this illustrative example, identification tag610having code “10101010111111” is associated with item description “orange juice”620. An item description is a human understandable description of an item. Human understandable descriptions are for example, text, audio, graphic, or other representations suited for display or audible output.

A user interface and tag reader operates cooperatively with identification tags to identify items for placement in a storage unit and/or identify items already placed inside a storage unit. Identification tags, such as identification tag610may be any type of identification tag, including Universal Product Code (UPC) bar code identification tags and RFID (RFID) tags. RFID tags include read-only identification tags and read-write identification tags.

FIG. 7is a block diagram illustrating an interaction of a user interface and tag reader with an identification tag in accordance with an illustrative embodiment. Controller700is a controller such as controller120inFIG. 1and controller200inFIG. 2. Controller700includes a user interface and entry/exit reader(s). Controller700activates an entry/exit reader associated with a storage unit to generate an interrogate signal710to form an interrogation zone. Item720is located within the interrogation zone of the entry/exit reader. Identification tag730associated with item720receives interrogate signal710. In response to receiving interrogate signal710, identification tag730generates response signal740via an antenna on the identification tag.

Controller700receives response signal740. Controller700analyzes response signal740to identify an identification code for item720. Controller700identifies item720by identifying an item description, such as item description620inFIG. 6, in identifier database750associated with the identifier code for identification tag730.

FIG. 8is a flowchart illustrating a process for finding item tare mass if the item identity is found within a storage system database in accordance with the illustrative embodiments. The process is implemented by controller200inFIG. 2.

The controller receives an item identifier identifying an item being placed inside a storage unit (step805). When a change in mass sensor data is sensed, the controller utilizes the mass sensor data to detect a mass and a footprint for the identified item (step810). The controller then determines whether the item is a previously identified item that is returning to the storage unit (step820). If the item is a returning item, the process continues inFIG. 9.

If the item is not a returning, previously identified item, the initial mass of the item is set equal to the current mass of the item (step825). The controller searches for the item identity in the system database (step830). If the item identity is not found in the database, the process continues inFIG. 10. If the item identity is found in the database (step835), the controller determines if the difference between initial mass of the item and the total mass of the record item is less than a predetermined limit (step840). If the item identity is not found in the database then the process falls to step905inFIG. 9. If the difference between the initial mass of the item and the total mass of the record item is less than a predetermined amount then the controller sets the tare mass of the item equal to the recorded tare mass found in the database (step845). The controller then calculates the depletion threshold using the tare mass (step850), thereby ending the process. If the initial mass of the item and the total mass of the record item is greater than a predetermined amount, then the controller sets T=(Tr/Rtot)*Ii (step855). Wherein T is the tare mass of the item, Tr is the Record item tare, and Rtotis the Record item total mass, and Ii is the initial mass of the item. The controller calculates the depletion threshold using the tare mass (step850), thereby ending the process.

FIG. 9is a flowchart illustrating a process for finding item tare mass if the item identity is not found within a storage system database in accordance with the illustrative embodiments. If the controller does not find the item identity in the database (step905), the controller prompts the user through the user interface with three options (step910). The first option is to request the controller treat the item as a new item (step920). If the user selects the new item option, the controller then calculates tare mass as the initial mass of the item multiplied by a predefined percentage (step925).

If the user selects the “enter the net weight of the item” option (step930), and then provides the net weight (step932), the controller calculates tare mass from the initial mass and the net weight as follows: tare mass is equal to initial mass minus net weight (step935).

Lastly, if the user selects the “find similar item” option, the controller searches the database for an item record of the same product type (step942). If a similar item is found (step942), the controller finds the percentage difference between the initial mass of the item and the total mass of the similar item (step945). If the percentage difference is less than a predetermined limit then tare mass is set equal to the similar item tare mass (step947). If the percent difference is greater than a predetermined limit then T=(Ts/Stot)*Ii (step949). Wherein, T is the tare mass, Ts is the similar item tare, Stotis the similar item total mass and Ii is the item initial mass. The controller calculates the depletion threshold following a determination of tare mass (step950).

FIG. 10is a flowchart illustrating a process for refining the item tare, in accordance with the illustrative embodiments. The process begins when an item is removed from the storage system (step1005). An elapsed timer begins tracking the time the item is absent from the system (step1010). The controller determines if the elapsed time limit has been exceeded (1020). If the item is returned to the system before the elapsed time limit (step1030), the timer stops and does not begin again until the item is removed from the system (step1005). If the item is not returned to the storage system before the time is exceeded, the controller sets the last mass of the item equal to the current mass of the item (step1040). The tare mass for the recorded item is then refined by taking the weighted average of all the item occurrence tares and the last mass of the item as follows: (step1050). Tref=(No*Tr+I1)/No+1. Wherein Trefis the refined tare mass, No is the number of item occurrences, Tr is the recorded tare, and I1 is the last mass of the item. The refined tare mass is then stored in the database item record (step1060).

FIG. 11is a flowchart illustrating a process for alerting the user to a depleted item, in accordance with the illustrative embodiments. The process begins when an item is identified (step1110). Mass sensor data is collected (step1120). The data includes the current mass of the item and the footprint of the item. The controller then determines if the item is previously identified and returning to the system (step1130). If the item is a new item, the process falls to step825inFIG. 8. If the item is a returning item, the item depletion is calculated (step1140). The controller then determines if the current depletion exceeds the depletion threshold (step1150). If the current depletion does exceed the depletion threshold, the controller provides notification of the item depletion to the user (step1160), with the process terminating thereafter. If the current depletion does not exceed the depletion threshold, the process terminates thereafter.

Determining depletion of consumable items based on historical trends fails to compensate for external forces influencing the rate of depletion of consumable items. Moreover, consumption rates of some items are so sporadic or erratic that it is impossible or impractical to track depletion rates based on past usage. The failure to closely approximate usage of consumable items may lead to overstocking of some items that are replaced earlier than necessary, as well as under-stocking of other items that are not replaced when needed. Therefore, the aspects of the illustrative embodiments provide a computer implemented method, apparatus, and computer program code for monitoring a real-time depletion of an item in an independent storage system. A controller identifies an item placed in the storage unit in the storage system to form an identified item. The controller detects a change in a mass sensor data from a mass sensor shelf in a set of mass sensor shelves associated with the storage unit. The controller associates the mass sensor data with the identified item to form a current mass for the identified item. The controller determines a depletion of the identified item based on a difference between the current mass and a previous mass for the identified item.

Monitoring real-time depletion of items in a storage unit overcomes the problems associated with accurate and timely restocking of consumable items associated with a storage unit, such as a refrigerator or storage cabinet.

Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) may be coupled to the system either directly or through intervening I/O controllers.