CROSS-REFERENCE TO RELATED APPLICATIONSThis application claims the benefit of U.S. Provisional Application No. 61/667,997, filed on Jul. 4, 2012, which is hereby incorporated by reference in its entirety for all purposes.
COPYRIGHT NOTICEContained herein is material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction of the patent disclosure by any person as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights to the copyright whatsoever. Copyright © 2012-2013, U Grok It, Inc.
BACKGROUND1. Field
Embodiments of the present invention relate generally to use of radio-frequency identification (RFID) technology to identify items. More particularly, embodiments of the present invention relate to use of RFID technology to identify the presence/absence of items in user-configurable sets of tagged items.
2. Description of the Related Art
There are many methods of identifying objects using radio waves. The most common way is storing a serial number (e.g., a 96-bit number) that identifies the object within a microchip that is attached to an antenna. Together, the chip and the antenna are called an RFID transponder or an RFID tag. The serial number can be read from the RFID tab by an RFID reader at a distance of a few inches to 30 feet or more depending on the radio-frequency technology, the tags and the reader used. A database is normally used to associate the tag's serial number with a specific item. When the RFID tag is later scanned by an RFID reader, the serial number is used to identify the specific item, thereby enabling specific items to be tracked or located.
An RFID reader can scan many RFID tags in a short time, typically scanning a dozen to a hundred or more RFID tags in a second.
A handheld RFID reader normally either has a computer built-in or is attached to or part of a handheld computer such as a smartphone or tablet or industrial handheld computer.
SUMMARYMethods and systems are described for utilizing RFID tagging to create and identify sets of items. Embodiments of the present invention enable users to quickly know whether all of the items in a set of items are present, and if not, which item or items are missing. The user attaches RFID tags to each item in a set of items. A unique ID is stored within each tag, and that ID is associated with the specific item it is attached to via a database. A name is associated with the set of items, this association is also stored in a database. According to one embodiment, a set may contain one or more other sets. Thus a set can be a collection of one or more items, a collection of one or more items and one or more other sets and/or a collection of one or more other sets.
A user interface allows the user to choose a desired set of items by name from a list of previously established sets. Choosing the set causes the RFID reader to scan for tags associated with the selected set, match any tags found against the database, and quickly give feedback via a user interface of a mobile application, for example, about whether all of the items in the set are present, and if not, which item or items are not present.
In one embodiment, the RFID reader incorporates a computer with a display screen or is attached to or incorporated with a computer (e.g., a smartphone, an MP3 player, a portable gaming system, a tablet computer, a laptop computer or another portable mobile device) having a display screen, and the user interface on the display screen initially displays a list of all of the items in the set, and removes from or otherwise marks items in the list as they are found by the RFID reader. If a set contains other sets, the list of items displayed is the union of all the items in all of the contained sets.
In one embodiment, when all of the items in the set are found, the RFID reader or attached computer makes a distinctive sound to notify the user. Alternatively or additionally, the RFID reader or attached computer could also give haptic feedback (e.g., cause the RFID reader or attached computer to vibrate) when all items are found to notify the user.
Embodiments of the present invention also enable easily creating a set by having the RFID reader find all items in the area and defining this as a set, so that the user merely needs to scan the items for the set and enter a name for the set.
In some embodiments, the user is also allowed to create a set by selecting items and/or other sets from a list of items and/or sets and assigning a name to this set of selected items and/or sets.
The user may also be provided with the ability to edit a set by selecting items and/or other sets from a list of items and/or sets and invoking a command to add/delete these items and/or sets to/from the set being edited.
Other features of embodiments of the present invention will be apparent from the accompanying drawings and from the detailed description that follows.
BRIEF DESCRIPTION OF THE DRAWINGSEmbodiments of the present invention are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
FIG. 1A conceptually illustrates a sample set of items in accordance with an embodiment of the present invention.
FIG. 1B conceptually illustrates a user using an RFID reader attached to a handheld computer to scan luggage to verify that all items are present in accordance with an embodiment of the present invention.
FIG. 2A illustrates a user interface screen providing a list of sets in accordance with an embodiment of the present invention.
FIG. 2B illustrates a user interface screen providing a list of items/sets within a selected set in accordance with an embodiment of the present invention.
FIG. 2C illustrates a user interface screen providing a list of items/sets remaining to be found in a selected set in accordance with an embodiment of the present invention.
FIG. 2D illustrates the user interface screen ofFIG. 2C after additional items of the selected set are found in accordance with an embodiment of the present invention.
FIG. 2E illustrates a user interface screen after all items in a selected set have been found in accordance with an embodiment of the present invention.
FIG. 3 conceptually illustrates data stored in the database in accordance with an embodiment of the present invention.
FIG. 4 is a high-level flow diagram illustrating the process of finding a set of items in accordance with an embodiment of the present invention.
FIG. 5 is an example of a computer system with which embodiments of the present invention may be utilized.
DETAILED DESCRIPTIONMethods and systems are described for utilizing RFID tagging to create and identify sets of items. Often users are interested in a set of items, and whether all the items in the set are present or not. For instance, a traveler leaving a hotel wants to know that they have all of their luggage items packed in their luggage; a person leaving for the gym wants to know that their gym bag contains all of their gym items; and a service person leaving a work location wants to know that they have all of their tools in their tool box. Embodiments of the present invention enable users to quickly confirm whether all of the items in a set of items are present without having to visually verify the presence of the items.
The user attaches RFID tags (e.g., passive RFID tags/labels, active RFID tags/labels, battery-assisted passive RFID tags/labels, Bluetooth 4.0 tags/labels and the like) to each item in a set of items. A unique ID is given to each tag, and that ID is associated with the specific item it is attached to via a database.
According to one embodiment, the user creates a set of items by selecting items by one of two methods. In the first method, the user invokes a function that causes the RFID reader to scan for RFID tags. Each time an RFID tag is found, its unique ID, e.g., a 96-bit ID, is matched against the database. If a matching item is found, that item is added to a list. The user can create a set containing this list of items and can enter a name for this set. In the second method, the user selects items and/or other sets from a list of items and/or other sets on a display screen, and this set of items and/or other sets forms a new set. In either method, the name of the set and the list of items and/or other sets it contains are stored in the database.
The user may edit a set selecting additional items and/or other sets from a list of items and/or sets and invoking a command to add these items and/or sets to the set being edited.
The user may also edit a set by selecting additional items and/or other sets from a list of items and/or sets and invoking a command to add these items and/or sets to the set being edited.
A user interface allows the user to choose a set of items by name from a list of sets. Choosing the set causes the RFID reader to start scanning for tags using standard ultra-high frequency (UHF) RFID protocol or Bluetooth and to store in computer memory a list of all the IDs of the items in the set and all the items in other sets this set contains, referred to here as itemsToFind. This scanning process, often called “inventory”, causes all tags within range of the reader to transmit their unique IDs to the RFID reader. Whenever the RFID reader receives a unique ID of an RFID tag, it compares the received ID against the IDs in the itemsToFind list. If a match is found, the RFID reader removes this ID from itemsToFind. If itemsToFind is now empty, the RFID reader notifies the user that all of the items in the set have been found.
According to one embodiment, when the scanning process starts, a display screen displays a list of the names of all of the items in the set. As items in the set are found, they are removed from the list on the display screen so that the display screen displays only the items that have not yet been found.
According to one embodiment, when all of the items in the set have been found, the display screen displays a message to that effect to notify the user.
According to one embodiment, when all of the items in the set have been found, the RFID reader makes a distinctive sound to notify the user.
According to one embodiment, when an item in the set is found and there are still more items to find, the RFID reader makes a distinctive sound to inform the user that an item has been found. Alternatively or additionally, the RFID reader or attached computer could also give haptic feedback (e.g., cause the RFID reader or attached computer to vibrate) when all items are found to notify the user.
In the following description, numerous specific details are set forth in order to provide a thorough understanding of embodiments of the present disclosure. It will be apparent, however, to one skilled in the art that embodiments of the present disclosure may be practiced without some of these specific details. In other instances, well-known structures and devices are shown in block diagram form.
Embodiments of the present disclosure include various steps, which will be described below. The steps may be performed by hardware components or may be embodied in machine-executable instructions, which may be used to cause a general-purpose or special-purpose processor programmed with the instructions to perform the steps.
Alternatively, the steps may be performed by a combination of hardware, software, firmware and/or by human operators.
Embodiments of the present disclosure may be provided as a computer program product, which may include a machine-readable storage medium tangibly embodying thereon instructions, which may be used to program a computer (or other electronic devices) to perform a process. The machine-readable medium may include, but is not limited to, fixed (hard) drives, magnetic tape, floppy diskettes, optical disks, compact disc read-only memories (CD-ROMs), and magneto-optical disks, semiconductor memories, such as ROMs, PROMs, random access memories (RAMs), programmable read-only memories (PROMs), erasable PROMs (EPROMs), electrically erasable PROMs (EEPROMs), flash memory, magnetic or optical cards, or other type of media/machine-readable medium suitable for storing electronic instructions (e.g., computer programming code, such as software or firmware). Moreover, embodiments of the present disclosure may also be downloaded as one or more computer program products, wherein the program may be transferred from a remote computer to a requesting computer by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., a modem or network connection).
In various embodiments, the article(s) of manufacture (e.g., the computer program products) containing the computer programming code may be used by executing the code directly from the machine-readable storage medium or by copying the code from the machine-readable storage medium into another machine-readable storage medium (e.g., a hard disk, RAM, etc.) or by transmitting the code on a network for remote execution. Various methods described herein may be practiced by combining one or more machine-readable storage media containing the code according to the present disclosure with appropriate standard computer hardware to execute the code contained therein. An apparatus for practicing various embodiments of the present disclosure may involve one or more computers (or one or more processors within a single computer) and storage systems containing or having network access to computer program(s) coded in accordance with various methods described herein, and the method steps of the present disclosure could be accomplished by modules, routines, subroutines, or subparts of a computer program product.
TERMINOLOGYBrief definitions of terms used throughout this application are given below.
The terms “connected” or “coupled” and related terms are used in an operational sense and are not necessarily limited to a direct connection or coupling. Thus, for example, two devices may be coupled directly, or via one or more intermediary media or devices. As another example, devices may be coupled in such a way that information can be passed there between, while not sharing any physical connection with one another. Based on the disclosure provided herein, one of ordinary skill in the art will appreciate a variety of ways in which connection or coupling exists in accordance with the aforementioned definition.
The phrases “in an embodiment,” “according to one embodiment,” and the like generally mean the particular feature, structure, or characteristic following the phrase is included in at least one embodiment of the present disclosure, and may be included in more than one embodiment of the present disclosure. Importantly, such phrases do not necessarily refer to the same embodiment.
If the specification states a component or feature “may”, “can”, “could”, or “might” be included or have a characteristic, that particular component or feature is not required to be included or have the characteristic.
The phrase “Radio-Frequency Identification” and the acronym “RFID” are used herein to broadly refer to any radio-frequency-based system for identifying objects at a distance, examples include, but are not limited to, UHF RFID (e.g., between 300 megahertz (MHz) and 3 gigahertz (Ghz), including the 433 MHz band, the 865 to 868 MHz band and the 905 to 925 MHz band) and Bluetooth (e.g., the 2.4 to 2.485 GHz band).
FIG. 1A conceptually illustrates a sample set of items in accordance with an embodiment of the present invention. According to the simple example illustrated, a traveller, for example, has previously established a set of items, each with a unique RFID tag, based on items present in his/her luggage prior to travel to the destination. Then, as described in further detail below, prior to returning home from the destination, the traveller may confirm all luggage items (e.g., those items present prior to travel and established as a set) have been packed in his/her luggage for the return trip. While in this simplified example, only six items are shown, in actual use the set would often consist of many more items.
According to the present example, a set ofluggage items100 has previously been established by the user. Theluggage items100 include: aphone charger101, having a serial number of 1; aglasses case102, having a serial number of 2; anotebook103, having a serial number of 3; atoiletry bag104, having a serial number of 4; aleft dress shoe105, having a serial number of 5; and aright dress shoe106, having a serial number of 6.
FIG. 1B conceptually illustrates a user using anRFID reader120 attached to a handheld computer110 (e.g., a smartphone) to scanluggage130 to verify that all items are present in accordance with an embodiment of the present invention. In the context of the present example, in order to confirm all luggage items (e.g., luggage items100) have been packed, the user launches a mobile application on theirsmartphone110 and brings the smartphone and an optionally connectedRFID reader120 within range of the luggage130 (e.g., read range of the RFID tags used) and then selects the set to be verified.
FIG. 2A illustrates a user interface screen providing a list of sets in accordance with an embodiment of the present invention. In one embodiment, when one or more sets of items have been established, this user interface screen may be the initial screen presented to the user. In the present example, three sets have been configured:Luggage200,Soccer gear210 and Katie'sBallet stuff220.
FIG. 2B illustrates a user interface screen providing a list of items/sets within a selected set in accordance with an embodiment of the present invention. Continuing with the current traveller example, after selecting the “Luggage” set200, the mobile application displays the items associated with the selected set. In this case, the set includes the following items:Phone Charger201,Glasses Case202,Notebook203,Toiletry Bag204,Dress Shoe Left205 and Dress Shoe Right206. As mentioned earlier, one or more of these items could also represent a set. For example,Toiletry Bag204 may be a set including items, such as “Electric Razor,” “Contact Lens Case,” “Hair Brush” and “Hair Dryer” (not shown).
FIG. 2C illustrates a user interface screen providing a list of items/sets remaining to be found in a selected set in accordance with an embodiment of the present invention. Continuing with the present example, after finding a particular item (e.g., Notebook203), the user interface screen may be updated to reflect the confirmed presence ofNotebook203 by removing it from the displayed list. In the present example, those items yet to be found remain displayed in the list.
Those skilled in the art will appreciate various other visual mechanisms may be used to communicate to the user the presence or absence of an item of the selected set. For example, items confirmed by the RFID reader to be present may be highlighted, presented in a particular color or otherwise annotated to indicate their presence. Similarly, items confirmed by the RFID reader not to be present may be highlighted, presented in a particular color or otherwise annotated to indicate their absence. In one embodiment, the list of items may be presented initially with an inactive color (e.g., a “grayed” appearance) and then as items are confirmed to be present, they may be presented with an active color (e.g., black or green).
FIG. 2D illustrates the user interface screen ofFIG. 2C after additional items of the selected set are found in accordance with an embodiment of the present invention. In the context of the present example, it is assumedNotebook203,Glasses Case202,Dress Shoe Left205 and Dress Shoe Right206 have been confirmed to be present (within range) by the RFID reader, butPhone Charger201 andToiletry Bag204 have yet to be confirmed to be present. As such,Phone Charger201 andToiletry Bag204 remain in the list to indicate to the user those items have not yet been confirmed to be present in the packed luggage.
FIG. 2E illustrates a user interface screen after all items in a selected set have been found in accordance with an embodiment of the present invention. In this example, a screen is presented confirming “All Items Are Present.” Alternatively or in addition, an audible tone or set of tones may be played to indicate successful completion of the set.
FIG. 3 conceptually illustrates data stored in thedatabase300 in accordance with an embodiment of the present invention. Continuing with the present example, the user has established three sets: “Luggage,” “Soccer Gear” and “Katie's Ballet Stuff” In one embodiment, a database (e.g., database300) maintained by a mobile application on the user's smartphone, for example, may contain a table ofsets310 associating aname311 of each set withcorresponding items312. For each set,database300 may also contain a table ofitems320 associating a user-configurable item name321 with the unique ID orserial number322 of the RFID tag applied to that item.
FIG. 4 is a high-level flow diagram illustrating the process of finding a set of items in accordance with an embodiment of the present invention. Atblock410, a list of all established sets are displayed. For example, a mobile application running on a user's smartphone may access the local database, retrieve a list from a table of sets and present the name of each set.
Atblock420, the user indicates his/her desire to confirm the presence of items in one of the sets by selecting the name of the set from the displayed list. The mobile application receives the selected set and responsive thereto initiates a scan for the items associated with the selected set.
Atblock430, a list of items to be found (e.g., ItemsToFind) is established. For example, the names and/or unique IDs of each item associated with the selected set may be retrieved from the local database and assigned to an ItemsToFind variable.
Atblock440, the scan is started.
Atblock450, the names of items in the list of items (remaining) to be found are displayed to the user via a user interface of a mobile application, for example. As described above, the display may be periodically updated/refreshed as new items are confirmed to be present by the RFID reader.
Atdecision block460, a determination is made regarding a pending event to be processed. If the event is an indication from the RFID reader (which may be part of a hand-held computer, e.g., a smartphone, in the form of an integrated Bluetooth chip, for example or separate from the hand-held computer) that an item has been found, then processing continues withblock460. If the event is an indication that the user has requested a list of all sets to be displayed, processing branches to block410.
Atblock470, it has been confirmed that an item detected by the RFID reader is one of the items in the list of items (remaining) to be found. Responsive to this item being detected, it is removed from the list.
Atdecision block490, a determination is made regarding whether any items remain to be found in the selected set. If not, then processing continues withblock480; otherwise, processing loops back to block450 to refresh/update the display.
Atblock480, all items have been found and an indication may be provided to the user regarding same. In one embodiment, a message is displayed to the user indicating “All Items Found.”
Embodiments of the present invention include various steps, which have been described above. A variety of these steps may be performed by hardware components or may be embodied in machine-executable instructions, which may be used to cause a general-purpose or special-purpose processor programmed with the instructions to perform the steps. Alternatively, the steps may be performed by a combination of hardware, software, and/or firmware. As such,FIG. 5 is an example of acomputer system500, such as a personal computer (PC), a laptop computer, an ultra mobile PC, a game console, a pocket personal computer, a mobile phone or an RFID reader.
According to the present example, the computer system includes a bus530, at least oneprocessor505, at least onecommunication port510, amain memory515, a removable storage media540 a read onlymemory520, and amass storage525.
Processor(s)505 can be any known processor, such as, but not limited to, mobile application processors or other processors designed for portable devices, such as the ARM Cortex™-A7, -A8 or A9 processor of ARM Holdings, one or more of Texas Instruments' OMAP family of processors (e.g., the OMAP2430 or the OMAPV2230), an Intel® 80386 processor, and Intel PXA901 processor, an Intel Itanium® orItanium 2 processor(s), or AMD® Opteron® or Athlon MP® processor(s), or Motorola® lines of processors. Notably, future mobile devices are likely to have at least two processors, one for carrier processing and one for application processing.
Among other things, processor(s)505 is generally responsible for executing various operational instructions maintained inmain memory515, and processing and otherwise interacting with various other input/output (I/O) devices, such as internal and/or external context data sources. In one embodiment of the present invention, processor(s)505 may receive interrupts from an integrated or externally connected RFID reader. Such interrupts may be received, for example, whenever the RFID reader detects a unique ID of an RFID tag. Such interrupts may be received using any interrupt scheme known in the art including, but not limited to, using a polling scheme where processor(s)505 periodically reviews an interrupt register, or using an asynchronous interrupt port ofprocessor505. Alternatively or additionally, the processor(s)505 may proactively request data from RFID reader on a periodic or as needed basis. Based on the disclosure provided herein, one of ordinary skill in the art will recognize a variety of interrupt and/or polling mechanisms that may be used in relation to different embodiments of the present invention.
Communication port(s)510 represent physical and/or logical ports. For example communication port(s) may be any of an audio port, typically used for playing and/or recording audio, an RS-232 port for use with a modem based dialup connection, a 10/100 Ethernet port, or a Gigabit port using copper or fiber. Communication port(s)510 may be chosen depending on a network such a Local Area Network (LAN), Wide Area Network (WAN), or any network to which thecomputer system500 connects.
Communication port(s)510 may also be the name of the end of a logical connection (e.g., a Transmission Control Protocol (TCP) and/or User Datagram Protocol (UDP) port). For example communication ports may be one of the Well Know Ports, such as TCP port80 (used for HTTP service), assigned by the Internet Assigned Numbers Authority (IRNA) for specific uses.
Main memory515 can be Random Access Memory (RAM), or any other dynamic storage device(s) commonly known in the art. Read onlymemory520 can be any static storage device(s) such as Programmable Read Only Memory (PROM) chips for storing static information such as instructions forprocessor505.
Mass storage525 can be used to store information and instructions. For example, hard disks such as the Adaptec® family of SCSI drives, an optical disc, an array of disks such as RAID, such as the Adaptec family of RAID drives, or any other mass storage devices may be used.
Bus530 communicatively couples processor(s)505 with the other memory, storage and communication blocks. Bus530 can be a PCI/PCI-X or SCSI based system bus depending on the storage devices used.
Optionally, in the case of a server and typically in the case of a fixed client device, such as a desktop computer, operator and administrative interfaces535, such as a display, keyboard, and a cursor control device, may also be coupled to bus530 to support direct operator interaction withcomputer system500. Other operator and administrative interfaces can be provided through network connections connected throughcommunication ports510.
Removable storage media540 can be any kind of external hard-drives, floppy drives, IOMEGA® Zip Drives, Compact Disc-Read Only Memory (CD-ROM), MultiMedia Cards (MMCs), secure digital (SD) cards, such as miniSD and microSD cards, Compact Disc-Re-Writable (CD-RW), Digital Video Disk-Read Only Memory (DVD-ROM).
RFID reader550 includes an RFID antenna to send a signal to RFID tags within range and an RFID sensor to sense/read the RFID tag responses. Depending upon the particular implementation,RFID reader550 may be external (e.g., coupled tocomputer system500 via one of communication ports510) or integrated with the computer system500 (e.g., coupled to bus530).
The components described above are meant to exemplify some types of possibilities. In no way should the aforementioned examples limit the scope of the invention, as they are only exemplary embodiments.