Contextual based determination of accuracy of position fixes

Abstract
Techniques for contextual based determination of accuracy of position fixes, and modification of the position fixes in accordance with the accuracy are disclosed. In one aspect, a position fix for an asset is received. The first position fix corresponds to a location of an event during shipment of the asset. If it is determined that the position fix is inaccurate, the position fix is modified in accordance with a type of the event.
Description
TECHNICAL FIELD

This subject matter is related generally to determination of accuracy of position fixes.


BACKGROUND

A wireless monitoring and tracking electronic device (Tag), can use various technologies such as GPS, RFID, and GPRS to track movements of an asset on which the Tag is mounted. The Tag can monitor for various events affecting the asset and generate position fix data corresponding to the asset's position at the time the events occurred. However, this position fix data is not always accurate.


SUMMARY

Techniques for contextual based determination of accuracy of position fixes, and modification of the position fixes in accordance with the accuracy are disclosed. In one aspect, a first position fix for an asset is received, and the accuracy of the first position fix is determined. If the position fix is inaccurate, the position fix is modified based on a type of an event associated with the position fix. Events can include process events, security events, environmental events, and tracking events for the asset. Other implementations are disclosed which are directed to systems, methods, and apparatus including computer-readable mediums.


Particular embodiments of the subject matter described in this specification can be implemented to realize one or more of the following advantages. Position fixes can be adjusted according to business logic corresponding to a type of an event. More accurate position information can be provided to a user tracking an asset. Outlier position fixes can be identified and handled according to a type of corresponding event. False notifications (e.g., notifications generated because position fix data indicates an asset has moved when it has not) can be eliminated.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a block diagram of an example tag system that associates a Tag with an asset and monitors and tracks the asset using data received from the Tag.



FIG. 2 illustrates the journey of an asset from a origin location to a destination location.



FIG. 3 illustrates an example of error in position fixes.



FIGS. 4A and 4B illustrate example satellite geometries.



FIG. 5 is a histogram illustrating example error in GPS position fixes.



FIG. 6 is a flow diagram of an example process for identifying and correcting an inaccurate position fix.





DETAILED DESCRIPTION
Example Tag System


FIG. 1 is a block diagram of an example tag system 100 that associates a Tag with an asset (e.g., a shipping container, equipment, or other devices capable of being tracked) and tracks the asset using data received from the Tag. The system 100 commissions (associates) Tags to assets, decommissions (disassociates) Tags from assets, provides notifications of events (e.g., security, environmental, process, and tracking events), and can reset tag status remotely.


In some implementations, the system 100 can include one or more ZCC input devices 102, an information service 104, one or more end user systems 106, Tag Logistics personnel (TL personnel) 108, one or more assets 110, one or more Tags 111 affixed or coupled to the one or more assets 110, an event server 112, an event database 113, a Tag Pool Management System (TPMS) 114, a tag database 116, a message server 118, an Integrated Voice Response (IVR) system 120, a transaction (TXN) server 124, and a failed transaction database 126.


The ZCC input devices 102 are used to commission and decommission Tags to assets. The ZCC input devices 102 can be any suitable communication device, including but not limited to mobile phones, land phones, email devices, and portable computers. The ZCC input devices 102 communicate with the information service 104 using a variety of communication modes, including but not limited to: IVR, Short Message Service (SMS), email, hand-held application, Web interface, and Electronic Data Interchange (EDI) or any other form of electronic message sharing. The ZCC input devices 102 can be operated by various actors having various roles in the supply chain, including but not limited to: dock workers, longshoreman, logistics service providers, freight forwarders, field agents, customs agents and any other personnel involved in the tracking of an asset.


The information service 104 allows end user systems 106 to track the status of assets 110 in real-time. The transaction server 124 runs a tracking application that receives event location/status transaction messages (e.g., event notifications) or reports from the event server 112 and applies business logic 122 to the transactions for validating and maintaining associations between Tag identifiers and asset identifiers. Successful transactions are posted against assets and Tags. Failed transactions and reason codes are written to an exception queue in the failed transaction database 126.


The information service 104 can include a Web server (not shown) for providing Web forms to end user systems 106 (e.g., a browser on a PC or mobile device). The Web forms provide an input mechanism for a user to commission or decommission Tags and to receive real-time tracking and status information regarding assets and events. An example information service 104 is SaviTrak™ provided by Savi Networks, LLC (Mountain View, Calif.).


The Tag 111 can be, for example, a GPS/GPRS electronic device that can be affixed or coupled to the asset being tracked. An example Tag 111 is the Savi Networks SN-LSE-01, which is a GPS-based Location+Security+Environmental Tag. The Tag 111 wakes up periodically to initiate communication with the event server 112 and to send event notifications to the event server 112. In general, each event notification includes an identification of the event (or event type), a location of the asset when the event occurred, and optionally additional details of the event such as a date and/or time when the event occurred, the status of the asset before, during, or after the event, or details on the movement of the asset (e.g., accelerometer or velocimeter readings from the Tag). The event information can be stored in the event database 113. The Tag 111 reports various events, including for example, security events, environmental events, process events, and tracking events. Security events indicate that the asset may have been tampered with. For example, the Tag 111 can report when a vertical or horizontal bolt securing the Tag 111 to a container is cut (indicating that the container was opened). Other types of tampers can also be detected (e.g., shock intrusion or illuminance inside the container that is beyond a threshold range, indicating that the container may have been opened). Environmental events indicate that one or more environmental variables (e.g., temperature, humidity, shock, acceleration) are beyond an acceptable range (e.g., a range specified by the user). Process events indicate that various procedural events in the journey of the asset have occurred. For example, process events can indicate that a Tag has been attached to a container or detached from a container (e.g., that an asset is beginning or ending its tagged journey). Process events can also indicate other shipment events in the journey of the asset (e.g., procedural events in the journey of the asset), including, but not limited to that an asset has been stuffed (e.g., filled with contents), that an asset has been sealed, that an asset has been flagged for customs inspection, that customs inspection of an asset has begun, that customs inspection of an asset has ended, that an asset is in a shipping yard, that an asset has left a shipping yard, that an asset has sailed, that an asset has been berthed, and that an asset has been unsealed. Tracking events are periodic reports of the Tag's 111 location. For example, the Tag 111 can send a report of its current location according to a schedule, for example, at fixed intervals of time, regardless of whether any other events have been issued. The system can process the tracking events to determine when an asset has entered or left a predefined area. For example, the system can define geofences (e.g., a virtual perimeter) around important locations along the journey of the asset (e.g., ports) and the Tag 111 can use these geofences and the location provided by the tracking events to determine when the Tag 111 enters or leaves a geofence.


The Tag 111 does not have to use GPS to determine its location, but can alternatively or additionally use various location techniques including, but not limited to: wireless networks, triangulation from cellular towers, or Skyhook Wireless™ technology. In some implementations, the Tag 111 also processes commands (e.g., Over-the-Air (OTA) commands) received from the event server 112 (e.g., during a communication session with the event server 112).


