System and method for dynamic asset tracking and monitoring
The invention is comprised of a self-constructed group of identical hubs, which extends the usable battery life of all hubs in the group by forming a self-healing network that eliminates unnecessary network traffic and assures communication integrity. The group communicates with a larger system which includes a server and various administrative devices that are used to monitor the location and status of the hubs and the palletized goods. Each hub is a stand-alone device that has a processor, memory, GPS transponder, various transceiver circuits, condition indicators, and a battery. Each hub is attached to a single pallet. The hubs are each capable of communication with the server through a variety of transceivers. However, only the hub that is determined by the group to be the best, communicates with the server at any one time.
1 . A self-configuring asset tracking and monitoring system comprising:
a server;
a plurality of hubs, each hub of the plurality of hubs having a processor, a memory, and a battery having a battery life, the plurality of hubs having a collective battery life;
each processor operatively connected to a set of sensors;
each processor operatively connected to a set of transceivers adapted to connect to the server; and
each memory containing a set of instructions that when executed by each processor cause each hub, of the plurality of hubs, to carry out the steps of:
assembling an internal dynamic memory structure formatted as a packed bit-field status structure from a first set of electronic status data from at least one of a group of a first set of sensors of the set of sensors and a first set of transceivers of the set of transceivers;
receiving an external dynamic memory structure via short-range hub-to-hub transceiver communication, the external dynamic memory structure containing a second set of electronic status data from at least one of a group of a second set of sensors of the set of sensors and a second set of transceivers of the set of transceivers from another hub of the plurality of hubs;
making a predicate word comparison by comparing the internal dynamic memory structure to the external dynamic memory structure to derive a predicate word comprising a multi-bit suitability indicator reflecting relative reporting suitability of the plurality of hubs based on the first set of electronic status data and the second set of electronic status data; and
executing a function set of computer instructions corresponding to the predicate word, including selecting whether each respective hub performs an upstream server-reporting function based on the predicate word such that only a hub selected by the predicate word comparison transmits to the server during a reporting interval, and extending the collective battery life of the plurality of hubs by limiting upstream server transmissions to the hub selected.
2 . The self-configuring asset tracking and monitoring system of claim 1 , wherein each processor is further connected to a warning indicator and the function set of computer instructions further comprises instructions to:
activate the warning indicator when the predicate word indicates an error condition comprising a verification failure or an authentication failure of the external dynamic memory structure, including detection of an invalid predetermined constant value or an invalid digital signature.
3 . The self-configuring asset tracking and monitoring system of claim 1 , wherein the function set of computer instructions further comprises instructions to:
report the internal dynamic memory structure to the server only when each respective hub is selected by the predicate word as having reporting suitability.
4 . The self-configuring asset tracking and monitoring system of claim 3 , wherein the set of transceivers further comprises:
a Wi-Fi transceiver, a cellular transceiver, and a Bluetooth transceiver; and
wherein the step of reporting further comprises:
reporting the internal dynamic memory structure to the server using the Wi-Fi transceiver when the Wi-Fi transceiver has a first signal; and reporting to the server using the cellular transceiver when the Wi-Fi transceiver does not have the first signal and the cellular transceiver has a second signal, the reporting occurring only when each respective hub is selected for upstream reporting based on the predicate word;
wherein the step of receiving further comprises:
receiving the external dynamic memory structure via short-range hub-to-hub communication using the Bluetooth transceiver.
5 . The self-configuring asset tracking and monitoring system of claim 3 , wherein each of the first set of electronic status data and the second set of electronic status data further comprises at least one of a group of humidity, pressure, temperature, battery status, GPS fix, Wi-Fi fix, cellular fix, fixed location status and motion status.
6 . The self-configuring asset tracking and monitoring system of claim 3 , wherein packed bit-field status structure is formed by a combination of a C-language union construct and a C-language struct construct to pack a set of status fields into a fixed-layout memory block.
7 . The self-configuring asset tracking and monitoring system of claim 3 , wherein the internal dynamic memory structure further comprises:
a predetermined constant value used for verification purposes and a digital signature based on the predetermined constant value used for verification purposes.
8 . The self-configuring asset tracking and monitoring system of claim 7 , wherein the predetermined constant value used for verification purposes and the digital signature are encapsulated by a C-language union instruction.
9 . The self-configuring asset tracking and monitoring system of claim 1 , wherein the predicate word further comprises a 5-bit word.
10 . The self-configuring asset tracking and monitoring system of claim 1 , wherein the step of comparing further comprises:
deriving a first comparison between an internal battery status and an external battery status.
11 . The self-configuring asset tracking and monitoring system of claim 10 , wherein the function set of computer instructions further comprises instructions to:
limit the upstream server transmissions, if the first comparison indicates that the internal battery status is greater than the external battery status.
12 . The self-configuring asset tracking and monitoring system of claim 10 , wherein the step of comparing further comprises:
deriving a second comparison between an internal cellular fix and an external cellular fix.
13 . The self-configuring asset tracking and monitoring system of claim 10 , wherein the step of comparing further comprises:
deriving a second comparison between an internal GPS fix and an external GPS fix; and
deriving a third comparison between an internal Wi-Fi fix and an external Wi-Fi fix.
14 . The self-configuring asset tracking and monitoring system of claim 13 , wherein the function set of computer instructions further comprises instructions to:
limit the upstream server transmissions if:
the first comparison indicates that the internal battery status is greater than the external battery status;
the second comparison indicates that the internal GPS fix is greater than the external GPS fix; and
the third comparison indicates that the internal Wi-Fi fix is greater than the external Wi-Fi fix.
15 . The self-configuring asset tracking and monitoring system of claim 13 , wherein the step of comparing further comprises:
deriving a fourth comparison between an internal fixed location indicator and an external fixed location indicator; and
deriving a fifth comparison between an internal moving indicator and an external moving indicator.
16 . The self-configuring asset tracking and monitoring system of claim 15 , wherein the function set of computer instructions further comprises instructions to:
select each respective hub to limit the upstream server transmissions if:
the fourth comparison is greater than the fifth comparison; or
the fifth comparison is greater than the fourth comparison.
17 . The self-configuring asset tracking and monitoring system of claim 1 , wherein the set of instructions further comprises instructions that when executed by each processor cause each hub, of the plurality of hubs, to carry out the steps of:
authenticating the external dynamic memory structure; and
validating the external dynamic memory structure.
18 . The self-configuring asset tracking and monitoring system of claim 17 , wherein the step of validating further comprises:
comparing a digitally signed message to a message table.
19 . The self-configuring asset tracking and monitoring system of claim 17 , wherein the step of authenticating further comprises:
generating a group key from a cryptographic group key that identifies the plurality of hubs and a cryptographic private key held by a receiving hub; and
comparing the group key to a group key table of authorized group keys for authentication.
20 . The self-configuring asset tracking and monitoring system of claim 1 , wherein the set of instructions further comprises instructions that when executed by each processor cause each hub, of the plurality of hubs, to carry out the steps of:
comparing a radio signal strength of the external dynamic memory structure to a minimum radio signal strength; and
erasing the external dynamic memory structure if the radio signal strength of the external dynamic memory structure is not above the minimum radio signal strength.
21 . The self-configuring asset tracking and monitoring system of claim 1 , wherein the set of instructions further comprises instructions that when executed cause each hub, of the plurality of hubs, to carry out the steps of:
counting a number of matched external dynamic memory structures received; and
erasing the external dynamic memory structure if the number of matched external dynamic memory structures received is not above a minimum count threshold.
22 . A method of configuring a set of hubs to communicate with a server comprising:
providing each hub, of the set of hubs, with a processor operatively connected to a memory;
providing each hub, of the set of hubs, with a set of transceivers operatively connected to each processor;
providing each hub, of the set of hubs, with a set of sensors operatively connected to each processor;
providing each hub, of the set of hubs, with a battery having a battery life, the set of hubs having a collective battery life;
assembling, at a first hub, a first dynamic memory structure formatted as a first packed bit-field status structure from a first set of status data from a first set of sensors and a first set of transceivers, of the first hub;
transmitting the first dynamic memory structure via short-range hub-to-hub transceiver communication to a second hub of the set of hubs;
receiving, at the first hub, a second dynamic memory structure, formatted as a second packed bit-field status structure, the second dynamic memory structure containing a second set of status data from a second set of sensors and a second set of transceivers, of the second hub;
determining a reporting condition by deriving a predicate bit-word comprising a multi-bit suitability indicator reflecting relative reporting suitability of the first hub, the predicate bit-word derived by making a predicate bit-word comparison by comparing the first dynamic memory structure to the second dynamic memory structure; and
reporting to the server with a transceiver of the first set of transceivers only when the first hub is selected by the predicate bit-word comparison to perform an upstream server-reporting function and extending the collective battery life of the set of hubs by limiting upstream server transmissions by each hub of the set of hubs.
23 . The method of claim 22 , wherein the step of determining further comprises:
evaluating a first battery strength of the first hub to a second battery strength of the second hub.
24 . The method of claim 22 , wherein the step of determining further comprises:
evaluating a first transceiver signal strength of the first hub to a second transceiver signal strength of the second hub.
25 . The method of claim 22 , wherein the step of determining further comprises:
evaluating a first GPS signal strength of the first hub to a second GPS signal strength of the second hub.
26 . The method of claim 22 , wherein the step of determining further comprises:
determining the reporting condition based on an accelerometer status.
27 . The method of claim 22 , wherein the step of determining further comprises:
determining the reporting condition based on a fixed location indicator.
28 . The method of claim 22 , wherein the step of comparing further comprises:
determining the reporting condition based on a predicate word assembled from the first set of status data.
29 . The method of claim 22 , wherein the step of assembling further comprises:
digitally signing a message word.
30 . The method of claim 22 , wherein the step of comparing further comprises:
authenticating a digital signature carried within the second dynamic memory structure before accepting the second dynamic memory structure as valid.
31 . The method of claim 22 , wherein the step of comparing further comprises:
authenticating and validating the second dynamic memory structure.
32 . The method of claim 22 , wherein the step of transmitting further comprises:
transmitting with a Bluetooth transceiver of the set of transceivers.
33 . The method of claim 32 , wherein the step of reporting further comprises:
reporting with one of a group of a Wi-Fi transceiver, a cellular transceiver, and both of the Wi-Fi transceiver and the cellular transceiver of the set of transceivers.