Claims
- 1. A method for context-aware and real-time tracking of items, comprising:
receiving multiple instances of tag-read-data, each instance including information read from a tag bound to an item, the information read including a unique digital identifier read automatically from the tag, each instance also including status information including a location of the corresponding tag and its bound item when the unique identifier was read from the tag, the multiple instances of tag-read-data collectively including information read from tags bound to multiple items; receiving one or more instances of context information, each instance describing an associated non-taggable physical circumstance, the context information indicating a status including a location of the circumstance, the multiple instances of context information collectively including information describing multiple circumstances; using the received tag-read-data and context information to maintain virtual items and virtual circumstances in a virtual world, the virtual items including an object for each of the multiple articles and the virtual circumstances including an object for each of the multiple circumstances, each of the objects representing the status of its corresponding item or circumstance; and detecting interactions occurring in the virtual world between the circumstances and the items as represented by the virtual items and virtual circumstances.
- 2. The method of claim 1, wherein:
the information in the virtual world about the articles and circumstances is mapped to virtual-world-wide standardized dimensions of time, three-dimensional space, and unique identity, whereby the articles and circumstances can be tracked relative to each other through space and time.
- 3. The method of claim 1, further comprising:
generating an alert for a user of the virtual world whenever a detected interaction is determined to affect any of the multiple articles, where the user is a human being or a computer program.
- 4. The method of claim 1, further comprising:
maintaining in the virtual world a representation of a current location of each of the articles and a representation of a current location of each of the circumstances, the representations each reflecting most recently received tag-read-data and context information.
- 5. The method of claim 4, further comprising:
representing locations and circumstances by latitudes, longitudes, and altitudes.
- 6. The method of claim 4, further comprising:
maintaining a history of the locations of articles and a history of the locations of the circumstances.
- 7. The method of claim 5, further comprising:
deriving a prediction from the virtual world of a future location of at least one of the articles based on the history of the locations of articles.
- 8. The method of claim 7, further comprising:
deriving the prediction of the future location also based on the history of the locations of the circumstances.
- 9. The method of claim 1, further comprising:
maintaining in the virtual world a representation of a current state of each of the articles and a representation of a current state of each of the circumstances, the representations each reflecting most recently received tag-read-data and context information.
- 10. The method of claim 9, further comprising:
maintaining a history of the states of articles and a history of the states of the circumstances.
- 11. The method of claim 10, further comprising:
deriving a prediction from the virtual world of a future state for at least one of the articles based on the history of the states of articles.
- 12. The method of claim 11, further comprising:
deriving the prediction of the future state also based on the history of the states of the circumstances.
- 13. The method of claim 1 or claim 8, further comprising:
associating time stamps with each instance of tag-read-data and context information, each time stamp being synchronized to a single standard.
- 14. The method of claim 1, wherein:
the non-taggable circumstances include a weather-related circumstance; and the location of the weather-related circumstance is described by at least a latitude, longitude, and altitude.
- 15. The method of claim 1, wherein:
the non-taggable circumstances include a traffic accident; and the location of the traffic accident is described by at least a latitude, longitude, and altitude.
- 16. The method of claim 1, further comprising:
receiving one or more instances of hierarchy information, each instance describing a hierarchy among articles represented in the virtual world; and using the received hierarchy information to maintain in the virtual world context objects each representing one of the hierarchies.
- 17. The method of claim 16, wherein:
at least one of the hierarchies is a relationship among articles in which some particular articles are contained within another article.
- 18. The method of claim 1, further comprising:
receiving sensor information obtained from a sensor associated with a first article; and updating a first physical object for the first article with the sensor information.
- 19. The method of claim 1, wherein receiving instances of context information comprises:
receiving instances of context information from external systems.
- 20. The method of claim 1, wherein receiving instances of context information comprises:
receiving instances of context information, where the instances include telemetry data from a sensor associated with a particular location.
- 21. The method of claim 20, further comprising:
receiving telemetry data generated by a sensor associated with a particular point or area and representing a circumstance located at the particular point or area; and generating an alert for a user of the virtual world when the virtual world detects that an article that would be affected by the circumstance represented by the telemetry data is at or in the point or area, as represented in the virtual world, where the user is a human being or a computer program.
- 22. The method of claim 20, further comprising:
receiving temperature data generated by a temperature sensor associated with a particular point or area and representing the current temperature of the point or area in a context object in the virtual world; and generating an alert for a user of the virtual world when the virtual world detects that an article that would be affected by the current temperature is at or in the point or area, as the article and current temperature are represented in the virtual world, where the user is a human being or a computer program.
- 23. The method of claim 1, further comprising:
attaching a temperature exception to a physical object, and causing an action to occur when the temperature exception is satisfied.
- 24. The method of claim 23, wherein:
the action comprises generating an alert for a user, where the user is a human being or a computer program.
- 25. The method of claim 1, further comprising:
attaching a rule to a physical object, the rule being operable to trigger alert events or cause actions depending on current information in the virtual world.
- 26. The method of claim 1, further comprising:
attaching a rule to a context object, the rule being operable to trigger alert events or cause actions depending on current information in the virtual world.
- 27. The method of claim 1, further comprising:
receiving, processing, and responding to a query concerning the status of an article at a current or past time as the article is or was represented in the virtual world.
- 28. The method of claim 27, further comprising:
receiving, processing, and responding to a query concerning the status of articles having a particular relationship to a particular article at a current or past time as the articles and particular article are or were represented in the virtual world.
- 29. A method for updating information on a writable tag bound to an item, the method comprising:
receiving in a system first attribute information for a first item, where the first attribute information was derived from data read automatically from a first tag bound to the first item, the first attribute information including a first identifier identifying the first item; receiving in the system second attribute information for a second item, where the second attribute information was derived from data read automatically from a second tag bound to the second item, the second attribute information including a second identifier identifying the second item; receiving in the system sensor information derived from data read automatically from a sensor coupled to the second item; receiving in the system relationship information specifying a relationship between the first item and the second item; maintaining in the system a first and a second virtual item representing the first and the second item, respectively, the objects maintaining information representing the first attribute information and the second attribute information and sensor information, respectively, and maintaining in the system a virtual circumstance representing the relationship between the first and second items; recognizing an alert condition from information in the physical and virtual circumstances, the alert condition relating to the first item; generating updated attribute information to be written to the first item in response to the alert condition; detecting in the system the presence of the first tag at a tag writer station after the alert condition was recognized; and causing the tag writer station to write the updated information to the first tag at the tag writer station upon detecting the presence of the first tag at the tag writer station.
- 30. The method of claim 29, wherein:
the alert condition is recognized in an application external to the system, the application receiving from the system information from objects maintained by the system; the updated attribute information is generated by the application and provided to the system by the application with a request that the updated attribute information be written to the first tag; and the system in response to the request causes the tag writer station to write the updated information to the first tag.
- 31. The method of claim 30, wherein:
the first and second virtual items represent their corresponding items in a virtual world maintained by the system; and the application monitors the virtual world.
- 32. The method claim 29, wherein:
the alert condition is recognized by a component of the system operating in accordance with one or more alert rules provided to the system; the updated information is generated by a component of the system operating in accordance with one or more update rules provided to the system; the tag writer station is caused to write the updated information to the first tag in accordance with one or more write-data rules provided to the system.
- 33. The method of claim 29, wherein the sensor is bound to the second tag.
- 34. The method of claim 29, wherein the sensor is a temperature sensor.
- 35. The method of claim 34, wherein:
the alert condition is generated because a temperature measured by the sensor exceeded a threshold; and the updated information is a reduce product expiration date for the first item.
- 36. The method of claim 29, wherein the first tag is a radio frequency transponder.
- 37. The method of claim 29, wherein the first and second identifiers are globally unique identifiers.
- 38. A method to be performed in a commercial data processing environment where the environment includes multiple enterprises in a supply chain, the method comprising:
provide the enterprises with real-time visibility of the disposition of items in the supply chain, by: receiving from a first enterprise multiple instances of tag-read-data, each instance including information read from a tag bound to an item, the information read including a unique tag identifier read automatically from the tag, each instance also including a location of the corresponding tag and its bound item when the tag identifier was read from the tag, the multiple instances of tag-read-data received from the first enterprise collectively including information read from tags bound to multiple items; using the tag-read-data received from the first enterprise to maintain disposition information for the items; receiving from a second enterprise multiple instances of second tag-read-data, each instance including information read from a tag bound to an item, the information read including a unique tag identifier read automatically from the tag, each instance also including a location of the corresponding tag and its bound item when the tag identifier was read from the tag, the multiple instances of tag-read-data received from the second enterprise collectively including information read from tags bound to at least one of the multiple items; using the tag-read-data received from the second enterprise to maintain disposition information for the items, where tag-read-data received from either enterprise for a particular item is used to update the disposition information; and making the disposition information visible to the multiple enterprises in the supply chain, including the first and second enterprises.
- 39. The method of claim 38, further comprising:
receiving from a third enterprise multiple instances of third tag-read-data, each instance including information read from a tag bound to an item, the information read including a unique tag identifier read automatically from the tag, each instance also including a location of the corresponding tag and its bound item when the tag identifier was read from the tag, the multiple instances of tag-read-data received from the third enterprise collectively including information read from tags bound to at least one of the multiple items; and using the tag-read-data received from the third enterprise to maintain disposition information for the items, where tag-read-data received from any enterprise for a particular item is used to update the disposition information.
- 40. The method of claim 38, wherein:
the tags bound to the multiple items include radio frequency identification (RFID) tags, each RFID tag carrying an electronic product code (ePC) as the unique tag identifier.
- 41. The method of claim 38, wherein:
the visibility is controlled visibility; and the method further comprises:
receiving authorization information indicating the extent to which the disposition information should be made visible to a particular enterprise within the supply chain; and making visible to the particular enterprise only the disposition information which is permitted by the authorization information.
- 42. The method of claim 41. wherein:
the disposition information includes a plurality of item attributes; and the authorization information specifies, for at least one of the item attributes, the enterprises to which the item attribute can be made visible.
- 43. The method of claim 38, wherein:
the multiple enterprises include a source enterprise and a destination enterprise; the source enterprise has an order document for an order placed by the destination enterprise and a shipping document for a physical shipment of goods prepared to satisfy the order placed by the destination enterprise; visibility includes visibility of relationships between the tag-read-data and business documents including the order document and the shipping document; and providing the enterprises with real-time visibility of the disposition of items further includes:
receiving shipping information including the following:
tag identifiers for items corresponding to goods in the shipment; information associating each tag identifier with a shipment number for the shipping document, and information associating the shipment number with an order number for the order document; correlating the tag-read-data with the shipping information; and making the correlations available to the destination enterprise such that the destination enterprise can use a tag identifier for an item in the shipment to confirm the shipment.
- 44. A method, comprising:
receiving a set of rules, the rules specifying what data to furnish to an external application; receiving item data including item identifiers from one or more tag readers, each item identifier being read from a digital tag bound to a physical item, the item identifier uniquely identifying the item; receiving additional item data from other sensor devices, the other sensor devices being devices other than tag readers, the additional item data containing additional physical item attributes besides an item identifier, the additional item data being related to one or more items identified by the tag readers; using the rules, item identifiers, and additional item data to determine which subset of the item identifiers and additional item data to finish to the external application; and furnishing to the external application data consisting of only the subset of the received item identifiers and additional item data.
- 45. The method of claim 44, wherein the determination is made and the data is furnished in real time.
- 46. The method of claim 44, further comprising:
aggregating an item identifier with additional item data to generate higher-level data; and furnishing the higher-level data to the external application.
- 47. The method of claim 44, further comprising:
receiving data from the external application, the data including configuration data for controlling an actuator device; converting the configuration data to a format compatible with the actuator device; and furnishing the converted configuration data to the actuator device.
- 48. A computer program product, tangibly embodied in an information carrier, for context-aware and real-time tracking of items, the computer program product being operable to cause data processing apparatus to:
receive multiple instances of tag-read-data, each instance including information read from a tag bound to an item, the information read including a unique digital identifier read automatically from the tag, each instance also including status information including a location of the corresponding tag and its bound item when the unique identifier was read from the tag, the multiple instances of tag-read-data collectively including information read from tags bound to multiple items; receive one or more instances of context information, each instance describing an associated non-taggable physical circumstance, the context information indicating a status including a location of the circumstance, the multiple instances of context information collectively including information describing multiple circumstances; use the received tag-read-data and context information to maintain virtual items and virtual circumstances in a virtual world, the virtual items including an object for each of the multiple articles and the virtual circumstances including an object for each of the multiple circumstances, each of the objects representing the status of its corresponding item or circumstance; and detect interactions occurring in the virtual world between the circumstances and the items as represented by the virtual items and virtual circumstances.
- 49. A computer program product, tangibly embodied in an information carrier, for updating information on a writable tag bound to an item, the computer program product being operable to cause data processing apparatus to:
receive in a system first attribute information for a first item, where the first attribute information was derived from data read automatically from a first tag bound to the first item, the first attribute information including a first identifier identifying the first item; receive in the system second attribute information for a second item, where the second attribute information was derived from data read automatically from a second tag bound to the second item, the second attribute information including a second identifier identifying the second item; receive in the system sensor information derived from data read automatically from a sensor coupled to the second item; receive in the system relationship information specifying a relationship between the first item and the second item; maintaining in the system a first and a second virtual item representing the first and the second item, respectively, the objects maintaining information representing the first attribute information and the second attribute information and sensor information, respectively, and maintaining in the system a virtual circumstance representing the relationship between the first and second items; recognize an alert condition from information in the physical and virtual circumstances, the alert condition relating to the first item; generate updated attribute information to be written to the first item in response to the alert condition; detect in the system the presence of the first tag at a tag writer station after the alert condition was recognized; and cause the tag writer station to write the updated information to the first tag at the tag writer station upon detecting the presence of the first tag at the tag writer station.
- 50. A computer program product, tangibly embodied in an information carrier, to be used in a commercial data processing environment where the environment includes multiple enterprises in a supply chain, the computer program product being operable to cause data processing apparatus to:
provide the enterprises with real-time visibility of the disposition of items in the supply chain, by:
receiving from a first enterprise multiple instances of tag-read-data, each instance including information read from a tag bound to an item, the information read including a unique tag identifier read automatically from the tag, each instance also including a location of the corresponding tag and its bound item when the tag identifier was read from the tag, the multiple instances of tag-read-data received from the first enterprise collectively including information read from tags bound to multiple items; using the tag-read-data received from the first enterprise to maintain disposition information for the items; receiving from a second enterprise multiple instances of second tag-read-data, each instance including information read from a tag bound to an item, the information read including a unique tag identifier read automatically from the tag, each instance also including a location of the corresponding tag and its bound item when the tag identifier was read from the tag, the multiple instances of tag-read-data received from the second enterprise collectively including information read from tags bound to at least one of the multiple items; using the tag-read-data received from the second enterprise to maintain disposition information for the items, where tag-read-data received from either enterprise for a particular item is used to update the disposition information; and making the disposition information visible to the multiple enterprises in the supply chain, including the first and second enterprises.
- 51. A computer program product, tangibly embodied in an information carrier, for data transfer between sensor devices and higher-level applications, the computer program product being operable to cause data processing apparatus to:
receive a set of rules, the rules specifying what data to furnish to an external application; receive item data including item identifiers from one or more tag readers, each item identifier being read from a digital tag bound to a physical item, the item identifier uniquely identifying the item; receive additional item data from other sensor devices, the other sensor devices being devices other than tag readers, the additional item data containing additional physical item attributes besides an item identifier, the additional item data being related to one or more items identified by the tag readers; use the rules, item identifiers, and additional item data to determine which subset of the item identifiers and additional item data to furnish to the external application; and furnish to the external application data consisting of only the subset of the received item identifiers and additional item data.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part of U.S. patent applications Ser. Nos. 10/137,207, 10/255,115, 10/210,859, 10/285,381, 10/136,852, and 10/232,764, and claims the benefit of each of the foregoing applications under 35 U.S.C. § 120 and further claims the benefit of U.S. Patent Applications No. 60/347,672, filed on Jan. 11, 2002, 60/353,198 and 60/353,439, both filed Feb. 1, 2002, under 35 U.S.C. § 119. The disclosures of all of the above applications are incorporated by this reference.
Provisional Applications (3)
|
Number |
Date |
Country |
|
60347672 |
Jan 2002 |
US |
|
60353439 |
Feb 2002 |
US |
|
60353198 |
Feb 2002 |
US |
Continuation in Parts (6)
|
Number |
Date |
Country |
Parent |
10137207 |
Apr 2002 |
US |
Child |
10340208 |
Jan 2003 |
US |
Parent |
10255115 |
Sep 2002 |
US |
Child |
10340208 |
Jan 2003 |
US |
Parent |
10210859 |
Jul 2002 |
US |
Child |
10255115 |
Sep 2002 |
US |
Parent |
10285381 |
Oct 2002 |
US |
Child |
10340208 |
Jan 2003 |
US |
Parent |
10136852 |
Apr 2002 |
US |
Child |
10285381 |
Oct 2002 |
US |
Parent |
10232764 |
Aug 2002 |
US |
Child |
10285381 |
Oct 2002 |
US |