The event server 112 periodically receives event notifications from the Tag 111. The event server 112 also constructs and sends commands to the Tag 111. Some notification management functions performed by the event server 112 include but are not limited to: checking incoming notifications for syntax errors and population of mandatory fields, checking the accuracy of location information in incoming notifications, sorting or sequencing notifications logically before forwarding the notifications to the information service 104, and constructing output transactions that comply with processing logic. The event server can receive and stores GPS fixes. GPS fixes can be received during sessions. For example, a session can consist of a four hour window during which position fixes are received every half an hour. The event server 112 can maintain the position fixes from the previous session (or previous sessions) and can also maintain the last good fix (e.g., the last accurate fix received from the Tag, or a position fix whose location has been corrected by the system, for example, as described below with reference to FIG. 6.)


In some implementations, the TPMS 114 maintains an inventory of Tags 111 in the tag database 116. The TPMS 114 also maintains the association of the asset identifier (ID) and Tag ID and the logical state or status of the Tag 111, such as ‘In Use,’ ‘Available,’ ‘Begin Journey’, ‘End Journey’, etc. The TPMS 114 also maintains the allocation and availability of Tags 111 for logistics and pre-positioning purposes.


In some implementations, the TPMS 114 allows the TL personnel 108 to perform housekeeping functions, such as Tag forecasts, ordering new Tags, detecting lost Tags, billing management, salvage and environmental disposal of failed Tags, inventory tracking, customer help desk and financial accounting. The TPMS 114 allows the TL personnel 108 to monitor the state of a Tag 111 ‘in journey’, trouble shoot causes for failure in communicating with the event server 112, and locate lost Tags. The TPMS 114 provides analytic tools to monitor Tag network performance (e.g., GPS/GPRS coverage/roaming area for trade lanes).


The tag system 100 is one example infrastructure. Other infrastructures are also possible which contain more or fewer subsystems or components than shown in FIG. 1. For example, one or more of the servers or databases shown in FIG. 1 can be combined into a single server or database. As another example, Tags can be associated with assets using dedicated handheld devices.


Examples of Event Notifications During an Asset's Journey


FIG. 2 illustrates the journey of an asset from a origin location 202 to a destination location 204. As the asset travels from the origin location 202 to the destination location 204, a Tag associated with the asset issues various event notifications. During the trip, the asset can travel on various conveyances including, but not limited to, trucks, trains, ships, and airplanes.


When the Tag is first attached to the asset, the Tag generates a process event notification 206 indicating that the Tag is being commissioned (e.g., associated with the asset) and that the Tag and the asset are beginning their journey. Process events generally occur at known locations, such as a warehouse from which the asset is being shipped. These locations can optionally be associated with geofences that define the boundaries of the locations.


As the asset continues on its journey, it periodically generates tracking event notifications (e.g., event notifications 208, 210, 212, 214, and 218). These events provide updates on the current location of the asset, and can be used by the system to obtain useful information such as the path that the asset has traveled from its origin, remaining distance or estimated time to the destination, and the current location of the asset. Some of the tracking events (e.g., tracking events 208 and 218) can be used to determine that the asset has entered or left a port or other designated area (e.g., because the location is now inside or outside a geofence associated with the designated area).


As the asset rounds the Cape of Good Hope at the southern tip of Africa, the Tag generates an environmental event notification 216. This event indicates that a particular environmental condition has either exceeded or fallen below an acceptable range.


The asset eventually arrives at the destination location 204. The asset is opened before the Tag is decommissioned, and the Tag generates a security event notification 220 indicating that the asset has been opened. In some implementations, when the system receives the security event notification 220, it checks to see if the location of the security event is inside a geofence corresponding to the destination location. If so, the system automatically determines that the asset's journey has ended. In other implementations, the Tag is decommissioned before it is opened, and the Tag generates a process event notification indicating the end of the journey instead of the security event.


Each event notification described above includes a position fix (e.g., an estimation of the asset's current position based on one or more location determination technologies such as GPS, GPRS, wireless networks, triangulation from cellular towers, or Skyhook Wireless™ technology). A system such as the tag system 100 receives and processes each event notification and provides information to end user systems (e.g., using an information service like the information service 104). The information can include event notifications (e.g., identifying the type of event, the asset, the positional fix, and the date/time of the event). The information can also include additional information extracted from or associated with the event (e.g., a map of the route taken by the asset for a location event, or an association between an event and the contents of an asset associated with the event). It is important that users be given accurate information. However, position fixes are prone to error.


Error in Position Fixes


FIG. 3 illustrates an example of error in position fixes. An asset is stationary at its actual location 302. Over time, a series of position fixes (e.g., position fixes 304, 306, 308, 310, and 312) are taken. Most of the position fixes are only a small distance away from the actual location 302. However, position fix 312 is a greater distance (e.g., distance 314) away from the actual location 302. This distance 314 is due to error between the actual location 302 and the position fix 312.


There are several causes of error for position fixes. For example, GPS-based position fixes are determined using triangulation from satellite signals. Error can occur in the position fix when a GPS receiver cannot receive signals from enough satellites (either because not enough satellites are visible, or because tall objects, such as buildings, interfere with the signal), or when the geometry of the visible satellites is close together. Errors can also occur because when assets made of a material such as steel are stacked near each other (e.g., when the assets are stacked in a storage yard), the metal can interfere with the GPS signals. In addition, effects of the atmosphere (e.g., refraction of GPS signals passing through the ionosphere and/or troposphere), multipath effects (e.g., caused when signals take multiple paths to reach the GPS receiver), shifts in satellite orbits, and selective availability (e.g., the falsification of the time reported by the signal transmitted by the satellite) can each lead to error in GPS position fixes. Other types of location determination technology can also have errors.



FIGS. 4A and 4B illustrate example satellite geometries 400 and 450. Different satellite geometries will have different dilution of precision (DOP). Low DOP is an indicator of low GPS error, while high DOP is an indication of high GPS error. In FIG. 4A, the satellites 402, 404, 406, and 408 are fairly evenly distributed around the location 410 where a position fix is being taken. Therefore, there will be low dilution of precision. In contrast, in FIG. 4B, the satellites 452, 454, 456, and 458 are clustered around the location 460 where the position fix is being taken. Therefore, they have a close geometry, and there will be high dilution of precision.


Various DOP values can be measured for a given position fix. For example, GPS receivers often calculate values for one or more of Horizontal DOP (HDOP) (a measure of the quality of latitude and longitude data), Vertical DOP (VDOP) (a measure of the quality of elevation data), Position DOP (PDOP) (a measure of the quality of the three-dimensional measurement) and Time DOP (TDOP) (a measure of the quality of the time determination). One or more of these can be used to estimate error due to dilution of precision.


Other parameters can also be used to estimate error in the GPS fix, for example, parameters from other satellite navigation systems such as the Wide Area Augmentation System (WAAS), the European Geostationary Navigation Overlay Service (EGNOS), the Multi-functional Satellite Augmentation System (MSAS), Galileo, the Global Navigation Satellite System (GLONASS), and the Satellite Based Augmentation System (SEAS).



FIG. 5 is a histogram 500 illustrating example error in GPS position fixes. While FIG. 5 illustrates GPS error, other location determination techniques can have similar error histograms. As illustrated by the histogram 500, most GPS error is concentrated in the range 502 that covers small errors in position fixes (e.g., less than 50 meters). However, some error is in the range 504 that includes larger errors (e.g., 50 to 100 meters). The error has a long tail in the range 506 that extends from 100 meters past 150 meters).


