1. Field of the Invention
The embodiments disclosed herein relate to locating lost, misplaced or stolen objects and, more particularly, to a security-enhanced radio frequency (RF) object locator system, method and program storage device.
2. Description of the Related Art
Various different object locator systems are available for locating lost, misplaced or stolen objects (e.g., keys, telephones, remote controls, tablet computers, etc.). Such object locator systems typically rely on visual and/or auditory indicators (i.e., lights and/or sounds) emitted either by the object itself or by a portable device used to track the object. However, attempting to locate an object based on visual and/or auditory indicators can often be imprecise and difficult. Furthermore, such object locator systems are typically designed so that they can be activated by anyone. However, there may be circumstances in which the owner of an object may want to prevent others from having access to that object. For example, a parent may want to prevent a child from having access to a lockbox or car key. Therefore, there is a need in the art for a security-enhanced object locator system that provides for easier, more precise, tracking of objects.
In view of the foregoing disclosed herein are embodiments of a security-enhanced radio frequency (RF) object locator system, which triangulates the position of a specific object for a specific user, when that specific user has the required permission. Also disclosed are associated method and program storage device embodiments. Specifically, in the embodiments, objects in the defined area can have radio frequency identification (RFID) tags and each RFID tag on each object can be activated by an RF activation signal. When a request (e.g., a verbal or keyed-in request) to locate a specific object is received from a specific user, the required permission can be verified and, optionally, the identity of the specific user can be authenticated. Once the required permission is verified and, if applicable, the identity of the specific user is authenticated, one of three RFID readers within the defined area can transmit the RF activation signal. In response, a unique RF response signal can be transmitted by the RFID tag on the specific object and that RF response signal, as received back at each of the RFID readers, can then be used to triangulate the position of the specific object. Once determined, the position of the specific object within the defined area can be communicated (e.g., by map display or by voice or text message) to the specific user.
More specifically, disclosed herein are embodiments of a security-enhanced system for locating objects within a defined area. The system can comprise RFID tags on objects within the defined area. Each RFID tag on each object can be activatable by an RF activation signal. When activated, each RFID tag can transmit a unique RF response signal.
The system can further comprise a memory, a user interface device, three or more RFID readers within the defined area, and a computer, which is in communication with the memory, user interface device and RFID readers. The memory can store a database of all objects that are within the defined area and that have RFID tags. This database can associate the objects with the corresponding users having the required permission to locate them. The user interface device can receive, from a specific user, a request (e.g., a verbal or keyed-in request) to locate a specific object. The computer can access the database in response to the request in order to verify that the specific user has the required permission to locate the specific object. Optionally, the computer can also authenticate the identity of the specific user (e.g., by requiring the user to enter a verbal or keyed-in passcode, by voice print recognition or other biometric security measures, etc.).
Once the required permission is verified and, if applicable, the identity of the specific user is authenticated, the computer can initiate a triangulation process for determining the position of the specific object within the defined area. Specifically, the computer can cause one of the RFID readers to transmit an RF activation signal. The RFID tag on the specific object can, in response to the RF activation signal, automatically transmit its own unique RF response signal. Each RFID reader can receive the RF response signal from the RFID tag. The computer can then triangulate the position of the specific object within the defined area based on differences in the RF response signal from the RFID tag as received at each of the RFID readers (e.g., based on differences in signal strength, time of arrival delay, etc.). Once the position of the specific object is determined, the computer can communicate that position to the specific user through the user interface device (e.g., by text message, by voice message, by map display, etc.).
Also disclosed herein are embodiments of a security-enhanced computer-implemented method for locating objects within a defined area. The objects can have RFID tags and each RFID tag on each object can be activatable by an RF activation signal. When activated, each RFID tag can transmit a unique RF response signal.
The method embodiments can comprise storing, in memory, a database of all objects that are within the defined area and that have RFID tags. This database can associate the objects with the corresponding users having the required permission to locate them. The method embodiments can further comprise receiving, through a user interface device, a request (e.g., a verbal or keyed-in request) from a specific user to locate a specific object. In response to this request, the database can be accessed in order to verify that the specific user has the required permission to locate the specific object. Optionally, the identity of the specific user can also be authenticated (e.g., by requiring the user to enter a verbal or keyed-in passcode, through the use of voice print recognition or other biometric security measures, etc.).
Once the required permission is verified and, if applicable, the identity of the specific user is authenticated, a triangulation process for determining the position of the specific object within the defined area can be performed. That is, the method embodiments can comprise selectively controlling one of three RFID readers to cause the RFID reader to transmit an RF activation signal. In response to the RF activation signal, the RFID tag on the specific object can automatically transmit its unique RF response signal and each of the three RFID readers can receive that RF response signal. Triangulation of the position of the specific object within the defined area can then be performed based on differences in the RF response signal as received at each of the RFID readers (e.g., based on differences in signal strength, in time of arrival delay, etc.). Once the position of the specific object is determined, the position can be communicated to the specific user through the user interface device (e.g., by text message, voice notification, map display, etc.).
Also disclosed herein are embodiments of a program storage device. This program storage device can be readable by a computer and can tangibly embody a program of instructions, which are executable by the computer to perform the above-described method for locating objects within a defined area.
The embodiments disclosed herein will be better understood from the following detailed description with reference to the drawings, which are not necessarily drawn to scale and in which:
As mentioned above, various different object locator systems are available for locating lost, misplaced or stolen objects (e.g., keys, telephones, remote controls, tablet computers, etc.). Such object locator systems typically rely on visual and/or auditory indicators (i.e., lights and/or sounds) emitted either by the object itself or by a portable device used to track the object. For example, many cordless telephone systems include a base from which any user can activate a locator beacon that causes a lost or misplaced cordless telephone to emit a sound and/or flash a light. The user attempts to locate the telephone by tracking the sound and/or light. Radio frequency (RF) object locator systems are also known. In RF object locator systems (e.g., see U.S. Pat. No. 7,046,141 of Pucci et al., issued May 16, 2006 and incorporated herein by reference) objects have radio frequency identification (RFID) tags that can be activated by a portable locator device. An activated RFID tag causes the portable locator device to emit sound and/or light, which changes as the user moves closer to the object (e.g., the sound will get louder and/or the light will get brighter the closer the user is to the object). However, attempting to locate an object based on visual and/or auditory indicators can often be imprecise and difficult, particularly for individuals that are vision and/or hearing impaired. Furthermore, the various object locator systems described above are typically designed so that they can be activated by anyone. However, there may be circumstances in which the owner of an object may want to prevent others from having access to the object. For example, a parent may want to prevent a child from having access to a lockbox or car key. Therefore, there is a need in the art for a security-enhanced object locator system that provides for easier, more precise, tracking of objects.
In view of the foregoing disclosed herein are embodiments of a security-enhanced radio frequency (RF) object locator system, which triangulates the position of a specific object for a specific user, when that specific user has the required permission. Also disclosed are associated method and program storage device embodiments. Specifically, in the embodiments, objects in the defined area can have radio frequency identification (RFID) tags and each RFID tag on each object can be activated by an RF activation signal. When a request (e.g., a verbal or keyed-in request) to locate a specific object is received from a specific user, the required permission can be verified and, optionally, the identity of the specific user can be authenticated. Once the required permission is verified and, if applicable, the identity of the specific user is authenticated, one of three RFID readers within the defined area can transmit the RF activation signal. In response, an RF response signal can be transmitted by the RFID tag on the specific object and that RF response signal, as received back at each of the three RFID readers, can then be used to triangulate the position of the specific object. Once determined, the position of the specific object within the defined area can be communicated (e.g., by map display, voice message or text message) to the specific user.
More specifically, referring to
The system 100 can comprise RFID tags 11, 12, 13 (i.e., RFID transponders) on the objects 1, 2, 3, within the defined area. The RFID tags 11, 12, 13 can be affixed to or otherwise adhered to the objects 1, 2, 3. For example, the RFID tags 11, 12, 13 can be configured as stickers. Alternatively, the RFID tags 11, 12, 13 can be embedded in the objects themselves (e.g., during manufacturing). As with conventional RFID tags, each RFID tag 11, 12, 13 can comprise an antenna, a transmitter, a receiver and a microprocessor (i.e., an integrated circuit) having a memory. Each RFID tag 11, 12, 13 can be activatable by an RF activation signal. That is, each RFID tag 11, 12, 13 can be activated (i.e., can be programmed to be activated, adapted to be activated, configured to be activated, etc.) upon receipt of an RF activation signal. Once activated, each RFID tag 11, 12, 13 can transmit (i.e., can be adapted to transmit, configured to transmit, programmed to transmit, etc.) a unique RF response signal (i.e., an RF response signal that is unique to the RFID tag). For each object, the unique RF response signal from the RFID tag can comprise a unique identification code associated with the object.
The system 100 can further comprise a memory 110, user interface device(s) 120a and/or 120b, three or more RFID readers 151, 152, 153 (i.e., RFID interrogators), and a computer 105, which is in communication with the memory 110, user interface device 120a-b and RFID readers 151-153.
The memory 110 can store a database 111 of all objects 1, 2, 3 that are within the defined area and that have RFID tags 11, 12, 13, respectively. This database 111 can use descriptive text to refer to the objects 1, 2, 3 (e.g., “lockbox key” for object 1, “living room television remote control” for object 2, “car keys” for object 3, etc.) and can further associate the objects 1, 2, 3 with their unique identification codes and with the corresponding users having the required permission to locate them.
The user interface device 120a, 120b can allow (i.e., can be adapted to allow, configured to allow, etc.) a specific user to enter a request to locate a specific object. This request can specify the user (e.g., by name or other identifier) and can also specify the object (e.g., object 1) to be located. For example, the request can state, “This is John Doe. Locate my lockbox key”.
The user interface device can comprise a graphical user interface (GUI) 120a incorporated into the computer system 105. Additionally or alternatively, the user interface device can comprise a handheld (i.e., portable) user interface device 120b, which can be either a single function device (i.e., a device designed for use only as an object locator) or a multi-function device (e.g., a smart phone, tablet computer, etc.) that incorporates an object locator application. The handheld user interface device 120b can communicate wirelessly (i.e., can be adapted to communicate wirelessly, configured to communicate wirelessly, etc.) with the computer system 105 from anywhere within the defined area 101 (as shown in
The computer system 105 can access (i.e., can be adapted to access, configured to access, programmed to access, etc.) the database 111 in response to the request in order to verify that the specific user has the required permission to locate the specific object (e.g., Does John Doe have the required permission to locate the lockbox key?). Optionally, the computer system 105 can also authenticate (i.e., be adapted to authenticate, configured to authenticate, programmed to authenticate, etc.) the identity of the specific user (i.e., to confirm that the requestor is in fact John Doe).
For example, in one embodiment, the computer system 105 can authenticate the identity of the user by requiring the user to enter a verbal or keyed-in passcode. Specifically, the database 111 can further associate unique passcodes (i.e., passwords, personal identification numbers (PINs), etc.) with the corresponding users. Upon receipt of a request from a specific user to locate a specific object, the computer system 105 can prompt (i.e., can be adapted to prompt, configured to prompt, programmed to prompt, etc.) the user to enter the appropriate passcode. For example, a user may be prompted to submit the passcode by a window appearing on the display 121 and may enter the passcode using the keyboard, touchpad, or touchscreen 123. Alternatively, the user may be prompted verbally (e.g., through a speaker 124 on the user interface device 120a, 120b) and may enter the passcode verbally through the microphone 122. The computer system 105 can then compare the entered passcode to the unique passcode associated with the specific user in the database 111 in order to authenticate the identity of the specific user.
In another embodiment, the computer system 105 can authenticate the identity of the specific user using voice print recognition or other biometric security measures. For example, the database 111 can further associate unique voiceprints with the corresponding users. In this case, the request can be a verbal request received from the specific user through the microphone 122 and the computer system 105 can authenticate (i.e., can be adapted to authenticate, configured to authenticate, programmed to authenticate, etc.) the identity of the specific user by accessing the database 111 and comparing the verbal request to the unique voiceprint of the specific user. Voiceprint recognition techniques used in other types of applications are well known in the art (e.g., see U.S. Pat. No. 6,490,560 of Ramaswamy et al., issued on Dec. 3, 2002, assigned to International Business Machines, Inc. and incorporated herein by reference) and, thus, the details of such voiceprint recognition techniques are omitted from this specification in order to allow the reader to focus on the salient aspects of the disclosed embodiments.
Alternatively, the database 111 can further associate some other unique biometric identifiers (e.g., fingerprints, retinal scans, face scans, etc.) with the corresponding users. In this case, the user interface device 120a, 120b can further comprise the appropriate biometric sensor 125 (e.g., a fingerprint scanner, a retinal scanner, facial scanner, etc.). Upon receipt of a request from a specific user to locate a specific object, the computer system 105 can prompt (i.e., can be adapted to prompt, configured to prompt, programmed to prompt, etc.) the user to submit to biometric sensing by the biometric sensor 125. For example, a user may be prompted to submit to biometric sensing by a window appearing on the display 121 or may be prompted verbally (e.g., through a speaker 124 on the user interface device 120a, 120b). The computer system 105 can then compare the entered biometric identifier to the unique biometric identifier associated with the specific user in the database 111 in order to authenticate the identity of the specific user. Biometric systems for authenticating a user's identity in other types of applications are well known in the art and, thus, the details of such systems are omitted from this specification in order to allow the reader to focus on the salient aspects of the disclosed embodiments.
Once the required permission is verified and, if applicable, the identity of the specific user is authenticated, the computer system 105 can initiate (i.e., can be adapted to initiate, configured to initiate, programmed to initiate, etc.) single the RFID readers 151-153 to initiate a triangulation process for determining the position of the specific object 1 within the defined area 101 (see
In response to the RF activation signal 401 transmitted by the RFID reader 151, the RFID tag 11 on the specific object 1 can automatically transmit its own unique RF response signal 501 and each of the three RFID readers 151, 152, 153 can receive that unique RF response signal 501 from the RFID tag 11, as shown in
As mentioned above, the RFID tag 11 on the specific object 1 is activated by an RF activation signal 401. This RF activation signal 401 can be either generic or unique to the specific user or object. Specifically, in one embodiment, the RF activation signal 401 that is transmitted by the RFID reader 151 can be a generic RFID activation signal 401 that activates all of the RFID tags 11, 12, 13 within the defined area 101. In this case, the computer system 105 can sort all of the received RF response signals from all of the RFID tags 11, 12, 13 (e.g., based on the identification codes) to identity and process only the unique RF response signal 501 from the RFID tag 11 on the specific object 1. Alternatively, to limit the number of RF response signals, the computer system 105 can direct the RFID reader 151 to transmit an RF activation signal that is unique to the specific user so that only RFID tags on objects associated with the specific user (e.g., RFID tags 11 and 12 on objects 1 and 2) are activated. Alternatively, to limit the number of RF response signals even further, the computer system 105 can direct the RFID reader 151 to transmit an RF activation signal that is unique to the specific object 1 so that only the RFID tag 11 on that specific object 1 is activated. In such cases, the unique RF activation signal associated with a specific user or a specific object can also be stored in the database 111 and the computer system 105 can selectively control (i.e., can be adapted to selectively control, configured to selectively control, programmed to selectively control, etc.) the RFID reader 151 so that the appropriate RF activation signal is transmitted.
Once the computer system 105 determines the position of the specific object 1, it can communicate (i.e., can be adapted to communicate, configured to communicate, programmed to communicate, etc.) that position to the specific user through the user interface device 120a, 120b. Specifically, a map 600 (i.e., an architectural plan, blueprint, etc.) of the defined area 101, which may include stationary objects (e.g., furniture, appliances, etc.), can be stored in memory 110, see
For example, in one embodiment, the computer system 105 can display (i.e., can be adapted to display, configured to display, programmed to display, etc.) the map 600 on the display 121 of the user interface device 120a, 120b. The map 600 can include an indicator 601 marking the precise position of the specific object 1. The indicator 601 can comprise, for example, an alphanumeric indicator (e.g., “X” as shown) or any other suitable indicator (e.g., an icon, which may be representative of the object itself).
In another embodiment, the computer system 105 can communicate the position of the specific object to the specific user by transmitting a position notification message to the user interface device 120a, 120b. For example, a text message can be displayed on the display 121 of the user interface device 120a, 120b. Alternatively, a voice message, also referred to as a voice notification, can be played over a speaker 124 of the user interface device 120a, 120b. Such a message can, for example, indicate the space within which the specific object is located (e.g., “The lockbox key is the office.”) or the general position of the specific object within that space (e.g., “The lockbox key is in the northeast corner of the office.”).
In yet another embodiment, the position of the handheld user interface device 120b (and, thereby the position of the user holding that device) can also be triangulated and the position notification message can indicate the position of the specific object relative to the position of the handheld user interface device 120 or relative to the position of the user (e.g., “The lockbox key is 10 feet northwest of the user interface device 120b ” or “The lockbox key is 10 feet in front of you”.). This position notification message can be updated as the user holding the handheld user interface device 120b moves closer and/or farther away from the specific object.
To accomplish this, the user interface device 120b can have an additional RFID tag. Each of the RFID readers 151, 152, 153 can receive an additional RF response signal automatically transmitted from the additional RFID tag of the handheld user interface device 120b in response to an RF activation signal. In the same manner as described above with regard to the triangulation the position of the specific object 1, the computer system 105 can triangulate the position of the handheld user interface device 120 (i.e., based on differences in the additional RF response signal as received by each of the RFID readers 151, 152, 153). Then, the computer system 105 can communicate the position of the specific object relative to the position of the handheld user interface device 120b, as discussed above (e.g., by text or voice message).
In another embodiment, the computer system 105 can communicate the position of the specific object relative to the position of a stationary object within the defined area and/or space (e.g., “The lockbox key is in the northeast corner of the office near the desk”). To accomplish this, the position of the stationary object must be pre-established. For example, during system set-up, the handheld user interface device 120b can be placed adjacent to a specific stationary object and the position of the handheld user interface device 120b can be triangulated, as described above. The user can then tag the position with an appropriate descriptive tag (e.g., “desk”) either verbally (e.g., using the microphone 122) or by text (e.g., using keyboard/touchpad/touchscreen 123) of the handheld user interface device 120b. The tag and position can be stored in the database 111. The position of the specific object relative to the position of one or more stationary objects can then be communicated, based on pre-set rules. The pre-set rules can, for example, require that a user be notified of the following: (1) any stationary objects within a given distance (e.g., 2 feet, 5 feet, etc.) of the specific object; (2) the relative position of the specific object between multiple stationary objects within space; etc. Referring to
The method embodiments can comprise performing initial system set-up (701). This set-up can comprise placing RFID tags 11, 12, 13 (i.e., RFID transponders) on the objects 1, 2, 3, within the defined area 101 (702). The RFID tags 11, 12, 13 can be affixed to or otherwise adhered to the objects 1, 2, 3. For example, the RFID tags 11, 12, 13 can be configured as stickers. Alternatively, the RFID tags 11, 12, 13 can be embedded in the objects themselves (e.g., during manufacturing). As with conventional RFID tags, each RFID tag 11, 12, 13 can comprise an antenna, a transmitter, a receiver and a microprocessor (i.e., an integrated circuit) having a memory. Each RFID tag 11, 12, 13 can be activatable by an RF activation signal. That is, each RFID tag 11, 12, 13 can be activated (i.e., can be programmed to be activated, adapted to be activated, configured to be activated, etc.) upon receipt of an RF activation signal. Once activated, each RFID tag 11, 12, 13 can transmit (i.e., can be adapted to transmit, configured to transmit, programmed to transmit, etc.) a unique RF response signal (i.e., an RF response signal that is unique to the RFID tag). For each object, the unique RF response signal from the RFID tag can comprise a unique identification code associated with the object. Additionally, a database 111 can be created and stored, in memory 110, of all objects 1, 2, 3 that are within the defined area 101 and that have RFID tags 11, 12, 13, respectively (704). This database 111 can use descriptive text to refer to the objects 1, 2, 3 (e.g., “lockbox key” for object 1, “living room television remote control” for object 2, “car keys” for object 3, etc.) and can further associate the objects 1, 2, 3 with their unique identification codes and with the corresponding users having the required permission to locate them.
The method embodiments can further comprise receiving a request from a specific user to locate a specific object (706). For example, the request can state, “This is John Doe. Locate my lockbox key”. This request can be received, for example, by the computer 105 through either a graphical user interface 120a of the computer 105 or a handheld (i.e., portable) user interface device 120b, as discussed in detail above with regard to the system embodiments. In any case, the request can be received as a verbal request through a microphone 122 of the user interface device 120a, 120b or as a keyed-in request (e.g., a typed or written request) through the keyboard, touchpad, or touchscreen 123 of the user interface device 120a, 120b.
In response to the request, the database 111 can be accessed (e.g., by the computer 105) in order to verify that the specific user has the required permission to locate the specific object (708). That is, the information in the database 111 can be reviewed to determine whether or not John Doe has the required permission to locate the lockbox key.
Optionally, the identity of the specific user can also be authenticated (e.g., by the computer 105) (710). That is, additional processes can be performed in order to confirm that the requestor is in fact John Doe.
For example, in one embodiment, the identity of the specific user can be authenticated by first requiring the user to enter a verbal or keyed-in passcode. In this case, the database 111 can associate unique passcodes (i.e., passwords, personal identification numbers (PINs), etc.) with the corresponding users. Upon receipt of a request by a specific user to locate a specific object, the user can be prompted to enter the appropriate passcode. For example, a user may be prompted to submit the passcode by a window appearing on the display 121 and may key-in the passcode using the keyboard, touchpad, or touchscreen 123. Alternatively, the user may be prompted verbally (e.g., through a speaker 124 on the user interface device 120a, 120b) and may enter the passcode verbally through the microphone 122. Next, the entered passcode can be compared to the unique passcode associated with the specific user in the database 111 in order to authenticate the identity of the specific user.
In another embodiment, the identity of the specific user can be authenticated using voice print recognition. In this case, the database 111 can associate unique voiceprints with the corresponding users. The request to locate the specific object can be a verbal request received from the specific user through the microphone 122. The identity of the specific user can then be authenticated comparing the verbal request to the unique voiceprint associated in the database 111 with the specific user.
In another embodiment, the identity of the specific user can be authenticated using any other biometric security measure. In this case, the database 111 can associate unique biometric identifiers (e.g., fingerprints, retinal scans, face scans, etc.) with the corresponding users. Upon receipt of a request by a specific user to locate a specific object, the user can be prompted to submit to biometric sensing by a biometric sensor 125 (e.g., a fingerprint scanner, a retinal scanner, facial scanner, etc.) on the user interface device 120a, 120b. For example, a user may be prompted to submit to biometric sensing by a window appearing on the display 121 or may be prompted verbally (e.g., through a speaker 124 on the user interface device 120a, 120b). The identity of the specific user can then be authenticated by comparing the entered biometric identifier to the unique biometric identifier associated in the database 111 with the specific user. Once the required permission is verified at process 708 and, if applicable, the identity of the specific user is authenticated at process 710, a triangulation process for determining the position of the specific object 1 within the defined area 101 can be performed (712). Specifically, the method can comprise selectively controlling at least one of the RFID readers (e.g., RFID reader 151) so as to cause that RFID reader 151 to transmit an RF activation signal 401, as shown in
Once the position of the specific object 1 is determined at process 712, that position can be communicated (e.g., by the computer 105) to the specific user through the user interface device 120a, 120b (714).
For example, in one embodiment, a map 600 (i.e., an architectural plan, blueprint, layout, etc.) of the defined area, which may include stationary objects (e.g., furniture, appliances, etc.), can be displayed on the display 121 of the user interface device 120a, 120b and this map 600 can include an indicator 601 marking the precise position of the specific object 1 (716, see
In another embodiment, the position of the specific object can be communicated to the specific user by transmitting a position notification message to the user interface device 120a, 120b (718). For example, a text message can be displayed on the display 121 of the user interface device 120a, 120b. Alternatively, a voice message, also referred to as a voice notification, can be played over a speaker 124 of the user interface device 120a, 120b. Such a message can, for example, indicate the space within which the specific object is located (e.g., “The lockbox key is the office.”); the general position of the specific object within that space (e.g., “The lockbox key is in the northeast corner of the office.”); the position of the specific object relative to the position of the handheld user interface device 120b or relative to the position of the user holding that handheld user interface device 120b (e.g., “The lockbox key is 10 feet northwest of the user interface device.” or “The lockbox key is 10 feet northwest of you.”); or the position of the specific object relative to a stationary object within that space (e.g., “The lockbox key is in the northeast corner of the office near the desk”).
In order to communicate the position of the specific object relative to the position of the handheld user interface device 120b, the user interface device 120b can have an additional RFID tag. Each of the RFID readers 151, 152, 153 can receive an additional RF response signal automatically transmitted from the additional RFID tag of the handheld user interface device 120b in response to an RF activation signal. In the same manner as described above with regard to the triangulation the position of the specific object 1, the position of the handheld user interface device 120b can be triangulated (i.e., based on differences in the additional RF response signal as received by each of the RFID readers 151, 152, 153).
In order to communicate the position of the specific object relative to a stationary object within the defined area and/or space (e.g., “The lockbox key is in the northeast corner of the office near the desk”), the position of the stationary object must be pre-established. For example, during the initial system set-up at process 701, the handheld user interface device 120b can be placed adjacent to a specific stationary object and the position of the handheld user interface device 120b can be triangulated, as described above (705). The position can then be tagged with an appropriate descriptive tag (e.g., “desk”). Tagging can be performed either verbally (e.g., using the microphone 122) or by text (e.g., using keyboard/touchpad/touchscreen 123) of the handheld user interface device 120b. The tag and position can be stored in the database 111. The position of the specific object relative to the position of one or more stationary objects can then be communicated, based on pre-set rules. The pre-set rules can, for example, require that a user be notified of the following: (1) any stationary objects within a given distance (e.g., 2 feet, 5 feet, etc.) of the specific object; (2) the relative position of the specific object between multiple stationary objects within space; etc.
Also disclosed herein are embodiments of a program storage device (i.e., a computer program product) readable by a computer and tangibly embodying a program of instructions executable by the computer to perform the above-described object location method.
Specifically, as will be appreciated by one skilled in the art, aspects of the embodiments herein may be embodied as a system, method or program storage device (i.e., a computer program product). Accordingly, aspects of the embodiments herein may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the embodiments herein may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a non-transitory computer readable storage device or a computer readable signal medium. A non-transitory computer readable storage device may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive database) of the non-transitory computer readable storage device would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage device may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
As mentioned above, the computer readable medium can alternatively comprise a computer readable signal medium that includes a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. This computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the disclosed embodiments may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the disclosed embodiments are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products. It will be understood that each block of the flowchart illustrations and/or D-2 block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks. The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
A representative hardware environment is depicted in
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments herein. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
It should be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should further be understood that the terms “comprises”, “comprising”, “included”, and/or “including”, when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. It should further be understood that corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. Finally, it should be understood that the above-description of the embodiments was presented for purposes of illustration and was not intended to be exhaustive or limiting. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the disclosed embodiments.