Tracking systems can often tolerate low error, such as the error in ranges 502 and 504. However, tracking systems have more difficulty handling long-tail error. The techniques described below with reference to FIGS. 6 and 7 can help a tracking system handle both low and high error.


Example Process for Identifying and Correcting Inaccurate Position Fixes


FIG. 6 is a flow diagram of an example process 600 for identifying and correcting an inaccurate position fix. For convenience, the process will be described in reference to a system that performs the process. The system can be, for example, a Tag (e.g., Tag 111), an event server (e.g., event server 112), or a system that includes a Tag and an event server such as the tag system 100. The steps of process 600 need not occur sequentially or in the order described below.


The process 600 begins when the system receives a position fix corresponding to a location of an event during shipment of an asset (602). The position fix can be, for example, a GPS or GPRS position fix. When the system is a Tag, the position fix can be received, for example, from a GPS receiver on the Tag. When the system is an event server, the position fix can be received, for example, as part of an event notification received from a Tag associated with the asset. The events include, but are not limited to, the events described above with reference to FIGS. 1 and 2.


The system determines that the position fix is inaccurate (604) (e.g., is an outlier). The system can determine that the position fix is inaccurate based on one or more parameters. The parameters can include, for example, one or more of parameters that indicate the accuracy of the position fix, parameters that indicate a physical state of the asset, parameters that provide context for the event notification, parameters that indicate additional position fixes received from the same location-based source as the position fix, and parameters that indicate an accuracy of the position fix based on data received from a different location-based source. For example, parameters that indicate the accuracy of the position fix for a GPS-based position fix include, but are not limited to, HDOP, VDOP, PDOP, TDOP, number of satellites seen, and number of satellites used. Parameters that indicate a physical state of the asset include, but are not limited to, parameters that specify whether the asset is moving or stationary, parameters that indicate how fast the asset is moving (e.g., velocimeter readings), parameters that indicate how much the asset is accelerating (e.g., accelerometer readings), and parameters that indicate the heading direction of the asset. Parameters that provide context for the event notification include, but are not limited to, data describing the shipment of the asset and status during shipment (e.g. shipment status updates from ocean carriers, vessel sailing schedules, and train schedules, CODECO data and COARRI data). This data can describe, for example, an anticipated timeline for the shipment of the asset, an actual timeline of the shipment of the asset, and whether particular milestones during the travel of the asset have been reached. Context parameters can also include details about conveyances on which the asset is traveling, for example, ship tracking information available from an external service that aggregates ship location information. Context parameters can also include other reports of an asset's location generated by various systems that interact with the asset, for example, radiation portal monitors, RFID readers, optical character recognition (OCR) systems at gates, terminal operating systems, guard station systems, warehouse management systems, customs, etc. Parameters that indicate additional position fixes received from the location-based source can include position fixes that precede and succeed the position fix whose accuracy is being tested. Parameters that indicate the accuracy of a position fix received from a different location-based source can be generated, for example, from another receiver on the Tag (e.g., for cellular triangulation or for signals received from another source of location determination data) and can include, for example, a position fix according to the different location-based source, or a measure of the accuracy of the original position fix. The parameters from a different location-based source can optionally include parameters for the accuracy of the alternative position fix.


The system can use various heuristics to determine that the position fix is an outlier. In some implementations, the system compares one or more of the parameters to a threshold. In some implementations, the threshold for a given parameter is the same for all event types. In other implementations, the threshold is different for different event types. For example, each event can be associated with a corresponding measure of how critical the event is in the context of a typical asset's journey. For example, process and security events can be considered to have “critical” importance because process events define the beginning and end of the journey, and security events indicate that the integrity of the asset has been compromised. In contrast, environmental, tracking, and location events can be considered to have only “high” importance. The threshold for a given parameter and a given event type can be based on how critical the event type is. For example, in some implementations, more critical events can have a narrower acceptable range than less critical events, because it is important that the data for the events be accurate. In alternative implementations, more critical events can have a broader acceptable range than less critical events, because it is important that the event notification be received, even if the data is slightly inaccurate.


In some implementations, the measure of how critical the event is can be further based on the needs of the user. For example, if the contents of the asset are extremely temperature sensitive, then environmental events can have a low threshold, so that they will be reported even when the position fix is inaccurate. In some implementations, the measure of how critical the event is can also be further based on the anticipated conditions during the journey of the asset. For example, if the asset is traveling through trade lanes known to have rapid temperature changes, and the contents of the asset are temperature sensitive, then environmental events can be considered more critical.


In other implementations, the system uses contextual clues to identify position fixes that are outliers. For example, if the context of the asset's shipment indicates that it should be in one location, but the position fix is in a different location, the system can identify the position fix as an outlier. For example, if an asset has been flagged for inspection by customs, then the system can identify position fixes that are not headed towards a known customs inspection location as an outlier. As another example, if an asset has been discharged (e.g., has been unloaded from a ship), then any position fixes that indicate that the asset is in the ocean are outliers.


In other implementations, the system compares the position fix to a preceding and/or succeeding position fix and determines that the position fix is an outlier when the physical distance between the position fix and either the preceding or succeeding position fix exceeds a threshold. In some implementations, when the position fixes indicate that the asset is not moving the threshold can be determined from an accuracy factor for the device used to generate the second position fix. For example, if the distance between the readings exceeds the accuracy factor for the device, the system can determine that the position fix is an outlier. The position fixes can indicate that an asset is not moving, for example, when the velocimeter readings and/or accelerometer readings for the position fixes indicate a velocity and/or acceleration of zero, or when variables received as part of the position fix, such as ground speed or heading direction, have a value of zero. For example, an asset is not moving when it is sitting in a port waiting to be loaded onto a ship.


In some implementations, when the asset is moving (e.g., as indicated by accelerometer data, velocimeter data, or position fix data for variables such as ground speed or heading direction), the threshold can be determined from a distance (e.g., a maximum distance, an average distance, or a likely distance) that the asset could have traveled between position fixes. For example, the system can determine the distance traveled between the position fix and the subsequent position fix by multiplying a speed of the asset at the position fix by the time between the fixes. Alternatively, the system can use other contextual information about the location of the asset to determine the distance the asset could have traveled. For example, if the system knows that the asset is on a particular type of conveyance (e.g. a particular type of ship or a particular type of airplane), the system can retrieve data about the maximum (or average) speed of the conveyance, for example, by retrieving the speed data from a conveyance database. The system can then determine the distance by multiplying the speed of the conveyance type by the time between fixes. As another example, the system can use data on average speeds in a given location to determine the likely speed of the asset, and determine the distance by multiplying the average speed by the time between fixes. As another example, the distance can be the maximum distance any conveyance (or any commonly used conveyance) could travel during the time between fixes.


In some implementations, when the system determines that the asset is not moving (for example, as described above), the system plots previously received position fixes (e.g., position fixes for the current and previous session between the event server and the Tag where the asset was also not moving) and identifies the center of a cluster of the fixes (e.g., using k-means clustering or other clustering algorithms). If the position fix falls outside a given radius from the center, the position fix is an outlier. The radius can be determined, for example, based on known error in the position fix technology used in the Tag. For example, if the Tag has an error of no more than 200 feet with 99% confidence, the radius can be 200 feet.


In some implementations, when the system determines that the asset is moving, the system plots previously received position fixes and identifies a projected path for the asset (e.g., using a Rayleigh distribution). The current position fix is then evaluated against the projected path of the asset, and if the position fix differs from the path by more than a threshold radius, the position fix is considered an outlier. The radius can be determined, for example, based on known error in the position fix technology used in the Tag.


In some implementations, when a given position fix indicates that an asset has entered (or left) a geofenced area, the system can determine whether the given position fix is an outlier by considering one or more subsequent position fixes. If the subsequent position fixes also indicate that the asset has entered (or left) the geofenced area, the given position fix is considered accurate. Otherwise, the given position fix is an outlier.


In other implementations, the system determines that a position fix is an outlier by comparing the position fix to both a preceding and subsequent position fix. For example, if three position fixes (p1, p2, and p3) are taken over time, and the distance between p1 and p2 plus the distance between p2 and p3 is greater than the distance between p1 and p3, the system can determine that p2 is an outlier. Alternatively, if the three position fixes all indicate that the asset is traveling in one direction (e.g., north), but p2 is in the opposite direction from p1 (e.g., south), and p3 is far enough away from p1 that the asset could not have traveled south between p1 and p2, and then north to get to p3, the system can determine that p2 is an outlier.


In other implementations, the system determines that a position fix is an outlier based on contextual data regarding shipment of the asset. For example, when the position fix corresponds to an asset entering or leaving a geofenced area, the system can compare the time of the position fix to data about when the asset was supposed to enter or leave the geofenced area. The system can determine the time the asset was supposed to enter or leave the geofenced area, for example, from one or more of the contextual parameters for the position fix. Alternatively, or additionally, the system can compare the position indicated by the position fix to the position of the conveyance on which the tag is supposed to travel. If the position indicated by the position fix does not match up with contextual information, the position fix can be determined to be an outlier.


The system modifies the position fix in accordance with a type of the event (606). In general, the system uses business logic appropriate for the type of event to determine how the position fix should be modified


In some implementations, the event is a process event indicating a given shipping event has occurred. In these implementations, the system applies business logic that says that shipment events of the same type as the given shipping event frequently occur at a valid location. Valid locations can be, for example, locations that the system knows should be associated with shipment events of the given type. For example, begin and end journey events should always occur at valid origin or destination locations. Therefore, if the position fix is close enough to a valid origin or destination location (depending on whether the process event indicates the beginning or end of the journey) for the shipment, then that is likely where the asset actually is. To carry out this logic, the system tries to identify a valid origin or destination location within a threshold radius (e.g., 100 meters) from the position indicated by the position fix. The threshold can be determined, for example, based on the error range of position fixes. For example, the threshold can be determined empirically by measuring the worst outlier in position fixes for Tags during field trials. The origin or destination location can be identified, for example, from a geofence associated with the location. In some implementations, the valid origin or destination location is an origin or destination location associated with the specific asset being tracked. In other implementations, when the specific origin or destination location for the specific asset is not in range, the system can instead use any valid origin or destination location associated with the user (e.g., any origin location used by the user or any destination location used by the user). Similar valid locations can be identified for other events. For example, customs inspections should always occur within a known region in a port or terminal. Therefore, for a customs inspection event, the system can attempt to identify a valid customs location within range of the position fix. Other techniques for identifying a valid location can also be used, for example, selecting the closest valid location to the position fix. If the system does identify a valid location, the system then modifies the position fix to be the valid location.


In some implementations, the event is a security event (e.g., indicating that the asset has potentially been compromised). In these implementations, the system applies business logic that says that security events often occur at an asset's destination location (e.g., because the asset is opened when it arrives at its final destination). To carry out this logic, the system tries to identify a valid destination location within a threshold radius (e.g., 100 meters) from the position indicated by the position fix. If there is a valid destination location within the radius, the system modifies the position fix to indicate a location of the destination location. In some implementations, the system may also confirm that the time of the security event is close to an arrival time specified in contextual data for the shipment. In some implementations, the system alternatively, or additionally, applies business logic that says that security events often occur when an asset is being inspected by customs. Based on contextual information for the shipment (e.g., that the asset arrived in a port and has not left the port, and optionally has not been loaded onto a conveyance), the system can determine that the security event likely occurred in customs and correct the position fix to indicate the designated customs area inside the port.


In some implementations, the event is an environmental event (e.g., indicating that an environmental condition of the container is no longer in an acceptable range). In these implementations, the system applies business logic that says that the exact location of the environmental event is not critical, and therefore the system can use the location of the last position fix that satisfies the threshold for environmental events. The system modifies the position fix data accordingly.


In some implementations, the event is a tracking event (e.g., indicating a position of the asset). In these implementations, the system applies business logic that says that using multiple position fixes over time leads to a more accurate position fix than a single position fix. The system therefore combines a number of past position fixes (e.g., the past five fixes, or all fixes received in the last two hours), and modifies the position fix to be the average. For example, the system can average the position fixes, take a weighted average of the position fixes, take the median of the position fixes, apply the central limit theorem to the position fixes, interpolate a position fix from the position fixes, or extrapolate a position fix from the position fixes. When calculating a weighted average, the system can weight the position fixes, for example, by their deviation from the average, median, or mode fix. When interpolating a position fix, the system can estimate what an outlier position fix should be based on preceding and succeeding position fixes, and optionally the speed of the asset at each position fix. When extrapolating a position fix, the system can estimate what an outlier position fix should be based on preceding position fixes and the speed of the asset at those position fixes.


In some implementations, the business logic corresponding to the various events does not lead to the selection of an updated location for the position fix. In these implementations, the system can apply one or more default procedures. In some implementations, the system can use dead reckoning to estimate the current location of the asset. Dead reckoning can include using one or more last received position fixes for the asset, an estimated speed of the asset, and the time between fixes to estimate the next position for the asset. Dead reckoning can also include projecting a path for the asset, for example, using a Rayleigh distribution, as described above, and then selecting an appropriate location on the path (or a location within a threshold radius of the appropriate location on the path). In other implementations, the system uses dead reckoning and then selects a valid location for the event (e.g., a origin location for a process event or a destination location for a security event) that is closest to the dead reckoning location.


Alternatively, the system can combine a number of past position fixes, for example, as described above with reference to tracking events. In some implementations, for events that are deemed less critical (e.g., tracking events), the system may ignore the position fix and not make any further attempts to use or modify the position fix; alternatively, the system may use the last known valid location for the asset, instead of the inaccurate position fix.


In some implementations, the system generates a notification identifying the asset, the event, and the modified position fix, and provides the notification to a user. The notification can optionally identify that the position fix has been modified. When the system includes the event server, the event server can provide the notification to the user, for example, by sorting or sequencing reports received from Tags and forwarding them to a tracking application operated by an information service (e.g., the information service 104). The event server can also format the reports to comply with processing logic of the tracking application. When the system includes just a Tag, the Tag can provide the notification to the user, for example, by forwarding the notification to the event server. The event server will then forward the notification on to the tracking service of the information service.


The features described above can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. The features can be implemented in a computer program product tangibly embodied in a computer readable medium, e.g., in a machine-readable storage device, for execution by a programmable processor; and method steps can be performed by a programmable processor executing a program of instructions to perform functions of the described implementations by operating on input data and generating output.


The described features can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. A computer program is a set of instructions that can be used, directly or indirectly, in a computer to perform a certain activity or bring about a certain result. A computer program can be written in any form of programming language (e.g., Objective-C, Java), including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.


Suitable processors for the execution of a program of instructions include, by way of example, both general and special purpose microprocessors, and the sole processor or one of multiple processors or cores, of any kind of computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memories for storing instructions and data. Generally, a computer will also include, or be operatively coupled to communicate with, one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).


To provide for interaction with a user, the features can be implemented on a computer having a display device such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor for displaying information to the user and a keyboard and a pointing device such as a mouse or a trackball by which the user can provide input to the computer.


The features can be implemented in a computer system that includes a back-end component, such as a data server, or that includes a middleware component, such as an application server or an Internet server, or that includes a front-end component, such as a client computer having a graphical user interface or an Internet browser, or any combination of them. The components of the system can be connected by any form or medium of digital data communication such as a communication network. Examples of communication networks include, e.g., a LAN, a WAN, and the computers and networks forming the Internet.


The computer system can include clients and servers. A client and server are generally remote from each other and typically interact through a network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.


A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made. For example, elements of one or more implementations may be combined, deleted, modified, or supplemented to form further implementations. As yet another example, the logic flows depicted in the figures do not require the particular order shown, or sequential order, to achieve desirable results. In addition, other steps may be provided, or steps may be eliminated, from the described flows, and other components may be added to, or removed from, the described systems. Accordingly, other implementations are within the scope of the following claims.

Claims
  • 1. A computer-implemented method, comprising: receiving, at a computing device, a first position fix for an asset, the first position fix corresponding to a first location of the asset determined when an event of a predefined event type occurred during shipment of the asset;determining, by the computing device, if the first position fix is inaccurate by comparing the first location to a second location where the event was expected to occur; andif the first position fix is inaccurate, determining if the expected location of the event is within a threshold distance of the first position fix; andmodifying, by the computing device, the first position fix to correspond to the expected location of the first event when the expected location is within a threshold distance of the first position fix.
  • 2. The method of claim 1, further comprising: generating a notification identifying the asset, the event, and the modified first position fix; andproviding the notification to a user.
  • 3. The method of claim 1, wherein modifying the first position fix comprises: determining that the type of the first event is a shipping event;identifying the expected location, the expected location being a valid location for the shipping event; andmodifying the first position fix to indicate the expected location.
  • 4. The method of claim 3, wherein the shipping event is that the shipment is beginning, and identifying the expected location comprises: determining whether a valid origin location for the shipment is within a threshold distance of the first position fix; andidentifying the valid origin location as the valid location if the valid origin location is within a threshold distance of the first position fix, and otherwise identifying an origin location associated with a sender of the shipment.
  • 5. The method of claim 3, wherein the shipping event is that the shipment is ending, and identifying the expected location comprises: determining whether a valid destination location for the shipment is within a threshold distance of the first position fix; andidentifying the valid destination location as the valid location if the valid destination location is within a threshold distance of the first position fix, and otherwise identifying a destination location associated with a receiver of the shipment.
  • 6. The method of claim 1, wherein modifying the first position fix comprises: determining that the type of the first event is an environmental event indicating that an environmental requirement for the asset has been violated; andmodifying the first position fix to be a last received position fix having an accuracy score that satisfies the threshold value for events having the type environmental event.
  • 7. A system, comprising: a tag configured to perform operations comprising: receiving position fix data for an asset; andgenerating notifications identifying position fixes for events during shipment of the asset;one or more servers configured to perform operations comprising: receiving a first position fix for the asset from the tag, the first position fix corresponding to a first location of the asset determined when a first event of a predefined event type occurred during shipment of the asset;determining if the first position fix is inaccurate by comparing the first location to a second location where the event was expected to occur; andif the first position fix is inaccurate, determining if the expected location of the event is within a threshold distance of the first position fix; andmodifying the first position fix to correspond to the expected location of the first event when the expected location is within a threshold distance of the first position fix.
  • 8. The system of claim 7, wherein modifying the first position fix comprises: determining that the type of the first event is a shipping event;identifying the expected location, the expected location being a valid location for the shipping event; andmodifying the first position fix to indicate the expected location.
  • 9. The system of claim 8, wherein the shipping event is that the shipment is beginning, and identifying the expected location comprises: determining whether a valid origin location for the shipment is within a threshold distance of the first position fix; andidentifying the valid origin location as the valid location if the valid origin location is within a threshold distance of the first position fix, and otherwise identifying an origin location associated with a sender of the shipment.
  • 10. The system of claim 8, wherein the shipping event is that the shipment is ending, and identifying the expected location comprises: determining whether a valid destination location for the shipment is within a threshold distance of the first position fix; andidentifying the valid destination location as the valid location if the valid destination location is within a threshold distance of the first position fix, and otherwise identifying a destination location associated with a receiver of the shipment.
  • 11. A system, comprising: a tag configured to perform operations comprising: receiving position fix data for an asset; andgenerating notifications identifying position fixes for events during shipment of the asset;one or more servers configured to perform operations comprising: receiving a first position fix for the asset from the tag, the first position fix corresponding to a first location of the asset determined when a first event of a predefined event type occurred during shipment of the asset;determining if the first position fix is inaccurate by comparing the first location to a second location where the event was expected to occur; andif the first position fix is inaccurate, modifying the first position fix to correspond to the expected location of the first event, wherein modifying the first position fix comprises:determining that the type of the first event is an environmental event indicating that an environmental requirement for the asset has been violated; andmodifying the first position fix to be a last received position fix having an accuracy score that satisfies the threshold value for events having the type environmental event.
  • 12. The system of claim 7, wherein modifying the first position fix comprises: determining that the type of the first event is a security event indicating that the asset has been compromised;determining that the first location is within a threshold distance of a destination location for the asset; andmodifying the first position fix to be the destination location for the asset.
  • 13. A system, comprising: a tag configured to perform operations comprising: receiving position fix data for an asset; andgenerating notifications identifying position fixes for events during shipment of the asset;one or more servers configured to perform operations comprising: receiving a first position fix for the asset from the tag, the first position fix corresponding to a first location of the asset determined when a first event of a predefined event type occurred during shipment of the asset;determining if the first position fix is inaccurate by comparing the first location to a second location where the event was expected to occur; andif the first position fix is inaccurate, modifying the first position fix to correspond to the expected location of the first event, wherein modifying the first position fix comprises:determining that the type of the first event is a security event indicating that the asset has been compromised;determining that the first location is within a threshold distance of a customs inspection location; andmodifying the first position fix to be the customs inspection location.
  • 14. The method of claim 1, wherein modifying the first position fix comprises: determining that the type of the first event is a security event indicating that the asset has been compromised;determining that the first location is within a threshold distance of a destination location for the asset; andmodifying the first position fix to be the destination location for the asset.
  • 15. A computer-implemented method, comprising: receiving, at a computing device, a first position fix for an asset, the first position fix corresponding to a first location of the asset determined when an event of a predefined event type occurred during shipment of the asset;determining, by the computing device, if the first position fix is inaccurate by comparing the first location to a second location where the event was expected to occur; andif the first position fix is inaccurate, modifying, by the computing device, the first position fix to correspond and to the expected location of the first event, wherein modifying the first position fix comprises:determining that the type of the first event is a security event indicating that the asset has been compromised;determining that the first location is within a threshold distance of a customs inspection location; andmodifying the first position fix to be the customs inspection location.
US Referenced Citations (248)
Number Name Date Kind
690191 Saxe Dec 1901 A
3993987 Stevens Nov 1976 A
4233595 Landkammer Nov 1980 A
4729626 Stieff Mar 1988 A
4736857 Monico, Jr. et al. Apr 1988 A
5151684 Johnsen Sep 1992 A
5189396 Stobbe et al. Feb 1993 A
5266925 Vercellotti et al. Nov 1993 A
5483666 Yamada et al. Jan 1996 A
5491486 Welles et al. Feb 1996 A
5515030 Citron et al. May 1996 A
5565858 Guthrie Oct 1996 A
5656996 Houser Aug 1997 A
5710973 Yamada et al. Jan 1998 A
5752218 Harrison et al. May 1998 A
5758263 Berger et al. May 1998 A
5774876 Woolley et al. Jun 1998 A
5798460 Nakagawa et al. Aug 1998 A
5815407 Huffman et al. Sep 1998 A
5827965 Nakagawa et al. Oct 1998 A
5861810 Nguyen Jan 1999 A
5959529 Kail, IV Sep 1999 A
6026690 Nakagawa et al. Feb 2000 A
6069563 Kadner et al. May 2000 A
6075443 Schepps et al. Jun 2000 A
6243005 Haimovich et al. Jun 2001 B1
6249252 Dupray Jun 2001 B1
6265973 Brammall et al. Jul 2001 B1
6292108 Straser et al. Sep 2001 B1
6420971 Leck et al. Jul 2002 B1
6496766 Bernold et al. Dec 2002 B1
6529131 Wentworth Mar 2003 B2
6571213 Altendahl et al. May 2003 B1
6727817 Maloney Apr 2004 B2
6753775 Auerbach et al. Jun 2004 B2
6778083 Auerbach et al. Aug 2004 B2
6792353 Lin Sep 2004 B2
6879962 Smith et al. Apr 2005 B1
6927688 Tice Aug 2005 B2
6965313 Saylor et al. Nov 2005 B1
6972682 Lareau et al. Dec 2005 B2
6990335 Shamoon et al. Jan 2006 B1
7035856 Morimoto Apr 2006 B1
7044374 Allison et al. May 2006 B2
7072668 Chou Jul 2006 B2
7098784 Easley et al. Aug 2006 B2
7106244 Hsu Sep 2006 B2
7113090 Saylor et al. Sep 2006 B1
7136830 Kuelbs et al. Nov 2006 B1
7136832 Li et al. Nov 2006 B2
7164986 Humphries et al. Jan 2007 B2
7193557 Kovacich et al. Mar 2007 B1
7196621 Kochis Mar 2007 B2
7212829 Lau et al. May 2007 B1
7239238 Tester et al. Jul 2007 B2
7257397 Shamoon et al. Aug 2007 B2
7274332 Dupray Sep 2007 B1
7275651 Morales et al. Oct 2007 B2
7286683 Hadell Oct 2007 B2
7298327 Dupray et al. Nov 2007 B2
7312752 Smith et al. Dec 2007 B2
7315281 Dejanovic et al. Jan 2008 B2
7336152 Horwitz et al. Feb 2008 B2
7336170 Auerbach et al. Feb 2008 B2
7339469 Braun Mar 2008 B2
7350383 Kuo Apr 2008 B1
7382251 Bohman et al. Jun 2008 B2
7385500 Irwin Jun 2008 B2
7385529 Hersh et al. Jun 2008 B2
7391321 Twitchell, Jr. Jun 2008 B2
7394361 Twitchell, Jr. Jul 2008 B1
7423535 Chung et al. Sep 2008 B2
7467032 Kane et al. Dec 2008 B2
7471203 Worthy et al. Dec 2008 B2
7482920 Joao Jan 2009 B2
RE40642 Harrison et al. Feb 2009 E
7498938 Ulrich Mar 2009 B2
7499997 Hancock et al. Mar 2009 B2
7525484 Dupray et al. Apr 2009 B2
7536321 Takahashi et al. May 2009 B2
7616116 Ehrensvard et al. Nov 2009 B2
7623033 Ainsworth et al. Nov 2009 B2
7639131 Mock et al. Dec 2009 B2
7643823 Shamoon et al. Jan 2010 B2
7652576 Crossno et al. Jan 2010 B1
7668532 Shamoon et al. Feb 2010 B2
7688207 Fritchie et al. Mar 2010 B2
7707076 Whiteley et al. Apr 2010 B1
7714778 Dupray May 2010 B2
7724138 Horwitz et al. May 2010 B2
7746228 Sensenig et al. Jun 2010 B2
7760103 Frank Jul 2010 B2
7764231 Karr et al. Jul 2010 B1
7822580 Mustonen Oct 2010 B2
7830852 Twitchell, Jr. Nov 2010 B2
7853480 Taylor et al. Dec 2010 B2
7864061 Frank Jan 2011 B2
7903029 Dupray Mar 2011 B2
7936266 Francis et al. May 2011 B2
7937244 Kadaba May 2011 B2
7973536 Kojovic et al. Jul 2011 B2
7990270 Mostov Aug 2011 B2
7990947 Twitchell et al. Aug 2011 B2
8032153 Dupray et al. Oct 2011 B2
8064935 Shamoon et al. Nov 2011 B2
8068023 Dulin et al. Nov 2011 B2
8082094 Gao Dec 2011 B2
8082096 Dupray Dec 2011 B2
8135413 Dupray Mar 2012 B2
8164458 Mostov Apr 2012 B2
8217785 Steer Jul 2012 B2
8228192 Eckert et al. Jul 2012 B2
20010022558 Karr et al. Sep 2001 A1
20020104013 Ghazarian Aug 2002 A1
20020111819 Li et al. Aug 2002 A1
20020113704 Hess Aug 2002 A1
20030126024 Crampton et al. Jul 2003 A1
20030137968 Lareau et al. Jul 2003 A1
20030146871 Karr et al. Aug 2003 A1
20030171948 Thomas et al. Sep 2003 A1
20030195791 Waller et al. Oct 2003 A1
20030222820 Karr et al. Dec 2003 A1
20030227392 Ebert et al. Dec 2003 A1
20030233189 Hsiao et al. Dec 2003 A1
20040113933 Guler Jun 2004 A1
20040124977 Biffar Jul 2004 A1
20040126015 Hadell Jul 2004 A1
20040183673 Nageli Sep 2004 A1
20040198386 Dupray Oct 2004 A1
20040199411 Bertram et al. Oct 2004 A1
20040227630 Shannon et al. Nov 2004 A1
20040246130 Lambright et al. Dec 2004 A1
20040257225 Webb, Sr. Dec 2004 A1
20040266457 Dupray Dec 2004 A1
20050055237 Schmidtberg et al. Mar 2005 A1
20050091091 Bjerre et al. Apr 2005 A1
20050156736 Rajapakse et al. Jul 2005 A1
20050159883 Humphries et al. Jul 2005 A1
20050190097 Hsu Sep 2005 A1
20050219037 Huang et al. Oct 2005 A1
20050248454 Hanson et al. Nov 2005 A1
20050256731 Mougey et al. Nov 2005 A1
20060047379 Schullian et al. Mar 2006 A1
20060054705 Garton et al. Mar 2006 A1
20060101897 Masuya et al. May 2006 A1
20060105760 Shamoon et al. May 2006 A1
20060109109 Rajapakse et al. May 2006 A1
20060116893 Carnes et al. Jun 2006 A1
20060145837 Horton et al. Jul 2006 A1
20060155591 Altaf et al. Jul 2006 A1
20060202824 Carroll et al. Sep 2006 A1
20060229895 Kodger Oct 2006 A1
20060232398 Nedblake et al. Oct 2006 A1
20060238332 Carle et al. Oct 2006 A1
20060255934 Easley et al. Nov 2006 A1
20060276201 Dupray Dec 2006 A1
20060288744 Smith Dec 2006 A1
20070043538 Johnson et al. Feb 2007 A1
20070046459 Silverman et al. Mar 2007 A1
20070056369 Griffin et al. Mar 2007 A1
20070115902 Shamoon et al. May 2007 A1
20070120381 Ehrensvard et al. May 2007 A1
20070145130 Danilewitz Jun 2007 A1
20070150379 Vernaci et al. Jun 2007 A1
20070155379 Shamoon et al. Jul 2007 A1
20070167179 Shamoon et al. Jul 2007 A1
20070182556 Rado et al. Aug 2007 A1
20070222232 Held Sep 2007 A1
20070222674 Tan et al. Sep 2007 A1
20070252696 Belisle et al. Nov 2007 A1
20070262861 Anderson et al. Nov 2007 A1
20070285232 Bohman et al. Dec 2007 A1
20070287473 Dupray Dec 2007 A1
20080006696 Piersol et al. Jan 2008 A1
20080040244 Ricciuti et al. Feb 2008 A1
20080042809 Watts et al. Feb 2008 A1
20080086391 Maynard et al. Apr 2008 A1
20080094209 Braun et al. Apr 2008 A1
20080111693 Johnson et al. May 2008 A1
20080113672 Karr et al. May 2008 A1
20080133126 Dupray Jun 2008 A1
20080143516 Mock et al. Jun 2008 A1
20080143604 Mock et al. Jun 2008 A1
20080150698 Smith et al. Jun 2008 A1
20080157974 Boss et al. Jul 2008 A1
20080167049 Karr et al. Jul 2008 A1
20080186166 Zhou et al. Aug 2008 A1
20080231459 Corder Sep 2008 A1
20080248813 Chatterjee et al. Oct 2008 A1
20080252428 Robinson et al. Oct 2008 A1
20080309487 Chao Dec 2008 A1
20090030715 Robb et al. Jan 2009 A1
20090060349 Linaker et al. Mar 2009 A1
20090083123 Powell et al. Mar 2009 A1
20090102657 Evans et al. Apr 2009 A1
20090102660 Evans et al. Apr 2009 A1
20090121877 Henderson May 2009 A1
20090134999 Dobson et al. May 2009 A1
20090135000 Twitchell, Jr. May 2009 A1
20090135015 Dobson et al. May 2009 A1
20090140886 Bender Jun 2009 A1
20090146805 Joao Jun 2009 A1
20090146832 Ebert et al. Jun 2009 A1
20090167536 Clark et al. Jul 2009 A1
20090177394 Walz et al. Jul 2009 A1
20090201169 d'Hont et al. Aug 2009 A1
20090216775 Ratliff et al. Aug 2009 A1
20090234493 Pandit et al. Sep 2009 A1
20090308000 Corcoran Dec 2009 A1
20090316682 Twitchell et al. Dec 2009 A1
20090322510 Berger et al. Dec 2009 A1
20090326971 Piccinini et al. Dec 2009 A1
20100012653 Ulrich et al. Jan 2010 A1
20100039284 Hall et al. Feb 2010 A1
20100045436 Rinkes Feb 2010 A1
20100066501 Ulrich et al. Mar 2010 A1
20100066561 Ulrich et al. Mar 2010 A1
20100073229 Pattabiraman et al. Mar 2010 A1
20100076902 Kraft Mar 2010 A1
20100090822 Benson et al. Apr 2010 A1
20100095864 Forbes Apr 2010 A1
20100102964 Steer Apr 2010 A1
20100116932 Helou, Jr. May 2010 A1
20100141393 Daniel Jun 2010 A1
20100141445 Venkatasubramaniyam et al. Jun 2010 A1
20100145739 Erhart et al. Jun 2010 A1
20100234045 Karr et al. Sep 2010 A1
20100238032 Greene Sep 2010 A1
20100277280 Burkart et al. Nov 2010 A1
20100312715 Esque et al. Dec 2010 A1
20110012731 Stevens Jan 2011 A1
20110050397 Cova Mar 2011 A1
20110050423 Cova et al. Mar 2011 A1
20110050424 Cova et al. Mar 2011 A1
20110054979 Cova et al. Mar 2011 A1
20110120199 Auerbach et al. May 2011 A1
20110128143 Daniel Jun 2011 A1
20110133888 Stevens et al. Jun 2011 A1
20110133932 Tan et al. Jun 2011 A1
20110258930 Francis et al. Oct 2011 A1
20110266338 Babcock et al. Nov 2011 A1
20110283750 Will Nov 2011 A1
20110289320 Twitchell et al. Nov 2011 A1
20120058775 Dupray et al. Mar 2012 A1
20120069131 Abelow Mar 2012 A1
20120094638 Shamoon et al. Apr 2012 A1
20120182180 Wolf et al. Jul 2012 A1
20120190380 Dupray et al. Jul 2012 A1
Foreign Referenced Citations (12)
Number Date Country
2 368 174 Apr 2002 GB
2 448 482 Oct 2008 GB
541176 Aug 2005 NZ
WO 03098175 Nov 2003 WO
WO 2007121508 Nov 2007 WO
WO 2010077688 Jul 2010 WO
WO 2011008871 Jan 2011 WO
WO 2011008884 Jan 2011 WO
WO 2011022412 Feb 2011 WO
WO 2011025821 Mar 2011 WO
WO 2011025829 Mar 2011 WO
WO 2011025987 Mar 2011 WO
Non-Patent Literature Citations (27)
Entry
International Search Report and Written Opinion of the International Searching Authority, PCT Application Serial No. PCT/US2010/043795, Sep. 17, 2010, 11 pp.
U.S. Appl. No. 13/569,862, filed Aug. 8, 2012, Cova et al.
U.S. Appl. No. 13/569,884, filed Aug. 8, 2012, Cova et al.
International Search Report and Written Opinion of the International Searching Authority, PCT Application Serial No. PCT/US2009/067210, received Feb. 4, 2010, 9 pp.
International Preliminary Report on Patentability, PCT Application Serial No. PCT/US2009/067210, received Jun. 23, 2011, 8 pp.
International Search Report and Written Opinion of the International Searching Authority, PCT Application Serial No. PCT/US2010/041994 filed Jul. 14, 2010, received Sep. 14, 2010, 12 pp.
International Preliminary Report on Patentability, PCT Application Serial No. PCT/US2010/041994 filed Jul. 14, 2010, received Jan. 17, 2012, 11 pp.
International Search Report and Written Opinion of the International Searching Authority, PCT Application Serial No. PCT/US2010/047042 filed Aug. 27, 2010, received Dec. 27, 2010, 11 pp.
International Preliminary Report on Patentability, PCT Application Serial No. PCT/US2010/047042 filed Aug. 27, 2010, received Feb. 28, 2012, 8 pp.
International Preliminary Report on Patentability, PCT Application Serial No. PCT/US2010/043795 filed Jul. 29, 2010, received Jan. 31, 2012, 9 pp.
International Search Report and Written Opinion of the International Searching Authority, PCT Application Serial No. PCT/US2010/045776 filed Aug. 17, 2010, received Oct. 8, 2010, 14 pp.
International Preliminary Report on Patentability, PCT Application Serial No. PCT/US2010/045776 filed Aug. 17, 2010, received Feb. 21, 2012, 9 pp.
International Search Report and Written Opinion of the International Searching Authority, PCT Application Serial No. PCT/US2010/042014 filed Jul. 14, 2010, Received Sep. 14, 2010, 8 pp.
International Preliminary Report on Patentability, PCT Application Serial No. PCT/US2010/042014 filed Jul. 14, 2010, Received Jan. 17, 2012, 7 pp.
International Search Report and Written Opinion of the International Searching Authority, PCT Application Serial No. PCT/US2010/046655, mailed Oct. 20, 2010, 9 pp.
International Preliminary Report on Patentability, PCT Application Serial No. PCT/US2010/046655, mailed Mar. 8, 2012, 8 pp.
International Search Report and Written Opinion of the International Searching Authority, PCT Application Serial No. PCT/US2010/046640 filed Aug. 25 2010, mailed Oct. 18, 2010, 9 pp.
International Preliminary Report on Patentability, PCT Application U.S. Appl. No. PCT/US2010/046640 filed Aug. 25 2010, mailed Mar. 6, 2012, 8 pp.
“Hercules “Zigbee” e-Seal Bolt”. Bolt eSeal Electronic Seals—TydenBrooks. Retrieved from the internet: URL<URL: http://www.tydenbrooks.com/Products/Electronic-Seals/Bolt-eSeal.aspx>, Aug. 2, 2012. 2 pages.
Bajikar, Sundeep. “Trusted Platform Module (TPM) based Security on Notebook PCs—White Paper”, Jun. 20, 2002, Mobile Platforms Group, Intel Corporation. Retrieved from the internet: URL <http://www.intel.com/design/mobile/platform/downloads/Trusted—Platform—Module—White—Paper.pdf>, Aug. 2, 2012. 20 pages.
Chin, Le-Pong, et al. “The Role of Electronic Container Seal (E-Seal) with RFID Technology in the Container Security Initiatives.” Proceedings of the International Conference on MEMS, NANO and Smart Systems 2004. ICMENS. Aug. 25-27, 2004. pp. 116-120.
FAQ, Trusted Computing group—Developers. Retrieved from the Internet: URL<http://www.trustedcomputinggroup.org/faq/TPMFAQ/>, Oct. 19, 2010. 2 pages.
GlobalTrak, “GlobalTrak+ Asset Monitoring Unit,” 2 pages.
Liaw, M. and Cova, N., “Data Quality Delivered,” A Savi Networks White Paper, copyright 2006, 19 pages.
Maersk Line, “Maersk Line Shipping Containers Worldwide”. Retrieved from internet: URL<http://www.maerskline.com/link/?page=brochure&path=/our—services/our—e-commerce—services/maerskline.com/the—shipping—process/tracking>, dated Aug. 19, 2009. 7 pages.
Reid Simmons et al., “Learning to Predict Driver Route and Destination Intent” , Sep. 17-20, 2006, Proceedings of the 2006 IEEE Intelligent Transportation System Conference, pp. 127-132.
Siror, Joseph, et al. “Impact of RFID Technology on Tracking of Export Goods in Kenya.” From Journal of Convergence Information Technology, vol. 5, No. 9. Nov. 2010. pp. 190-200.
Related Publications (1)
Number Date Country
20110025496 A1 Feb 2011 US