Systems, apparatus, and methods for self- adjusting a broadcast setting of a node in a wireless node network
Granted 16 Mar 2021 · 2 office actions
Assignee: FedEx Corporation
Law firm: Law firm · Log in to unlock
Attorney: Attorney · Log in to unlock
Inventors: Ole-Petter Skaaksrud · Examiner: Kibrom T Hailu · AU 2461 · TC 2400
Life of the application
13 dated eventsAbstract
Methods, apparatus and systems that are directed towards a tangible wireless node-based implementation for self-adjusting a broadcast setting of a node in a wireless node network. In general, the node (such as an ID node, a master node, or container-related node) detects a broadcast modification event (such as a time-based event, an association-based event, a location-based event, and/or a sensor-based event). The node then accesses a broadcast profile stored within the node to determine an updated value for the broadcast setting of the node based upon the detected broadcast modification event. Pursuant to the broadcast profile, the updated value may, for example, be a modified RF transmission output power level setting, a modified frequency setting, and/or a timing setting that changes how the node broadcasts messages. Once the updated value is determined, the node then self-adjusts the broadcast setting from a current value to the updated value.
Description
81 parts›RELATED APPLICATIONS
The present application claims the benefit of priority to the Provisional Patent Application No. 62/312,155 entitled “Methods, Apparatus, and Systems Using Enhanced Power Profiles, Container Nodes, Multi-Radio Element Nodes, and Node Communication Equipment.”
The present application is also related in subject matter to the following non-provisional patent applications where each also claims the benefit of priority to the same above-referenced provisional patent application: (1) Non-Provisional Patent application Ser. No. 15/433,023 entitled “Methods and Systems for Container Node-Based Enhanced Management of a Multi-Level Wireless Node Network”; (2) Non-Provisional Patent application Ser. No. 15/433,043 entitled “Methods and Systems for Motion-Based Management of an Enhanced Logistics Container”; (3) Non-Provisional Patent application Ser. No. 15/433,074 entitled “Methods and Systems for Motion-Enhanced Package Placement Tracking Using a Container Node Associated with a Logistics Container”; (4) Non-Provisional Patent application Ser. No. 15/433,097 entitled “Methods and Systems for Active Shipment Management Using a Container Node Within a Wireless Network Enabled Vehicle”; (5) Non-Provisional Patent application Ser. No. 15/433,273 entitled “Methods, Apparatus, and Systems for Enhanced Multi-Radio Container Node Elements Used in a Wireless Node Network”; (6) Non-Provisional Patent application Ser. No. 15/434,404 entitled “Methods, Apparatus, and Systems for Improved Node Monitoring in a Wireless Node Network”; and (7) Non-Provisional Patent application Ser. No. 15/434,425 entitled “Methods, Non-Transitory Computer Readable Media, and Systems for Improved Communication Management of a Plurality of Wireless Nodes in a Wireless Node Network”.
›FIELD OF THE DISCLOSURE
The present disclosure generally relates to systems, apparatus and methods in the field of managed logistics for items (e.g., an object, a package, a person, a piece of equipment). More particularly, the present disclosure relates to various aspects involving systems, apparatus and methods that leverage an adaptive, context-aware wireless node network that may use enhanced power profiles, proactive movement notification, one or dedicated container nodes as node elements in the network, enhanced nodes that deploy multiple radio elements, and/or enhanced node communication management for highly congested operating node environments.
›BACKGROUND · 1 of 2
Asset management has always been an important part of commerce, and the ability to identify an item and locate its whereabouts may be considered core to companies that ship items from one location to another. For example, tracking packages is important to organizations of all kinds, whether it be a company keeping track of inventory to be sold in its stores, or a package delivery provider keeping track of packages being transported through its delivery network. To provide quality service, an organization typically creates and maintains a highly organized network for tracking its items—packages, people, objects, etc. Effective management of such networks allows lower cost, reduced delivery time, and enhanced customer service. And efficient deployment of the network helps manage costs.
In addition to tracking packages, parties that ship and receive packages may also need information regarding the conditions of the packages, such as the temperature and humidity of the package. For example, a customer that has ordered a box of wine may want to monitor the temperature of the contents of the box to determine if the temperature and/or humidity goes above or below a set range. Likewise, the party that ships the package may also want to monitor the conditions of the package to ensure that the content arrives in the proper condition.
Conventionally, this tracking function may be provided by a variety of known mechanisms and systems. Machine-readable barcodes are one way organizations keep track of items. A retailer, for example, may use bar codes on items in its inventory. For example, items to be sold in a retailer's store may each be labeled with a different machine-readable bar code. In order to keep track of inventory, the retailer typically scans or otherwise captures an image of the bar code on each item so that a back-end part of the retailer's operation can keep track of what is coming in and leaving their possession from suppliers. In addition, when an item is sold to a consumer, the bar code for that item is scanned or captured to track sales and inventory levels.
Similarly, a package delivery provider may utilize machine-readable bar codes by associating a bar code with packages to be delivered to a recipient. For example, a package may have a bar code corresponding to a tracking number for that package. Each time the package goes through a transit checkpoint (e.g., the courier taking initial control of the package, the package being temporarily placed in a storage facility while being moved from a pickup point to a delivery location, and the package being delivered to the recipient, etc.), the package's bar code may be scanned. Bar codes, however, have the disadvantage that personnel must manually scan each bar code on each item in order to effectively track the items.
Radio-frequency identification (RFID) tags are another known mechanism for tracking items. In contrast to barcodes, RFID tags do not usually require manual scanning. For example, in a retail context, an RFID tag on an inventory item may be able to communicate with an electronic reader that actively interrogates for a tag and, when it does, it detects items in a shopping cart and adds the cost of each item to a bill for the consumer. The RFID tag usually transfers a coded number only when queried or prompted by the reader. RFID tags have also been used to track items such as livestock, railroad cars, trucks, and even airline baggage. These tags typically only allow for basic polled or actively interrogated tracking, but do not provide a way to improve asset management using information about the environment in which the items are tracked.
Sensor-based tracking systems are also known which can provide more information than RFID systems. Shippers, carriers, recipients, and other parties often wish to know the location, condition, and integrity of shipments before, during, and after transport to satisfy quality control goals, meet regulatory requirements, and optimize business processes. However, such systems are typically expensive given the complexity of the sensors, and may provide extraneous and redundant item information.
Systems exist that deploy different types of nodes in a wireless node network used for logistics related tracking and monitoring operations. Some networks may have a server at a top level, a master node at a middle level of the network, and a less complex node (generally referred to as an ID node) at a lower level of the network. In some implementations, it is known to associate and otherwise pair an ID node with a shipping item (such as a box, package, product, or other packaging for the product being shipped). One problem that may be encountered with such a wireless network of nodes involves the dependence of the ID node on the master node, which can in some situations create a large overhead burden of communication traffic between multiple ID nodes and a master node associated with those ID nodes. Such master node processing burdens may be experienced when there is an unduly burdensome concentration or density of package ID nodes that, for example, enter a logistics transport or facility. In such a situation, the master node may face an undesirably dynamic processing load for monitoring and controlling aspects of how the ID nodes need to be operating.
Further needs exist related to enhanced methods and systems for tracking nodes and their movement while inside containers or vehicles. Still further needs exist in how to better use radio elements of a node when deployed in such a logistics related wireless node network so to allow for improved positional awareness when managing items, nodes associated with the items, and/or containers for such managed items.
Additionally, the prospect of a dynamic congested operating node environment may cause communication issues where nodes are not able to communicate with other nodes. Thus, there exists a need for improved ways and systems that facilitate an intelligent and adaptive approach to managing congested node landscapes so that nodes may still effectively communicate with one another while operating in such a congested environment.
›BACKGROUND · 2 of 2
To address these types of requirements and logistics related issues, one or more systems are needed that may leverage one or more elements of an adaptive, context-aware wireless node network that may use enhanced power profiles, proactive movement notification, one or more dedicated container nodes as node elements in the network, enhanced nodes that deploy multiple radio elements, and/or enhanced node communication management for highly congested operating node environments
›SUMMARY · 1 of 2
In the following description, certain aspects and embodiments will become evident. It should be understood that the aspects and embodiments, in their broadest sense, could be practiced without having one or more features of these aspects and embodiments. It should be understood that these aspects and embodiments are merely exemplary.
In general, use of a dynamic broadcast profile is described that permits a node (such as an ID node or a master node) to self-adjust broadcast settings (such as output power level, frequency settings, and/or timing settings) in response to detecting a broadcast modification event. Examples of broadcast modification events may be time-based events (such as the ends of time profile segments defined by the profile, or an association-based event when the node associates with another node, or a location-based event when the node is mobile and detects proximity to a particular location or structure).
More particularly, one aspect of the disclosure includes a wireless node-based method for self-adjusting a broadcast setting of a node in a wireless node network. Such a node may, for example, be implemented by an ID node capable of communicating directly with a master node but incapable of communicating directly with a server in the wireless node network; a master node that can self-locate and communicate with an ID node and server on two different communication paths; a fixed location master node; and a container node. The broadcast setting of the node may, for example, include an RF transmission output power level setting identified as part of the broadcast profile of the node; a frequency setting identified as part of the broadcast profile of the node; and/or a timing setting identified as part of the broadcast profile of the node. The method begins with the node detecting a broadcast modification event. Such a broadcast modification event, for example, may include one or more of a time-based event (e.g., an end to a time period defined by the broadcast profile or an end to one of multiple different time profile segments defined by the broadcast profile), an association-based event (e.g., when the node establishes a permitted connection that associates the node with another node in the network), a location-based event (e.g., self-determining that the node is proximate a particular structure), and a sensor-based event (e.g., when one or more sensors on the node detects a change in an environmental condition).
The method continues by accessing a broadcast profile of the node stored within the node to determine an updated value for the broadcast setting of the node based upon the detected broadcast modification event. This may occur with the node accessing memory storage on the node in response to detecting the broadcast modification event and without being prompted with an instruction from a second node to adjust the broadcast setting, and then determining the updated value for the broadcast setting of the node based upon the broadcast modification event detected. The updated value may be one of multiple broadcast setting values in the node's broadcast profile, such as a modified RF transmission output power level setting for the node as defined by the broadcast profile, a modified frequency setting for the node as defined by the broadcast profile, and/or a timing setting for the node as defined by the broadcast profile. The updated value may also be a predetermined value related to a structure in proximity to the node, a predetermined value that is a part of context data maintained in a memory storage of the node, or a predetermined value related to a structure (such as an interior of a shipping container) associated with a master node in the wireless node network.
The method then has the node self-adjusting the broadcast setting of the node from a current value to the updated value. The node may then broadcast a message using the updated value, where a header of the message reflects the updated value. Such a broadcasted message may be to a managing device within the wireless node network, where the header of the message updates the managing device about the updated value of the broadcast setting of the node.
In another aspect of the disclosure, a non-transitory computer-readable medium is disclosed that contains instructions which when executed on a processor of a node performs a wireless node-based method for self-adjusting a broadcast setting of the node in a wireless node network. Such a method may be similar to that described above.
Yet another aspect described herein may include a self-adjusting broadcasting node apparatus in a wireless node network. The self-adjusting broadcasting node apparatus may include a node processing unit, a memory storage, a communication interface, and a detector. The memory storage is coupled to the node processing unit and maintains self-adjusting broadcast code for execution by the node processing unit and a broadcast profile. The communication interface is coupled to the node processing unit and operative to communicate with a second device in the wireless node network in accordance with the broadcast profile. The detector is coupled to the node processing unit and is operative to generate data related to a broadcast modification event. The node processing unit, when executing the self-adjusting broadcast code maintained on the memory storage, is novelly and programmatically operative to to adapt the node apparatus so that it can, in an unconventional and innovative manner, receive the generated data related to the broadcast modification event from the detector; access the broadcast profile in the memory storage; determine an updated value of a broadcast setting for the communication interface according to the broadcast profile and based upon the generated data related to the broadcast modification event; self-adjust the broadcast setting from a current value to the updated value without receiving an adjustment instruction on the communication interface from the second device in the wireless node network; and cause the communication interface to operate in accordance with the updated value of the broadcast setting.
›SUMMARY · 2 of 2
In still another aspect of the disclosure, an enhanced self-adjusting wireless node system is described that generally includes two separate node apparatus. The first node apparatus is operative to (a) self-adjust a broadcast setting for the first node apparatus to an updated value in response to a detected broadcast modification event and based upon a broadcast profile for the first node apparatus, and (b) broadcast a message in accordance with the updated value of the broadcast setting, wherein the message comprises at least header information reflecting the updated value. The second node apparatus operative to receive the message from the first node apparatus and storing data associated with the first node apparatus and the updated value based upon the header information in the received message.
Generally stated, each of these aspects respectively effect improvements to the interactive wireless logistics node technology used to track and monitor items being shipped. Additional advantages of this and other aspects of the disclosed embodiments and examples will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
›BRIEF DESCRIPTION OF THE DRAWINGS · 1 of 4
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate several embodiments according to one or more principles of the invention and together with the description, serve to explain one or more principles of the invention. In the drawings,
FIG. 1 is a diagram of an exemplary wireless node network in accordance with an embodiment of the invention;
FIG. 2 is a more detailed diagram of an exemplary wireless node network in accordance with an embodiment of the invention;
FIG. 3 is a more detailed diagram of an exemplary ID node device in accordance with an embodiment of the invention;
FIG. 4 is a more detailed diagram of an exemplary master node device in accordance with an embodiment of the invention;
FIG. 5 is a more detailed diagram of an exemplary server in accordance with an embodiment of the invention;
FIG. 6 is a diagram illustrating the structure or format of an exemplary advertisement data packet in accordance with an embodiment of the invention;
FIG. 7 is a diagram illustrating sample content for an exemplary advertisement data packet in accordance with an embodiment of the invention;
FIG. 8 is a state diagram illustrating exemplary states and transitions between the states as part of operations by an exemplary node in a wireless node network in accordance with an embodiment of the invention;
FIG. 9 is a diagram illustrating exemplary components of a wireless node network during an exemplary master-to-ID node association in accordance with an embodiment of the invention;
FIG. 10 is a diagram illustrating exemplary components of a wireless node network during an exemplary ID-to-ID node association in accordance with an embodiment of the invention;
FIG. 11 is a diagram illustrating exemplary components of a wireless node network during an exemplary ID-to-master node query in accordance with an embodiment of the invention;
FIG. 12 is a diagram illustrating exemplary components of a wireless node network during an exemplary alert advertising mode in accordance with an embodiment of the invention;
FIG. 13 is a diagram illustrating an exemplary location determination using master node advertise in accordance with an embodiment of the invention;
FIG. 14 is a diagram illustrating an exemplary location determination using ID node advertise in accordance with an embodiment of the invention;
FIG. 15 is a diagram illustrating an exemplary location determination through triangulation in accordance with an embodiment of the invention;
FIG. 16 is a diagram illustrating an exemplary location determination through chaining triangulation in accordance with an embodiment of the invention;
FIG. 17 is a diagram illustrating an example logistics operation using exemplary components of a wireless node network in accordance with an embodiment of the invention;
FIG. 18 is a flow diagram illustrating an example method for managing shipment of an item using a wireless node network in accordance with an embodiment of the invention;
FIG. 19 is a flow diagram illustrating another example method for managing shipment of an item using a wireless node network in accordance with an embodiment of the invention;
FIG. 20 is a diagram illustrating exemplary node packages located in an exemplary vehicle environment in accordance with an embodiment of the invention;
FIG. 21 is a diagram illustrating exemplary mobile storage units, such as ULDs, used as containers that help ship node packages in an exemplary airborne environment in accordance with an embodiment of the invention;
FIGS. 22A-22C are diagrams illustrating exemplary stages of an ID node moving through part of an exemplary transit path while associating with different master nodes in accordance with an embodiment of the invention;
FIG. 23 is a flow diagram illustrating an example method for association management of a wireless node network in accordance with an embodiment of the invention;
FIG. 24 is a flow diagram illustrating another example method for association management of a wireless node network in accordance with an embodiment of the invention;
FIG. 25 is a flow diagram illustrating yet another example method for association management of a wireless node network in accordance with an embodiment of the invention;
FIG. 26 is a flow diagram illustrating an exemplary method for context management of a wireless node network in accordance with an embodiment of the invention;
FIG. 27 is a flow diagram illustrating an exemplary method for locating a node in a wireless node network based upon observed signal patterns and characteristic indications over a period of time in accordance with an embodiment of the invention;
FIG. 28 is a flow diagram illustrating an exemplary method for location determination by varying a power characteristic of nodes in a wireless node network in accordance with an embodiment of the invention;
FIG. 29 is a flow diagram illustrating an exemplary method for location determination using one or more associations of nodes in a wireless node network in accordance with an embodiment of the invention;
FIG. 30 is a flow diagram illustrating another exemplary method for location determination using one or more associations of nodes in a wireless node network in accordance with an embodiment of the invention;
FIG. 31 is a flow diagram illustrating yet another exemplary method for location determination using one or more associations of nodes in a wireless node network in accordance with an embodiment of the invention;
FIG. 32 is a flow diagram illustrating an exemplary method for location determination of a first node in a wireless node network based on context data in accordance with an embodiment of the invention;
FIG. 33 is a flow diagram illustrating an exemplary method for determining a location using chaining triangulation for one of a plurality of nodes in a wireless node network having a server in accordance with an embodiment of the invention;
FIG. 34 is a diagram illustrating an exemplary enhanced self-adjusting wireless node system in accordance with an embodiment of the invention;
›BRIEF DESCRIPTION OF THE DRAWINGS · 2 of 4
FIG. 35 is a diagram illustrating further details of an exemplary node that uses self-adjusting broadcast code and at least one broadcast profile as part of the system shown in FIG. 34 in accordance with an embodiment of the invention;
FIG. 36 is a flow diagram illustrating an exemplary method for self-adjusting a broadcast setting of the node in a wireless node network in accordance with an embodiment of the invention;
FIG. 37 is a diagram illustrating an exemplary enhanced logistics system for managing a multi-level wireless node network involving a plurality of packages in different containers in accordance with an embodiment of the invention;
FIG. 38 is a diagram illustrating another exemplary enhanced logistics system for managing a multi-level wireless node network with further details regarding an exemplary container and a related exemplary container node shown with node-enabled packages maintained within the container in accordance with an embodiment of the invention;
FIG. 39 is a diagram illustrating further details of the exemplary container node deployed within a multi-level wireless node network as shown in FIG. 38 where the network operating environment for the container node includes a package ID node associated with a package, a facility master node associated with a facility, and a server in accordance with an embodiment of the invention;
FIG. 40 is a flow diagram illustrating an exemplary method for managing a multi-level wireless node network having a plurality of package ID nodes at a first level of the network, a container node at a second level of the network, a facility master node at a third level of the network, and a server at fourth level of the network in accordance with an embodiment of the invention;
FIG. 41 is a diagram illustrating an exemplary motion sensing container node in accordance with an embodiment of the invention;
FIG. 42 is a diagram illustrating an exemplary motion-based management system for a logistics container that uses an exemplary motion sensing container node in accordance with an embodiment of the invention;
FIG. 43 is a flow diagram illustrating an exemplary method for motion-based management of a logistics container in accordance with an embodiment of the invention;
FIG. 44 is a diagram illustrating an exemplary base platform used as part of an alternative embodiment of a logistics container in accordance with an embodiment of the invention;
FIG. 45 is a close up diagram illustrating further details of a corner of the exemplary base platform shown in FIG. 44 in accordance with an embodiment of the invention;
FIG. 46 is a diagram illustrating a cross-sectional view of a first exemplary type of periphery edge piece from the exemplary base platform shown in FIG. 44 in accordance with an embodiment of the invention;
FIG. 47 is a diagram illustrating a cross-sectional view of a second exemplary type of periphery edge piece from the exemplary base platform shown in FIG. 44 in accordance with an embodiment of the invention;
FIG. 48 is a diagram illustrating a cross-sectional view of an exemplary base attachment point used with the first exemplary type of periphery edge piece from the exemplary base platform shown in FIG. 46 in accordance with an embodiment of the invention;
FIG. 49 is a diagram illustrating a cross-sectional view of another exemplary base attachment point used with the second exemplary type of periphery edge piece from the exemplary base platform shown in FIG. 47 in accordance with an embodiment of the invention;
FIG. 50 is a diagram illustrating a cross-sectional view of an exemplary container node as attached to the first exemplary type of periphery edge piece from the exemplary base platform shown in FIG. 46 in accordance with an embodiment of the invention;
FIG. 51 is a diagram illustrating a cross-sectional view of the exemplary container node as attached to the second exemplary type of periphery edge piece from the exemplary base platform shown in FIG. 47 in accordance with an embodiment of the invention;
FIG. 52 is a diagram illustrating how a plurality of exemplary packages may be disposed relative to the base platform of FIG. 44 when the base platform is part of an exemplary motion sensing container in accordance with an embodiment of the invention;
FIG. 53 is a diagram illustrating an exemplary flexible cover secured over packages and to the base platform of FIG. 44 as part of an exemplary motion sensing container in accordance with an embodiment of the invention;
FIG. 54 is a diagram illustrating an embodiment of an exemplary motion sensing container node used for improved tracking of packages placed within a logistics container in accordance with an embodiment of the invention;
FIG. 55 is a diagram illustrating an exemplary motion-based system for improved tracking of packages placed within one of a group of different node-enabled logistics containers in accordance with an embodiment of the invention;
FIG. 56 is a flow diagram illustrating an exemplary motion-based method for improved tracking of package placement in a logistics container using a container node associated with the logistics container in accordance with an embodiment of the invention;
FIG. 57 is a flow diagram illustrating an exemplary motion-based method for improved tracking of package placement relative to a plurality of container node enabled logistics containers as part of a monitored loading operation using a wireless node network including at least a managing node in accordance with an embodiment of the invention;
FIG. 58 is a flow diagram illustrating an exemplary motion-based method for improved tracking of package placement in a container node enabled logistics container in a monitored loading operation involving ID node enabled packages and non-node enabled packages in accordance with an embodiment of the invention;
FIG. 59 is a diagram illustrating an exemplary active shipment management system as deployed within an exemplary wireless network enabled vehicle in accordance with an embodiment of the invention;
›BRIEF DESCRIPTION OF THE DRAWINGS · 3 of 4
FIG. 60 is a diagram illustrating further details of an exemplary ID node enabled package maintained within the exemplary wireless network enabled vehicle as shown in FIG. 59 where the ID node enabled package includes an exemplary environmental control unit operative with the ID node in the package in accordance with an embodiment of the invention;
FIG. 61 is a flow diagram illustrating an exemplary method for active shipment management within a wireless network enabled vehicle in accordance with an embodiment of the invention;
FIG. 62 is a flow diagram illustrating additional steps in a further embodiment of the exemplary method for active shipment management as shown in FIG. 61 in accordance with an embodiment of the invention;
FIG. 63 is a diagram illustrating an exemplary active shipment management system as deployed within an exemplary wireless network enabled vehicle where the vehicle operates as a mobile storage unit for ID node enabled packages without using separate containers and container nodes in accordance with an embodiment of the invention;
FIG. 64 is a flow diagram illustrating an exemplary method for active shipment management within a wireless network enabled vehicle as shown in FIG. 63 in accordance with an embodiment of the invention;
FIG. 65 is a flow diagram illustrating additional steps in a further embodiment of the exemplary method for active shipment management as shown in FIG. 64 in accordance with an embodiment of the invention;
FIG. 66 is a diagram illustrating an exemplary enhanced container node apparatus disposed as part of a wireless node network capable logistics container and having at least one improved radio transceiver for reception of a node inside of the logistics container as deployed in accordance with an embodiment of the invention;
FIG. 67 is a diagram of further internal details of an exemplary enhanced container node having a radio transceiver with dedicated radio units and corresponding antenna elements in accordance with an embodiment of the invention;
FIG. 68 is a diagram of further internal details of an exemplary enhanced container node having a radio transceiver with a single radio unit selectively coupled to multiple antenna elements in accordance with an embodiment of the invention;
FIGS. 69A and 69B are, collectively, a flow diagram illustrating an exemplary method implemented by a multi-antenna container node for locating a package ID node within a storage area of the logistics container in accordance with an embodiment of the invention;
FIG. 70 is a diagram illustrating an exemplary enhanced container node apparatus disposed as part of a wireless node network capable logistics container and having at least one improved radio transceiver for reception of a node outside of the logistics container as deployed in accordance with an embodiment of the invention;
FIG. 71 is a diagram of further internal details of an exemplary enhanced container node having a radio transceiver with dedicated radio units and corresponding antenna elements that receive signals from outside of a logistics container in accordance with an embodiment of the invention;
FIG. 72 is a diagram of further internal details of an exemplary enhanced container node having a radio transceiver with a single radio unit selectively coupled to multiple antenna elements that receive signals from outside of a logistics container in accordance with an embodiment of the invention;
FIG. 73 is a diagram illustrating a further embodiment of an exemplary enhanced container node apparatus disposed as part of a wireless node network capable logistics container and having a first improved radio transceiver for reception of a node outside of the logistics container and a second improved radio transceiver for reception of a node inside of the logistics container as deployed in accordance with an embodiment of the invention;
FIG. 74 is a diagram of an exemplary logistics container having antenna elements disposed in an exemplary configuration that is spatially disperse along an axis of the logistics container in accordance with an embodiment of the invention;
FIG. 75 is a diagram of an exemplary logistics container having antenna elements disposed in an exemplary configuration spaced at different corners of the logistics container in accordance with an embodiment of the invention;
FIG. 76 is a diagram illustrating an exemplary embodiment of multiple wireless node network capable logistics containers having axis-located antenna elements and positioned within a physical storage that is associated with a facility master node in accordance with an embodiment of the invention;
FIG. 77 is a diagram illustrating an exemplary embodiment of multiple wireless node network capable logistics containers having corner-located antenna elements and positioned within a physical storage that is associated with a facility master node in accordance with an embodiment of the invention;
FIG. 78 is a flow diagram illustrating an exemplary method of locating a multi-antenna container node enhanced logistics container disposed within a physical storage having an associated master node located at a fixed position relative to the physical storage, the container node in the logistics container having at least a container node controller, a first radio transceiver, and a second radio transceiver in accordance with an embodiment of the invention;
FIG. 79 is a diagram illustrating an alternative embodiment of a logistics container implemented with an exemplary a logistics storage platform for securing, storing, and transporting ID node enabled packages in accordance with an embodiment of the invention;
FIG. 80 is a more detail diagram illustrating an exemplary enhanced container node having multiple antenna elements as deployed as part of the exemplary logistics platform shown in FIG. 79 in accordance with an embodiment of the invention;
FIG. 81 is a diagram illustrating another alternative embodiment of a logistics container that uses shelving platforms for securing, storing, and transporting ID node enabled packages in accordance with an embodiment of the invention;
›BRIEF DESCRIPTION OF THE DRAWINGS · 4 of 4
FIG. 82 is a diagram illustrating yet another alternative embodiment of a logistics container that uses shelving platforms having a base platform and side walls in accordance with an embodiment of the invention;
FIG. 83 is a diagram illustrating an embodiment of an exemplary dedicated multi-radio system and apparatus for logistics node monitoring disposed in a wireless node network having a plurality of low-level ID nodes and a high-level managing node, wherein each of the low-level ID nodes is associated with one of a plurality of items being shipped in accordance with an embodiment of the invention;
FIG. 84 is a flow diagram illustrating an exemplary method for logistics node monitoring in a wireless node network using a dedicated multi-radio mid-level monitoring node apparatus with a high-level managing node and multiple low-level ID nodes associated with different items being shipped in accordance with an embodiment of the invention;
FIG. 85 is a diagram illustrating an alternative embodiment of an exemplary dedicated multi-radio system and apparatus for logistics node monitoring disposed in a wireless node network in accordance with an embodiment of the invention;
FIG. 86 is a diagram illustrating another alternative embodiment of an exemplary dedicated multi-radio system and apparatus for logistics node monitoring disposed in a wireless node network in accordance with an embodiment of the invention;
FIGS. 87A-87D are related diagrams illustrating an exemplary system of logistics node elements that include an exemplary server that provides enhanced communication management for a congested node environment in accordance with an embodiment of the invention;
FIGS. 88A-88B are related diagrams illustrating the exemplary system shown in FIG. 87A after a time interval has expired and some of the logistics node elements have moved to where the exemplary server provides enhanced communication management for an updated node environment in accordance with an embodiment of the invention;
FIGS. 89A-89B are related diagrams illustrating the exemplary system shown in FIG. 87A after a further time interval has expired and some of the logistics node elements have moved within a congested node environment on an exemplary delivery vehicle in accordance with an embodiment of the invention;
FIG. 90 is a diagram illustrating further details of the exemplary server used in the system shown in FIGS. 87A-89B to provide enhanced communication management for a congested node environment in accordance with an embodiment of the invention;
FIG. 91 is a flow diagram illustrating an exemplary enhanced method of communication management of a plurality of wireless nodes by a server operating in a wireless node network in accordance with an embodiment of the invention;
FIGS. 92A-92B are collective a flow diagram illustrating a more detailed exemplary enhanced method of communication management of a plurality of wireless nodes by a server and a target node's neighboring node(s) as they interact within a wireless node network in accordance with an embodiment of the invention;
FIG. 93 is a diagram illustrating details of an exemplary modified master node that uses one or more node management rules to provide enhanced communication management for a congested node environment in accordance with an embodiment of the invention;
FIG. 94 is a flow diagram illustrating an exemplary enhanced method of communication management of a plurality of wireless nodes by a communication management master node operating in a wireless node network in accordance with an embodiment of the invention;
FIGS. 95A-95B are collectively a flow diagram illustrating another exemplary enhanced method of communication management of a plurality of wireless nodes by a communication management master node and a target node's neighboring node(s) as they interact within a wireless node network in accordance with an embodiment of the invention;
FIGS. 96A-96B are collectively a flow diagram illustrating another exemplary enhanced method of communication management of a plurality of wireless nodes by a server and multiple communication management master nodes as they interact within a wireless node network in accordance with an embodiment of the invention;
FIG. 97 is a diagram illustrating details of an exemplary centralized communication management master node (also referred to as a primary master node) that controls other master nodes as part of providing enhanced communication management for a congested node environment in accordance with an embodiment of the invention;
FIGS. 98A-98C are related diagrams illustrating an exemplary system of logistics node elements that include an exemplary primary master node that controls other master nodes as part of providing enhanced communication management for a congested node environment in accordance with an embodiment of the invention; and
FIG. 99 is a flow diagram illustrating an exemplary enhanced method of communication management of a plurality of wireless nodes that leverages use of a primary master node that controls other master nodes in accordance with an embodiment of the invention.
›DESCRIPTION OF THE EMBODIMENTS · 1 of 71
Reference will now be made in detail to exemplary embodiments. Wherever possible, the same reference numbers are used in the drawings and the description to refer to the same or like parts.
In general, the following describes various embodiments of a contextually aware hierarchical wireless node network that may be managed, operated, and applied by principles as set forth herein. In general, embodiments of the wireless node network may include one or more lower level devices or nodes (e.g., an ID node) that rely on shorter-range communication with a higher level device or node (e.g., a master node), which is operative to communicate with a server over a different communication path while the lower level node is unable to communicate directly with the server. Those skilled in the art will appreciate that such a hierarchy of different functional communicating network components (generally referred to as network devices) may be characterized as a network of nodes. Those skilled in the art will appreciate that in some embodiments, the wireless node network may include the server as well as different wireless nodes despite the fact that the server may not be a dedicated wireless component. In other embodiments, the network may include similar types of wireless nodes or different types of wireless nodes.
Further, those skilled in the art will appreciate that each embodiment described herein effects improvements to particular technologies involving an adaptive, context-aware wireless node network of node elements. Each embodiment describes a specific technological application of one or more nodes that operate in such a wireless node network where the specific technological application improves or otherwise enhances such technical fields as explained and supported by the disclosure that follows.
Those skilled in the art will understand through the following detailed description that the nodes may be associated with items (e.g., an object, a package, a person, a piece of equipment) and may be used to identify and locate the items while being dynamically programmed during operation of the network and while the items move along an anticipated path (e.g., a transit path from an origin point to a destination point). The following further describes various embodiments of a wireless node network, exemplary ways to manage components of a wireless node network, exemplary ways to better determine the location of components of a wireless node network, and applications of a wireless node network to enhance logistics operations that rely upon a wireless node network.
Wireless Node Networks
FIG. 1 illustrates a basic diagram of an exemplary wireless node network in accordance with an embodiment of the invention. The exemplary network shown in FIG. 1 comprises a server 100 connected to a network 105 , which is also operatively connected to different network components, such as a master node 110 a and indirectly to an ID node 120 a through master node 110 a . Master node 110 a is typically connected to an ID node 120 a via short-range wireless communications (e.g., Bluetooth® formatted communications). Master node 110 a is typically connected to server 100 through network 105 via longer-range wireless communication (e.g., cellular) and/or medium range wireless communication (e.g., wireless local area data networks or Wi-Fi). ID node 120 a is typically a low cost device that may be easily placed into a package, be integrated as part of packaging, or otherwise associated with an item to be tracked and located, such as package 130 , a person, or object (e.g., vehicle, etc.). Generally, an ID node is capable of communicating directly with a master node but incapable of communicating directly with the server, while a master node is capable of communicating directly with the server and separately and directly communicating with other nodes (such as an ID node or another master node). The ability to deploy a hierarchy of nodes within an exemplary wireless node network to distribute tasks and functions at the different levels in an efficient and economical manner helps to facilitate a wide variety of adaptive locating, tracking, managing, and reporting applications using such a network of nodes as discussed in more detail below.
In general, the lower cost, lower complexity ID node 120 a is managed by the higher complexity master node 110 a and server 100 as part of keeping track of the location of ID node 120 a (and the associated item), thereby providing intelligent, robust, and broad visibility about the location and status of ID node 120 a . In a typical embodiment, ID node 120 a is first associated with an item (e.g., package 130 , a person, or object). As ID node 120 a moves with the item, the ID node 120 a becomes associated with the master node 110 a , and the server 100 is updated with such information. Further movement of the ID node 120 a and item may cause the ID node 120 a to disassociate with master node 110 a and be handed off to become associated another master node (not shown), after which the server 100 is again updated. As such, the server 100 generally operates to coordinate and manage information related to the ID node 120 a as the item physically moves from one location to another. Further details of the architecture and functionality of an embodiment of an exemplary ID node and master node as described below in more detail with respect to FIGS. 3 and 4 , while exemplary server 100 is described below in more detail with respect to FIG. 5 .
While server 100 is shown connecting through network 105 , those skilled in the art will appreciate that server 100 may have a more direct or dedicated connections to other components illustrated in FIG. 1 , such as master node 110 a , depending upon implementation details and desired communication paths. Furthermore, those skilled in the art will appreciate that an exemplary server may contain a collection of information in a database (not shown in FIG. 1 ), while multiple databases maintained on multiple server platforms or network storage servers may be used in other embodiments to maintain such a collection of information. Furthermore, those skilled in the art will appreciate that a database may be implemented with cloud technology that essentially provides networked storage of collections of information that may be directly accessible to devices, such as master node 110 a.
›DESCRIPTION OF THE EMBODIMENTS · 2 of 71
Network 105 may be a general data communication network involving a variety of communication networks or paths. Those skilled in the art will appreciate that such exemplary networks or paths may be implemented with hard wired structures (e.g., LAN, WAN, telecommunication lines, telecommunication support structures and telecommunication processing equipment, etc.), wireless structures (e.g., antennas, receivers, modems, routers, repeaters, etc.) and/or a combination of both depending upon the desired implementation of a network that interconnects server 100 and other components shown in FIG. 1 in an embodiment of the present invention.
Master node 110 a and ID node 120 a are types of nodes. A node is generally an apparatus or device used to perform one or more tasks as part of a network of components. An embodiment of a node may have a unique identifier, such as a Media Access Control (MAC) address or an address assigned to a hardware radio like an Internet Protocol 6 (IPv6) identifier. In some embodiments, the node's unique identifier may be correlated to a shipment identifier (e.g., a shipment tracking number in one example), or may itself be a shipment's tracking reference.
An ID node, such as ID node 120 a , is generally a low cost active wireless device. In one embodiment, an exemplary ID node is a transceiver-based processing or logic unit having a short-range radio with variable RF characteristics (e.g., programmable RF output power range, programmable receiver sensitivity), memory accessible by the processing unit, a timer operatively coupled to the processing unit, and a power source (e.g., a battery) that provides power for the circuitry of the ID node. For example, the physical implementation of an exemplary ID node may be small, and, thus, amenable to integration into a package, label, container, or other type of object. In some implementations of an ID node, the node is rechargeable while other implementations do not permit recharging the power source for the ID node. In other implementations, the ID node is environmentally self-contained or sealed so as to enable robust and reliable operations in a variety of environmentally harsh conditions.
A master node, such as master node 110 a , generally serves as an intelligent bridge between the ID node 120 a and the server 100 . Accordingly, a master node is generally more sophisticated than an ID node. In one example embodiment, an exemplary master node is a device having a processing or logic unit, a short-range radio (with may have variable RF characteristics) used for communicating with other nodes (ID nodes and other master nodes), a medium and/or long-range radio for communication with the server 100 , memory accessible by the processing unit, a timer operatively coupled to the processing unit, and a power source (e.g., a battery or a wired power supply connection) that provides power for the circuitry of the master node. The exemplary master node, such as master node 110 a , may be positioned in a known fixed location or, alternatively, be a mobile unit having dedicated location positioning circuitry (e.g., GPS circuitry) to allow the master node to determine its location by itself.
While the embodiment illustrated in FIG. 1 shows only a single master node and a single ID node, those skilled in the art will appreciate that a wireless network consistent with an embodiment of the invention may include a wide array of similar or different master nodes that each communicate with the server 100 and/or other master nodes, and a wide variety of similar or different ID nodes. Thus, the exemplary network shown in FIG. 1 is a basic embodiment, while the exemplary network shown in FIG. 2 is a more detailed exemplary wireless node network in accordance with another embodiment of the invention.
Referring now to FIG. 2 , another exemplary wireless node network is shown including server 100 and network 105 . Here, master nodes 110 a , 110 b , 110 c are deployed and connected to network 105 (and by virtue of those respective connections, to server 100 ) as well as to each other. ID nodes 120 a , 120 b , 120 e are shown as connectable or operative to communicate via different paths to various master nodes. However, ID nodes 120 c and 120 d are shown in FIG. 2 connected to ID node 120 b but not to any of the master nodes. This may be the case if, for example, ID nodes 120 b , 120 c , 120 d are associated with different items (e.g., packages) within a larger container 210 (or grouped together on a pallet). In such an example, only ID node 120 b may remain within the wireless communication range of any master node. This may, for example, be because of the positions of the different ID nodes within the container relative to the closest master node, adverse RF shielding caused by the container, adverse RF shielding caused by packaging of the item, or adverse RF shielding caused by other proximate material that interferes with radio transmissions (e.g., several packages of metal items between the ID node and any master node outside the container). Thus, in the illustrated configuration of the exemplary network shown in FIG. 2 , ID nodes 120 c and 120 d may be out of range from the master nodes, yet still have an operative communication path to a master node through ID node 120 b.
Indeed, in one example, prior to placement within container 210 , ID node 120 b may actually be a master node but the changed RF environment when placing it in container 210 may interfere with the master node's ability to locate itself via location signals (e.g., GPS signals) and cause the master node to temporarily operate as an ID node while still providing communications and data sharing with other ID nodes in container 210 .
User access devices 200 , 205 are also illustrated in FIG. 2 as being able to connect to network 105 , master nodes, and ID nodes. Generally, user access devices 200 and 205 allow a user to interact with one or more components of the exemplary wireless node network. In various embodiments, user access devices 200 , 205 , may be implemented using a desktop computer, a laptop computer, a tablet (such as an Apple iPad® touchscreen tablet), a personal area network device (such as a Bluetooth® device), a smartphone (such as an Apple iPhone®), a smart wearable device (such as a Samsung Galaxy Gear™ smartwatch device, or a Google Glass™ wearable smart optics) or other such devices capable of communicating over network 105 with server 100 , over a wired or wireless communication path to master node and ID nodes. Thus, an exemplary user access device may be a mobile type of device intended to be easily moved (such as a tablet or smartphone), and may be a non-mobile type of device intended to be operated from a fixed location (such as a desktop computer).
›DESCRIPTION OF THE EMBODIMENTS · 3 of 71
As shown in FIG. 2 , user access devices 200 , 205 are coupled and in communication with network 105 , but each of them may also be in communication with each other or other network components in a more direct manner (e.g., via near field communication (NFC), over a Bluetooth® wireless connection, over a Wi-Fi network, dedicated wired connection, or other communication path).
In one example, a user access device, such as device 200 or 205 , may facilitate associating an ID node (such as ID node 120 a ) with the tracking number of a package at the start of a shipment process, coordinating with the server 100 to check on the status and/or location of the package and associated ID node during transit, and possibly retrieving data from a master node or ID node related to the shipped package. Thus, those skilled in the art will appreciate that a user access device, such as devices 200 , 205 , are essentially interactive communication platforms by which a user may initiate shipment of an item, track an item, determine the status and location of an item, and retrieve information about an item.
An exemplary user access device, such as device 200 or 205 , may include sufficient hardware and code (e.g., an app or other program code section or sections) to operate as a master node or an ID node in various embodiments as discussed in more detail below. For example, device 200 may be implemented as a mobile smartphone and functionally may operate as an exemplary ID node that broadcasts advertising packet messages to other ID nodes or master nodes for association and sharing data with such nodes. In another example, device 200 is implemented as a mobile smartphone and may operate as an exemplary master node that communicates and associates with ID nodes and other master nodes, as described herein, and communicates with the server 100 . Thus, those skilled in the art will appreciate an exemplary ID node in FIG. 3 and an exemplary master node in FIG. 4 , and their respective parts, code and program modules, may be implemented with an appropriately programmed user access device, such as device 200 or 205 . Thus, the following description of an exemplary ID node in FIG. 3 and an exemplary master node in FIG. 4 will be applicable to a user access device operating as an ID node or a master node, respectively.
ID Node
FIG. 3 is a more detailed diagram of an exemplary ID node device in accordance with an embodiment of the invention. As previously described, one embodiment of an ID node includes a transceiver-based processing or logic unit having a short-range radio with variable RF characteristics (e.g., programmable RF output power range, programmable receiver sensitivity), memory accessible by the processing unit, a timer operatively coupled to the processing unit, and a power source (e.g., a battery) that provides power for the circuitry of the ID node. Referring now to the more detailed embodiment of FIG. 3 , exemplary ID node 120 a is shown to comprise a processing or logic unit 300 coupled to a variable power short-range communication interface 375 , memory storage 315 , volatile memory 320 , timer 370 , and battery 355 . Those skilled in the art will appreciate that processing unit 300 is logic, such as a low power consumption microcontroller, that generally performs computations on data and executes operational and application program code and other program modules or sections thereof within the ID node 120 a . As such, exemplary processing unit 300 operates as a transceiver-based processing core of ID node 120 a.
Those skilled in the art will also appreciate that exemplary ID node 120 a is a hardware-based component that may be implemented with a single processor or logic unit, such as unit 300 . In one embodiment, processing unit 300 may be implemented with an Intel® 8051 CPU Core and associated peripheral circuitry as dictated by the needs of the particular application. Less complex microcontrollers or discrete circuitry may be used to implement processing unit 300 as well as more complex and sophisticated microprocessors. Additionally, exemplary processing unit 300 may be integrated into a single chip transceiver used as a core of ID node 120 a.
The variable power short-range communication interface 375 of ID node 120 a is generally a programmable radio and an omni-directional antenna coupled to the processing unit 300 . In other embodiments, interface 375 may use an antenna with a different antenna profile when directionality may be desired. Examples of variable power short-range communication interface 375 may include other interfacing hardware (not shown) for operatively coupling the device to a specific short-range communication path (e.g., a Bluetooth® Low Energy (BLE) connection path communicating at 2.4 GHz).
In one embodiment, various RF characteristics of the radio's transceiver, such as the RF output power and/or the RF receiver sensitivity may be dynamically and programmatically varied under control of processing unit 300 . In other embodiments, further RF characteristics of the radio's transceiver may be programmatically varied, such as frequency, duty cycle, timing, modulation schemes, spread spectrum frequency hopping aspects, etc., as needed to flexibly adjust the RF output signal depending upon a desired implementation and anticipated use of ID node 120 a . As will be explained in more detail below, some embodiments may use Broadcast Profile having parameters that may be programmatically altered or adjusted. In other words, embodiments of ID node 120 a (or any other ID node) may have programmatically adjustable RF characteristics (such as an adjustable RF output signal power, an adjustable RF receiver sensitivity, the ability to switch to a different frequency or frequency band, etc.).
The battery 355 for ID node 120 a is a type of power source that generally powers the circuitry implementing ID node 120 a . In one embodiment, battery 355 may be a rechargeable power source. In other embodiments, battery 355 may be a non-rechargeable power source intended to be disposed of after use. In some embodiments of an ID node, the power source may involve alternative energy generation, such as a solar cell.
›DESCRIPTION OF THE EMBODIMENTS · 4 of 71
The timer 370 for ID node 120 a generally provides one or more timing circuits used in, for example, time delay, pulse generation, and oscillator applications. In an embodiment where ID node 120 a conserves power by entering a sleep or dormant state for a predetermined time period as part of overall power conservation techniques, timer 370 assists processing unit 300 in managing timing operations. Additionally, an embodiment may allow an ID node to share data to synchronize different nodes with respect to timer 370 and a common timing reference between nodes and the server.
An embodiment may implement ID node 120 a to optionally include a basic user interface (UI) 305 indicating status and allowing basic interaction like start/stop. In one embodiment, the UI 305 may be implemented with status lights, such as multi-mode LEDs. Different colors of the lights may indicate a different status or mode for the ID node 120 a (e.g., an advertising mode (broadcasting), a scanning mode (listening), a current power status, a battery level status, an association status, an error, as sensed condition (e.g., exceeding a temperature threshold, exceeding a moisture threshold, and the like)). Other embodiments of an ID node may implement U! 305 in a more sophisticated manner with a graphics display or the like where such status or mode information may be displayed as well as one or more prompts.
In a further embodiment, an exemplary status light used as part of the UI 305 of an ID node may also indicate a shipment state. In more detail, an exemplary shipment state may include a status of the shipped item or a status of the item's current shipment journey from an origin to a destination.
An embodiment may also implement ID node 120 a to optionally include one or more sensors 360 . In some embodiments, an ID node implemented with one or more sensors 360 may be referred to as a Sensor node. Examples of sensor 360 may include one or more environmental sensors (e.g., pressure, movement, light, temperature, humidity, magnetic field, altitude, attitude, orientation, acceleration, etc.) and dedicated location sensors (e.g., GPS sensor, IR sensor, proximity sensor, etc.). Those skilled in the art will understand that additional types of sensors that measure other characteristics are contemplated for use as sensor 360 . Additionally, those skilled in the art will understand that a Sensor node may include additional program features to manage the collection, storage, sharing, and publication of the captured sensor data.
An embodiment may further implement ID node 120 a to optionally include one or more magnetic switches 365 . A magnetic switch 365 , such as a reed switch, generally operates to close or open an electrical path or connection in response to an applied magnetic field. In other words, magnetic switch 365 is actuated by the presence of a magnetic field or the removal of a magnetic field. Various applications, as discussed in embodiments described in more detail below, may involve the operation of ID node 120 a having magnetic switch 365 .
Consistent with the embodiment shown in FIG. 3 , exemplary ID node 120 a may be implemented based upon a Texas Instruments CC2540 Bluetooth® Low Energy (BLE) System-on-Chip, which includes various peripherals (e.g., timer circuitry, USB, USART, general-purpose I/O pins, IR interface circuitry, DMA circuitry) to operate as an ID node and, if necessary, to interface with different possible sensors and other circuitry (e.g., additional logic chips, relays, magnetic switches) that make up the ID node.
In additional embodiments, one skilled in the art will appreciate that similar functionality in an ID node may be implemented in other types of hardware. For example, ID node 110 a may be implemented with specially optimized hardware (e.g., a particular application specific integrated circuit (ASIC) having the same operational control and functionality as node control and management code, as described below, discrete logic, or a combination of hardware and firmware depending upon requirements of the ID node, such as power, processing speed, level of adjustability for the RF characteristics, number of memory storage units coupled to the processor(s), cost, space, etc.
As noted above, ID node 120 a includes memory accessible by the processing unit 300 . Memory storage 315 and volatile memory 320 are each operatively coupled to processing unit 300 . Both memory components provide programming and data elements used by processing unit 300 . In the embodiment shown in FIG. 3 , memory storage 315 maintains a variety of program code (e.g., node control and management code 325 ) and other data elements (e.g., profile data 330 , security data 335 , association data 340 , shared data 345 , sensor data 350 , and the like). Memory storage 315 is a tangible, non-transient computer readable medium on which information (e.g., executable code/modules, node data, sensor measurements, etc.) may be kept in a non-volatile and non-transitory manner. Examples of such memory storage 315 may include a hard disk drive, ROM, flash memory, or other media structure that allows long term, non-volatile storage of information. In contrast, volatile memory 320 is typically a random access memory (RAM) structure used by processing unit 300 during operation of the ID node 120 a . Upon power up of ID node 120 a , volatile memory 320 may be populated with an operational program (such as node control and management code 325 ) or specific program modules that help facilitate particular operations of ID node 120 a . And during operation of ID node 120 a , volatile memory 320 may also include certain data (e.g., profile data 330 , security data 335 , association data 340 , shared data 345 , sensor data 350 , and the like) generated as the ID node 120 a executes instructions as programmed or loaded from memory storage 315 . However, those skilled in the art will appreciate that not all data elements illustrated in FIG. 3 must appear in memory storage 315 and volatile memory 320 at the same time.
›DESCRIPTION OF THE EMBODIMENTS · 5 of 71
Node Control & Management Code
Generally, an embodiment of node control and management code 325 is a collection of software features implemented as programmatic functions or program modules that generally control the behavior of a node, such as ID node 120 a . In an embodiment, the functionality of code 325 may be generally similar as implemented in different types of nodes, such as a master node, an ID node, and a sensor node. However, those skilled in the art will appreciate that while some principles of operation are similar between such nodes, other embodiments may implement the functionality with some degree of specialization or in a different manner depending on the desired application and use of the node.
In a general embodiment, exemplary node control and management code 325 may generally comprise several programmatic functions or program modules including (1) a node advertise and query (scan) logic manager (also referred to herein as a node communications manager), which manages how and when a node communicates; (2) an information control and exchange manager, which manages whether and how information may be exchanged between nodes; (3) a node power manager, which manages power consumption and aspects of RF output signal power and/or receiver sensitivity for variable short-range communications; and (4) an association manager focusing on how the node associates with other nodes. What follows is description of various embodiments of these basic program modules used by nodes.
Node Communications Manager—Advertising & Scanning
In an exemplary embodiment, the node advertise and query (scan) logic manager governs how and when a node should advertise (transmit) its address or query (scan) for the address of neighboring nodes. Advertising is generally done with a message, which may have different information in various parts (e.g., headers, fields, flags, etc.). The message may be a single or multiple packets.
In the exemplary embodiment, the “advertise” mode (as opposed to “query” or “scan” mode) is a default mode for an ID Node and has the node broadcasting or transmitting a message with its address and related metadata regarding the node. For example, in one embodiment, exemplary metadata may include information such as the RF output power level, a reference number, a status flag, a battery level, and a manufacturer name for the node.
FIG. 6 is a diagram illustrating the structure or format of an exemplary advertisement data packet in accordance with a general embodiment of the invention. Referring now to FIG. 6 , the structure of an exemplary advertisement data packet 600 broadcast as a signal or message from an ID node, such as ID node 120 a , is shown. Packet 600 appears with an increasing level of detail showing exemplary metadata and a format that separately maintains distinct types of metadata in different parts of the packet. Different embodiments may include different types of metadata depending on the deployed application of the ID node.
FIG. 7 is a diagram illustrating sample content for an exemplary advertisement data packet in accordance with an embodiment of the invention. Referring now to FIG. 7 , an exemplary advertisement data packet 700 is illustrated with exemplary metadata including showing sample information such as the RF Output Power level (e.g., “TX Power Level”), a reference number (e.g., “‘FDX ID’ (ASCII Short Name)”, a status flag (e.g., “Status Flag Value (indicates ‘Ack Requested’)”), a battery level (e.g., “Battery Level Value (Indicates 73% charge)”, and a manufacturer name for the node (e.g., “Company Identifier (currently undefined for FedEx)”). In one embodiment, those skilled in the art will appreciate that the reference number may be omitted or obfuscated for security purposes.
In one embodiment, an exemplary advertising data packet may include the RF Output power level, as noted above in FIG. 7 , to enable one way to help identify the type of node doing the broadcasting and the location of the broadcasting node. However, if the broadcast RF output power level is fixed and known by the node type, only the node type need be identifiable from an exemplary advertising data packet, such as packet 700 .
Regarding how a node communicates, an exemplary node may be in one of several different communication modes. A node in an advertising (or transmit or broadcast) mode is visible to any other node set in a query (or scan or listen) mode. In an embodiment, the frequency and length of advertising may be application and power dependent. For example, in normal operations, an exemplary node will generally advertise in a periodic manner and expect to make an active connection to another node at certain intervals, which may be dictated by conditions set by server 100 . In an embodiment, such conditions may be set individually for a node by the server or a higher level node in the network.
If an exemplary node has not received acknowledgement for an advertising packet within a particular period, it may enter one or more alert stages. For example, if an exemplary node has not received acknowledgement from another node for an advertising packet broadcast by the exemplary node within a particular time period (also generally referred to as an Alert Interval), the exemplary node will enter an Alert Stage 1 status. This prompts the exemplary node to issue a follow-up advertising packet having one or more parts of it altered to indicate the Alert Stage 1 status. In more detail, this exemplary follow-up advertising packet may have a different advertising alert header instructing nearby nodes to send a SCAN_REQ message upon receiving an advertisement packet.
If an exemplary node has not received acknowledgement from a master node for an advertising packet broadcast by the exemplary node within another time period (e.g., a request from the master node to actively connect and a success connection made), it will enter another alert stage, such as an Alert Stage 2 status. This prompts the exemplary node to issue a follow-up advertising packet having one or more parts of it altered to indicate the Alert Stage 2 status. In more detail, this exemplary follow-up advertising packet may have a different advertising alert header instructing nearby master nodes to send a SCAN_REQ message upon receiving an advertisement packet.
›DESCRIPTION OF THE EMBODIMENTS · 6 of 71
If an exemplary node has data to upload to the backend, it may also enter another type of alert stage. In one embodiment, for example, if an exemplary node has sensor data collected by the exemplary node (or received from one or more other nodes that have communicated with the exemplary node), and the data needs to be uploaded to server 100 , the exemplary node may enter an update alert stage, such as an Alert Stage 3. This prompts the exemplary node to issue a follow-up advertising packet having one or more parts of it altered to indicate the Alert Stage 3 status. In more detail, this exemplary follow-up advertising packet may have a different advertising alert header instructing nearby master nodes to make a connection with the exemplary node so that the data (e.g., sensor data 350 ) may be transmitted from the exemplary node (e.g., ID node 120 a ) to a nearby master node (e.g., master node 110 a ). The transmitted data may then be stored by the nearby master node as sensor data 450 in either or both of the master node's volatile memory 420 and memory storage 415 . Subsequent to that storage operation, the nearby master node will transfer the data (e.g., sensor data 450 ) to server 100 .
As illustrated in FIG. 7 and explained in the above description of alert level stages, a status flag in a header of an exemplary advertising data packet is a field used in the association logic in one or more embodiments. For example, in one embodiment, the existence of a status flag in the advertising data packet allows a first node to communicate its status to a second node, and for the second node to report that status to the backend server, such as server 100 , without an active direct connection from the first node to the server. In other words, the status flag helps facilitate passive interactions between nodes (such as passive associations).
In a more detailed embodiment, several exemplary status types are established with respect to communications with other nodes. For example, the exemplary status types may comprise the following:
Alert Level 0—no issue, operating normal; Alert Level 1—The advertising node is requesting that any available node acknowledge the receipt of its advertisement packet; Alert Level 2—The advertising node is requesting that any available master node acknowledge the receipt of its advertisement packet; Alert Level 3—Data for Upload—node has captured data available for upload through a master node; and Synchronize—The advertising node requests to connect with a device or sensor that can synchronize data (such as timer or location information).
By broadcasting the status via, for example, a portion of a header in an advertising data packet, one or more nodes within range of the broadcasting node can determine the node's status and initiate active connections if requested in the status message.
A request for more information from the advertising node may, in some embodiments, come in the form of a SCAN_REQ message. In general, an exemplary SCAN_REQ is a message sent from a scanning (listening) master node to an advertising node requesting additional information from the advertising node. In this example, the alert status bit may indicate to the scanning master node, for example, at an application layer, whether the advertising node is in a mode that will or will not accept a SCAN_REQ. In one embodiment, the non-connectable and discoverable modes of node advertising are in compliance with Bluetooth® Low Energy (BLE) standards.
In another embodiment, a node may have further different modes of operation while scanning or listening for other nodes. For example, a node's query or scanning mode may be active or passive. When a node is scanning while passive, the node will receive advertising data packets, but will not acknowledge and send SCAN_REQ. However, when a node is scanning while active, the node will receive advertising data packets, and will acknowledge receipt by sending a SCAN_REQ. A more detailed embodiment may provide the passive and active modes of scanning or inquiry in compliance with Bluetooth® Low Energy (BLE) standards.
In an embodiment, an exemplary node is scanning as it listens for other wireless nodes broadcasting on the short-range radio. An exemplary scanning node may capture, for example, a MAC address of the advertising node, a signal strength of the RF output signal transmitted from the advertising node, and any other metadata published by the advertising node (e.g., other information in the advertising data packet). Those skilled in the art will appreciate that the scope of “listening” when a node is scanning may vary. For example, the query may be limited. In other words, the scope of what a node is particularly interested in and for which it is listening may be focused or otherwise limited. In such a case, for example, the information collected may be limited to particular information from a targeted population of short-range wireless nodes advertising; but the information collection may be considered “open” where information from any advertising device is collected.
When nodes are advertising or scanning, an embodiment may make further use of status flags and additional modes when advertising or scanning as part of how nodes communicate and may be managed. In one example, when a scanning (listening) node receives an advertising data packet with the status flag indicating an Alert Level 1 or 2 status, and the scanning node is in “Passive” scanning mode, the node will switch to “Active” scanning mode for some interval. However, when the scanning node in this situation is already in an “Active” scanning mode, the node will send the SCAN_REQ message and receive a SCAN_RSP from the advertising node (e.g., a message providing the additional information requested from the advertising node). The scanning node will then switch back to a “Passive” scanning mode.
In another example, when an advertising (broadcasting) node receives a SCAN_REQ from a scanning node, the advertising node will consider that its advertising data packet has been acknowledged. Further, the advertising node will reset its “Alert” status flag back to an Alert Level 0 status. This allows the advertising node to effectively receive an acknowledgement to its advertisement without ever making a connection to the scanning node, which advantageously and significantly saves on power consumption.
›DESCRIPTION OF THE EMBODIMENTS · 7 of 71
In yet another example, when a scanning node receives an advertising data packet with an Alert Level 3 status flag set, the scanning node will attempt to make a connection with the advertising device. Once the connection is made, the advertising device will attempt to upload its data to the connected device
Thus, an embodiment of the node advertise and query (scan) logic manager of code 325 may rely upon one or more status flags, advertising modes, scanning modes, as nodes communicate with each other in various advantageous manners.
Node Information Control & Exchange Manager
In an exemplary embodiment, the information control and exchange manager part of node control and management code 325 determines whether and how information may be exchanged between nodes. In the exemplary embodiment, the information control and exchange manager establishes different node operational states where information may be changed according to a desired paradigm for the state. In more detail, an embodiment of information control and exchange manager may establish different levels of information exchange between nodes with a “non-connectable advertising” state or mode of operation, a “discoverable advertising” state or mode, and a “general advertising” state or mode operation. When a node is in the “non-connectable advertising” mode, the node information exchange is limited. For example, the advertising node may broadcast information that is captured by one or more querying (scanning) nodes, but no two-way exchange of information happens.
When a node is in the “discoverable advertising” mode and a scanning node is in “Active” mode, the node information exchange in enabled both ways. For example, the advertising node sends the advertising packet, and in response the scanning node sends the SCAN_REQ packet. After the advertising node receives the SCAN_REQ requesting additional information, the advertising node sends the SCAN_RSP with the requested information. Thus, in the “discoverable advertising” mode there is a two-way exchange of information, but no active connection is made between the two nodes exchanging information.
Finally, for advanced two-way information exchange, an active connection may be used between nodes and information may be exchanged both ways to and from different nodes. In a more detailed embodiment, at this level of two-way information exchange, nodes are first identified and then authenticated as part of establishing the active connection. Once authenticated and thereafter actively connected to each other, the nodes may securely share information back and forth. In one example, a sensor node uploading previously captured environmental information to a master node may be in this mode or state. In another example, an ID node uploading the stored results of a node scanning operation to a master node may be in this mode or state. In yet another example, a master node sharing a timer and/or location information with corresponding nodes may be in this mode or state.
Node Power Manager
In an exemplary embodiment, the node power manager part of node control and management code 325 focuses on managing power consumption and the advantageous use of power (e.g., an adjustable level of RF output signal power) in a node. In general, nodes are either powered by a battery (such as battery 355 in an ID node), or by an interface (such as battery/power interface 470 in a master node) to an external power source. Examples of an external power source may include, in some embodiments, power supplied from an outlet or power connection within a facility, or power generated onboard a conveyance (e.g., automobile, truck, train, aircraft, ship, etc.). Those skilled in the art will appreciate that an interface to an external power source will be generally referred to as a “wired” power connection, and that node power manager may be informed whether a node is wired or powered off a battery, such as battery 355 . Further embodiments may implement an interface to an external power source with wireless power transmission, such as via inductive coils.
In one embodiment, a node may manage power used when performing tasks. For example, a node may manage power when determining which node should perform a particular task. In more detail, the collective power consumption of a group of devices may be managed by electing to employ wired nodes, when feasible or desired, to accomplish a particular task, and saving the battery-powered nodes for other less energy burdensome or taxing tasks. In another embodiment, historic data may inform the system of the power needed to accomplish a particular task, and the system may make a determination of which node should accomplish the particular task based upon such historic data. In other embodiments, profile data may also be used to inform the system of the power needed to accomplish a particular task (e.g., a sensor profile that describes power requirements for operation of a sensor node that gathers sensor data over a certain period of time and under certain conditions). The system may also make a determination of which node should accomplish the particular task based upon such profile data.
In another example, the exemplary node power manager may manage power when determining how to best to use and adjust power to more accurately accomplish a particular task. In one embodiment, an RF signal output from a node (such as a short-range RF output signal from an ID node) may periodically move through a range of output power or simply switch between two or more settings that differ in a detectable manner. As disclosed in more detail below, the variability and dynamic adjustment of RF output signal power may allow other nodes (such as one or more master nodes) to see each node at the upper range of the RF output signal power, and only see nodes physically close to the advertising node at the lower range of signal power.
In another example, the exemplary node power manager may cause a change to a characteristic of its RF output signal power when the node has been associated to a physical place or another node by virtue of context data (such as context data 560 and association logic that utilizes that type of information). In one embodiment, the node may be instructed to change how often the node communicates and/or a characteristic of its RF output power to preserve power.
›DESCRIPTION OF THE EMBODIMENTS · 8 of 71
In yet another example, all advertising nodes may have their respective node power managers periodically cause each respective node to broadcast at a maximum RF output signal power level to ensure they still are within range of a scanning ID Node or Master Node. Doing so may increase the chance of being in communication range and allows the individual nodes to be properly located and managed within the network. The broadcast duration may be set or dynamically changed to allow pairing to occur if needed.
Rather than adjust the RF output signal power level, the exemplary node power manager may, in some embodiments, adjust the RF receiver sensitivity of a node. This allows for an adjustable range of reception (as opposed to merely an adjustable range of broadcast), which may similarly be used to manage power and enhance location determinations as discussed herein.
In yet another embodiment, a combination approach may be used in which the node power manager may concurrently and independently adjust more than one RF characteristic of a node. For example, an exemplary node power manager may adjust an RF output signal power level and also adjust the RF receiver sensitivity of a node as the node is located and associated with other nodes. Those skilled in the art will realize that this may be especially useful in an area with an unusually dense concentration of nodes, and a combination of changing RF output signal power levels
An embodiment of the exemplary node manager may refer to a power profile (e.g., an exemplary type of profile data 330 , 430 ) when adjusting a node's power characteristics (e.g., consumption of power, use of power, output signal frequency, duty cycle of the output put signal, timing, power levels, etc.).
Node Association Manager
In an exemplary embodiment, the node association manager part of node control and management code 325 focuses on how the nodes associate with other nodes in conjunction and consistent with the server-side association manager in code 525 , as discussed in more detail below. Thus, exemplary node association manager, when executing in a node, directs how the node associates (e.g., enters an active connection mode) with one or more other nodes with input from the server.
The exemplary node association manager for a node may indicate through a Status Flag if the node requires an acknowledgement or connection, or if it has information available for upload to the backend. Thus, while a node may not be associated or actively connected yet to another node, a status of the node may be inferred from, for example, the status information in the node's broadcast header.
Regarding connections between nodes, there are generally secure connections and unsecure connections. While an embodiment may allow unsecure connections between one or more sets of nodes, other embodiments rely upon secure connections or authenticate pairings of nodes. In one embodiment, for a node to pair with another node, the exemplary node association manager first identifies the nodes to be associated and transmits an association request to the server. The request may include a specific request to pair the nodes and ask for the corresponding pairing credentials from the server, such as server 100 . The server 100 may have staged pairing credentials on particular nodes based on information indicating the nodes would be within wireless proximity and future pairing may occur. Visibility to the node relationship may have been determined through scan-advertising, or 3 rd party data such as barcode scan information indicating the nodes to be within proximity currently or at a future state.
When connecting or not connecting to exchange information under the exemplary node information exchange modes described above, nodes generally operate in a number of states, which make up an exemplary advertise cycle for an exemplary ID node. Such an exemplary advertise cycle for a node is further explained below with reference to FIG. 8 and in conjunction and consistent with the server-side association manager in code 525 , as discussed in more detail below.
Airborne Mode Program Module
In one embodiment, node control and management code 325 may also include an airborne mode program module (not shown). In another embodiment, the airborne mode program module may be implemented as a part of the node power manager program module of code 325 . An exemplary airborne mode program module generally operates to manage the output power of the ID node's variable power short-range communication interface 375 when the ID node is operating in an aircraft. Operating a wireless device within an aircraft may, in some circumstances, have an unintentional impact on other electronic systems on the aircraft. In more detail, an embodiment of the airborne mode program module may operate to transition the ID node from different states or modes depending upon particular operations and/or operational conditions of the aircraft. For example, an exemplary airborne mode program module may operate to transition the ID node from one state or mode (e.g., a normal mode prior to takeoff, a disabled mode during takeoff, an airborne mode while aloft, a disabled mode during descent, and a normal mode after landing) based upon detected environmental conditions (e.g., pressure, altitude) and/or flight detail information associated with the aircraft. In this way, an ID node may be allowed to normally operate when onboard an aircraft, be disabled from operating at all in some circumstances, and be able to operate in an airplane mode that allows sensing and sensor data capture, but that may limit transmission of an RF output signal to avoid interference with the aircraft's onboard electronics. Further information related to a method of managing a wireless device (such as an ID node) in an aircraft is disclosed in greater detail in U.S. patent application Ser. No. 12/761,963 entitled “System and Method for Management of Wireless Devices Aboard an Aircraft,” which is hereby incorporated by reference.
›DESCRIPTION OF THE EMBODIMENTS · 9 of 71
Node Data
As previously noted, volatile memory 320 may also include certain data (e.g., profile data 330 , security data 335 , association data 340 , shared data 345 , sensor data, and the like) generated as the ID node 120 a executes instructions as programmed or loaded from memory storage 315 . In general, data used on a node, such as an ID node, may be received from other nodes or generated by the node during operations.
In one embodiment, profile data 330 is a type of data that defines a general type of behavior for an ID node, such as a Broadcast Profile (discussed in more detail below). In another embodiment where ID node 120 a is a BLE device, profile data 330 may include a Bluetooth® compatible profile related to battery service (exposing the state of a battery within a device), proximity between BLE devices, or messaging between BLE devices. Thus, exemplary profile data 330 may exist in volatile memory 320 and/or memory storage 315 as a type of data that defines parameters of node behavior.
In one embodiment, it may be desired to allow secured pairings of nodes. As will be explained in more detail below, as part of secure pairing of nodes, a request for pairing credentials is generated and sent to server 100 . Thus, exemplary security data 335 (e.g., PIN data, security certificates, keys, etc.) may exist in volatile memory 320 and/or memory storage 315 as a type of data associated with providing secured relationships between nodes, such as the requested security credentials.
Association data, such as association data 340 , generally identifies a connected relationship between nodes. For example, ID node 120 a may become associated with the master node 110 a as the ID node 120 a moves within range of the master node 110 a and after the server directs the two nodes to associate (with authorization). As a result, information identifying the relationship between ID node 120 a and master node 110 a may be provided to server 100 and may be provided, as some point, to each of ID node 120 a and master node 110 a . Thus, exemplary association data 340 may exist in volatile memory 320 and/or memory storage 315 as a type of data identifying associations between nodes.
Shared data 345 may exist in volatile memory 320 and/or memory storage 315 as a type of data exchanged between nodes. For example, context data (such as environmental data) may be a type of shared data 345 .
Sensor data 350 may also exist in volatile memory 320 and/or memory storage 315 as a type of data recorded and collected from an onboard sensor or from another node. For example, sensor data 350 may include temperature readings from a temperature sensor onboard an ID node and/or humidity readings from a humidity sensor in another ID node (e.g., from another of the ID nodes within container 210 as shown in FIG. 2 ).
Thus, an ID node (such as node 120 a shown in FIG. 3 ) is a lower cost wireless node that communicates with other ID nodes and master nodes via a short-range radio with variable RF characteristics, can be associated with other nodes, can broadcast to and scan for other nodes, associated with other nodes, and store/exchange information with other nodes.
Master Node
A master node, such as master node 110 a shown in more detail in FIG. 4 , shares many ID node features but generally expands upon them in order to function as a bridge to the server 100 . In general, while an ID node is a type of lower level node in an exemplary wireless node network, a master node is a type of higher level node. An exemplary master node may be in a fixed location or otherwise stationary, while other example master nodes may be implemented as movable and mobile devices.
Referring now to FIG. 4 , exemplary master node 110 a comprises a processing or logic unit 400 coupled to a short-range communication interface 480 , memory storage 415 , volatile memory 420 , clock/timer 460 , and battery/power interface 470 . In some embodiments, the short-range communication interface 480 may have variable power characteristics, such as receiver sensitivity and RF output power level. Those skilled in the art will appreciate that processing unit 400 is logic, such as a microprocessor or microcontroller, which generally performs computations on data and executes operational and application program code and other program modules within the master node 110 a.
In general, those skilled in the art will appreciate that the description of hardware with respect to ID node 110 a in FIG. 4 applies to the similar hardware and software features appearing in each type of node, including a master node. Those skilled in the art will appreciate that exemplary master node 110 a is a hardware-based component that may implement processor 400 with a single processor or logic unit, a more powerful multi-core processor, or multiple processors depending upon the desired implementation. In one embodiment, processing unit 400 may be implemented with a low power microprocessor and associated peripheral circuitry. Less complex microcontrollers or discrete circuitry may be used to implement processing unit 400 as well as more complex and sophisticated general purpose or dedicated purpose processors.
In yet another embodiment, exemplary processing unit 400 may be implemented by a low power ARM1176JZ-F application processor used as part of a single-board computer, such as the Raspberry Pi Computer Model B-Rev-2. The ARM application processor is embedded within a Broadcom® BCM2835 system-on-chip (SoC) deployed in the Raspberry Pi Computer. In this embodiment, the Raspberry Pi Computer device operates as a core of exemplary master node 110 a and includes a Secure Digital memory card slot and flash memory card operating as memory storage 415 , a 512 Mbyte RAM memory storage operating as volatile memory 420 , an operating system (such as Linux) stored on memory storage 415 and running in volatile memory 420 , and peripherals that implement clock/timer 460 , and a power supply operating as a power interface 470 .
›DESCRIPTION OF THE EMBODIMENTS · 10 of 71
Like short-range interface 375 in ID node 120 a , exemplary master node 110 a includes a short-range communication interface 480 as a programmable radio and an omni-directional antenna coupled to the processing unit 400 . In some embodiments, the short-range communication interface 480 may have variable RF power characteristics, such as receiver sensitivity and/or RF output signal power level. In some embodiments, interface 480 may use an antenna with a different antenna profile when directionality may be desired. Examples of short-range communication interface 480 may include other hardware (not shown) for operatively coupling the device to a specific short-range communication path (e.g., a Bluetooth® Low Energy (BLE) connection path communicating at 2.4 GHz). While BLE is used in one embodiment to enable a short-range communication protocol, variable power short-range interface 480 may be implemented with other low power, short-range communication protocols, such as ultra-low power communication protocols used with ultra-wideband impulse radio communications, ZigBee protocols, IEEE 802.15.4 standard communication protocols, and the like.
In one embodiment, various RF characteristics of the radio's transceiver, such as the RF output power and the RF receiver sensitivity may be dynamically and programmatically varied under control of processing unit 400 . In other embodiments, further RF characteristics of the radio's transceiver may be programmatically varied, such as frequency, duty cycle, timing, modulation schemes, spread spectrum frequency hopping aspects, etc., as needed to flexibly adjust the RF output signal as needed depending upon a desired implementation and anticipated use of exemplary master node 110 a . In other words, embodiments of master node 110 a (or any other master node) may have programmatically adjustable RF characteristics (such as an adjustable RF output signal power, an adjustable RF receiver sensitivity, the ability to switch to a different frequency or frequency band, etc.).
In addition to the short-range communication interface 480 , exemplary master node 110 a includes a medium and/or long-range communication interface 485 to provide a communication path to server 100 via network 105 . Those skilled in the art will appreciate that in some embodiments, an exemplary communication interface deployed may be considered to embody a short-range communication interface (such as interface 480 ) or a medium/long range communication interface (such as interface 485 ). However, in more general embodiments, reference to a communication interface may include an interface that collectively implements a plurality of different exemplary data communication interfaces while still being generally referenced as “a communication interface” or “wireless communication interface.”
In one embodiment, communication interface 485 may be implemented with a medium range radio in the form of an IEEE 802.11g compliant Wi-Fi transceiver. In another embodiment, communication interface 485 may be implemented with a longer range radio in the form of a cellular radio. In yet another embodiment, both a Wi-Fi transceiver and a cellular radio may be used when best available or according to a priority (e.g., first attempt to use the Wi-Fi transceiver if available due to possible lower costs; and if not, then rely on the cellular radio). In other words, an embodiment may rely upon the longer range cellular radio part of interface 485 as an alternative to the medium range Wi-Fi transceiver radio, or when the medium range radio is out of reach from a connecting infrastructure radio within network 105 . Thus, in these embodiments, medium and/or long-range communication interface 485 may be used to communicate captured node information (e.g., profile data 430 , association data 440 , shared data 445 , sensor data 450 , and location data 455 ) to server 100 .
The battery/power interface 470 for master node 110 a generally powers the circuitry implementing master node 110 a . In one embodiment, battery/power interface 470 may be a rechargeable power source. For example, a master node may have a rechargeable power source along with a solar panel that charges the power source in order to help facilitate deployment of the master in a remote location. In another embodiment, battery/power interface 470 may be a non-rechargeable power source intended to be disposed of after use. In yet another embodiment, battery/power interface 470 may be a power interface connector (such as a power cord and internal power supply on master node 110 a ). Thus, when an exemplary master node is in a fixed or stationary configuration, it may be powered by a power cord connected to an electrical outlet, which is coupled to an external power source. However, other mobile master nodes may use an internal power source, such as a battery.
The clock/timer 460 for master node 110 a generally provides one or more timing circuits used in, for example, time delay, pulse generation, and oscillator applications. In an embodiment where master node 110 a conserves power by entering a sleep or dormant state for a predetermined time period as part of overall power conservation techniques, clock/timer 460 assists processing unit 400 in managing timing operations.
Optionally, an embodiment may also implement master node 110 a as including one or more sensors 465 (similar to sensors deployed on ID node based Sensor nodes and described above with respect to FIG. 3 ). Additionally, an embodiment of master node 110 a may also provide a user interface 405 to indicate status and allow basic interaction for review of captured node data and interaction with nodes and server 100 . In one embodiment, user interface 405 may provide a display, interactive buttons or soft keys, and a pointing device to facilitate interaction with the display. In a further embodiment, a data entry device may also be used as part of the user interface 405 . In other embodiments, user interface 405 may take the form of one or more lights (e.g., status lights), audible input and output devices (e.g., a microphone and speaker), or touchscreen.
›DESCRIPTION OF THE EMBODIMENTS · 11 of 71
As previously noted, an exemplary master node, such as master node 110 a , may be positioned in a known fixed location or, alternatively, includes dedicated location positioning circuitry 475 (e.g., GPS circuitry) to allow the master node self-determine its location or to determine its location by itself. In other embodiments, alternative circuitry and techniques may be relied upon for location circuitry 475 (rather than GPS), such as location circuitry compatible with other satellite-based systems (e.g., the European Galileo system, the Russian GLONASS system, the Chinese Compass system), terrestrial radio-based positioning systems (e.g., cell phone tower-based or Wi-Fi-based systems), infrared positioning systems, visible light based positioning systems, and ultrasound-based positioning systems).
Regarding memory storage 415 and volatile memory 420 , both are operatively coupled to processing unit 400 in exemplary master node 110 a . Both memory components provide program elements used by processing unit 400 and maintain and store data elements accessible to processing unit 400 (similar to the possible data elements stored in memory storage 315 and volatile memory 320 for exemplary ID node 120 a ).
In the embodiment shown in FIG. 4 , memory storage 415 maintains a variety of executable program code (e.g., master control and management code 425 ), data similar to that kept in an ID node's memory storage 315 (e.g., profile data 430 , security data 435 , association data 440 , shared data 445 , sensor data 450 , and the like) as well as other data more specific to the operation of master node 110 a (e.g., location data 455 that is related to the location of a particular node). Like memory storage 315 , memory storage 415 is a tangible, non-transient computer readable medium on which information (e.g., executable code/modules, node data, sensor measurements, etc.) may be kept in a non-volatile and non-transitory manner.
Like volatile memory 320 in ID node 120 a , volatile memory 420 is typically a random access memory (RAM) structure used by processing unit 400 during operation of the master node 110 a . Upon power up of master node 110 a , volatile memory 120 may be populated with an operational program (such as master control and management code 425 ) or specific program modules that help facilitate particular operations of master node 110 a . And during operation of master 110 a , volatile memory 420 may also include certain data (e.g., profile data 430 , security data 435 , association data 440 , shared data 445 , sensor data 450 , and the like) generated as the master node 110 a executes instructions as programmed or loaded from memory storage 415 .
Master Control & Management Code
Generally, an embodiment of master control and management code 425 is a collection of software features implemented as programmatic functions or program modules that generally control the behavior of a master node, such as master node 110 a . In one embodiment, master control and management code 425 generally comprises several programmatic functions or program modules including (1) a node advertise and query (scan) logic manager, which manages how and when a node communicates; (2) an information control and exchange manager, which manages whether and how information may be exchanged between nodes; (3) a node power manager, which manages power consumption and aspects of RF output signal power and/or receiver sensitivity for variable short-range communications; (4) an association manager focusing on how the node associates with other nodes; and (5) a location aware/capture module to determine node location.
Master Node Program Modules and ID Node Modules
In an exemplary embodiment, program modules (1)-(4) of master node control and management code 425 generally align with the functionality of similarly named program modules (1)-(4) of node control and management code 325 as described above with respect to FIG. 3 . Additionally, as node control and management code 325 may also comprise an airborne mode program module, those skilled in the art will appreciate and understand that master node control and management code 425 may also comprise a similar functionality airborne mode program module in order to allow advantageous operations of a master node while airborne. However, and consistent with examples set forth below, such modules may have some differences when in a master node compared with those controlling an ID node.
Location Aware/Capture Module
In addition to exemplary program modules (1)-(4) of code 425 , an exemplary embodiment of master node control and management code 425 will further comprise an exemplary location aware/capture module related to node location (more generally referred to as a location manager module for a master node). In general, the exemplary location aware/capture module deployed in an exemplary master node may determine its own location and, in some embodiments, the location of a connected node. Embodiments of the exemplary location aware/capture module may work in conjunction with location manager program code residing and operating in a server (e.g., as part of server control and management code 525 ) when determining node locations of other nodes, as discussed in more detail herein.
In one embodiment, a master node may be positioned in a known, fixed location. In such an embodiment, the exemplary location aware/capture module may be aware that the master node location is a known, fixed location, which may be defined in a fixed, preset, or preprogrammed part of memory storage 415 (e.g., information in the location data 455 maintained in memory storage 415 ). Examples of such location information may include conventional location coordinates or other descriptive specifics that identify the location of the master node. In another embodiment where the master node may not be inherently known or a fixed location at all times (e.g., for a mobile master node), the exemplary location aware/capture module may communicate with location circuitry, such as GPS circuitry 475 on a master node, to determine the current location of the master node.
›DESCRIPTION OF THE EMBODIMENTS · 12 of 71
In an embodiment, the location of the master node may be communicated to the server, which may use this location information as part of managing and tracking nodes in the wireless node network. For example, if an exemplary master node is mobile and has determined a new current location using location circuitry 475 , the master node may provide that new current location for the master node to the server. Additionally, when the master node's exemplary location aware/capture module determines the location of a node associated with the master node, the master node may also provide the location of that node associated with the master node to the server.
Server
While FIGS. 3 and 4 illustrate details of hardware and software aspects of an exemplary ID node and exemplary master node, respectively, FIG. 5 provides a more detailed diagram of an exemplary server that may operate as part of an exemplary wireless node network in accordance with an embodiment of the invention. In an exemplary embodiment, server 100 may be referred to as an Association and Data Management Server (ADMS) that manages the nodes, collects information from the nodes, stores the collected information from the nodes, maintains or has access to context data related to the environment in which the nodes are operating, and may provide information about the nodes (e.g., status, sensor information, etc.) to requesting entities. Further details on various embodiments that take advantage of this functionality are explained below. Those skilled in the art will appreciate that node density, geographic installation characterization, and network connectively are all types of examples of factors that may impact a final architecture desired for an embodiment of a wireless node network.
Referring now to FIG. 5 , exemplary server 100 is shown as a networked computing platform capable of connecting to and interacting with at least the wireless master nodes. In other embodiments, exemplary server 100 is also capable of connecting to and interacting with one or more user access devices. Those skilled in the art will appreciate that exemplary server 100 is a hardware-based component that may be implemented in a wide variety of ways. For example, server 100 may use a single processor or may be implemented as one or more part of a multi-processor component that communicates with devices (such as user access devices 200 , 205 ) and wireless nodes (such as master node 110 a ).
In general, those skilled in the art will further appreciate that server 100 may be implemented as a single computing system, a distributed server (e.g., separate servers for separate server related tasks), a hierarchical server (e.g., a server implemented with multiple levels where information may be maintained at different levels and tasks performed at different levels depending on implementation), or a server farm that logically allows multiple distinct components to function as one server computing platform device from the perspective of a client device (e.g., devices 200 , 205 or master node 110 a ). In some regional deployments, an exemplary server may include servers dedicated for specific geographic regions as information collected within different regions may include and be subject to different regulatory controls and requirements implemented on respective regional servers.
Likewise, while the embodiment shown in FIG. 5 illustrates a single memory storage 515 , exemplary server 100 may deploy more than one memory storage media. And memory storage media may be in differing non-transitory forms (e.g., conventional hard disk drives, solid state memory such as flash memory, optical drives, RAID systems, cloud storage configured memory, network storage appliances, etc.).
At its core, exemplary server 100 shown in FIG. 5 comprises a processing or logic unit 500 coupled to a network interface 590 , which facilitates and enables operative connections and communications through network 105 with one or more master nodes as well as, in some embodiments, user access devices, such as devices 200 , 205 . In one embodiment, server 100 may include a medium and/or long-range communication interface 595 with which to more directly communicate with one or more master nodes. Using these communication paths as well as program code or program modules (such as server control and management code 525 ), the server 100 generally operates to coordinate and manage information related to an ID node as an item associated with the ID node physically moves from one location to another.
As a computing platform, the processing unit 500 of exemplary server 100 is operatively coupled to memory storage 515 and volatile memory 520 , which collectively store and provide a variety of executable program code (e.g., server control and management code 525 ), data similar to that kept in a master or ID node's respective memory storage (e.g., profile data 530 , security data 535 , association data 540 , shared data 545 , sensor data 550 , location data 555 ) and context data 560 related to the environment in which the nodes are operating (e.g., information generated from within the wireless node network and information created external to the wireless node network).
Like memory storage 315 and storage 415 , memory storage 515 is a tangible, non-transient computer readable medium on which information (e.g., executable code/modules (e.g., server control and management code 525 ), node-related data (e.g., profile data 530 , security data 535 , association data 540 , location data 555 , etc.), measurement information (e.g., a type of shared data 545 , sensor data 550 , etc.), and information on the contextual environment for the nodes (e.g., context data 560 ) may be kept in a non-volatile and non-transitory manner.
Those skilled in the art will appreciate that the above identification of particular program code and data are not exhaustive and that embodiments may include further executable program code or modules as well as other data relevant to operations of a processing-based device, such as an ID node, a master node, and a server.
›DESCRIPTION OF THE EMBODIMENTS · 13 of 71
Context Data
As noted above, server 100 may access context data 560 as part of managing nodes in the wireless node network. The exemplary server 100 may contain a collection of such context data 560 in a context database 565 according to an embodiment. As illustrated in FIG. 5 , exemplary context database 565 is a single database accessible by processing unit 500 internal to server 100 . Those skilled in the art will readily understand that other configurations that provide an accessible collection of context data 560 are possible and contemplated within the scope and principles of embodiments of the invention. For example, context database 565 may be an externally accessible database (or multiple databases), such as an accessible storage maintained outside the server 100 via a dedicated interface or a network storage device (or network attached storage (NAS) unit). In yet another embodiment, the context database may be separately maintained by an external database server (not shown) that is distinct from server 100 , but accessible through a communication path from server 100 to a separate database server (e.g., via network 105 ). Furthermore, those skilled in the art will appreciate that context database 565 may be implemented with cloud technology that essentially provides a distributed networked storage of collections of information (such as context data 560 , sensor data 550 , shared data 545 , etc.) accessible to server 100 .
Within context database 565 , an exemplary embodiment of the collection of context data 560 may be maintained that generally relates to an environment in which the nodes are operating or anticipated to be operating. In more detail, the context data 560 may generally relate to what a similar node has experienced in a similar environment to what a given node is presently experiencing or is anticipated to experience as the given node moves.
In a general example, an environment in which a node may be actually or anticipated to be operating may include different types of environments—for example, an electronic communication environment (e.g., an RF environment that may be cluttered with signals or include materials or structure that may impede or otherwise shield RF communications), a physical environment of an anticipated path along with the identified node moves (e.g., temperature, humidity, security, and other physical characteristics), a conveyance environment related to how a node may move or be anticipated to be moving (e.g., speed and other parameters of a truck, airplane, conveyor system), and a density environment related to the density of nodes within an area near a particular node (e.g., how many nodes are anticipated to occupy a corridor, such as structure 2200 shown in FIG. 22A , or a storage facility through which a particular ID node is anticipated to transit on its shipping path).
In light of these different aspects of a node's operating environment, exemplary context data 560 may provide information related to different structures and conditions related to movement of an item (e.g., a particular type of courier device, vehicle, facility, transportation container, etc.). Such information may be generated by an entity operating the wireless node network, such as a shipping company. Additionally, exemplary context data 560 may include third party data generated external to the wireless node network. Thus, context data, such as data 560 , may include a wide variety of data that generally relates to the environment in which the nodes are operating and may be used to advantageously provide enhanced node management capabilities in accordance with embodiments of the present invention.
In general, FIG. 5 illustrates exemplary types of context data 560 being maintained in database 565 and in volatile memory 520 . Those skilled in the art will appreciate that context data 560 may also be maintained in other data structures, in addition to or instead of maintaining such information in a database. As illustrated in FIG. 5 , exemplary types of context data 560 may include but are not limited to scan data 570 , historic data 575 , shipment data 580 , layout data 585 , RF data 587 , and 3 rd party data.
Scan data 570 is generally data collected for a particular item related to an event. For example, when an item is placed in a package (such as package 130 ), a label may be generated and placed on the exterior of the package. The label may include a visual identifier that, when scanned by an appropriate scanning device capable of capturing, identifies the package. The information generated in response to scanning the identifier (a type of event), may be considered a type of scan data. Other scan data 570 may include, for example, general inventory data generated upon manual entry of information related to the package; captured package custodial control data; and bar code scan data.
Historic data 575 is generally data previously collected and/or analyzed related to a common characteristic. Historic data 575 embodies operational knowledge and know-how for a particular characteristic relevant to operations of the wireless node network. For example, the common characteristic may be a particular event (e.g., movement of an item from an open air environment to within a particular closed environment, such as a building), a type of item (e.g., a type of package, a type of content being shipped, a location, a shipment path, etc.), a success rate with a particular item (e.g., successful shipment), and the like. Another example of historic data 575 may include processing information associated with how an item has been historically processed as it is moved from one location to another (e.g., when moving within a particular facility, processing information may indicate the item is on a particular conveyor and may include information about the conveyor (such as speed and how long it is anticipated the item will be on the conveyor)).
Shipment data 580 is generally data related to an item being moved from one location to another location. In one embodiment, shipment data 580 may comprise a tracking number, content information for an item being shipped, address information related to an origin and destination locations, and other characteristics of the item being moved.
›DESCRIPTION OF THE EMBODIMENTS · 14 of 71
Layout data 585 is generally data related to the physical area of one or more parts of an anticipated path. For example, an embodiment of layout data 585 may include building schematics and physical dimensions of portions of a building in which a node may be transiting. An embodiment may further include density information associated with physical areas to be transited and anticipated numbers of potential nodes in those areas as types of layout data. In another example, an embodiment of layout data may include a configuration of how a group of packages may be assembled on a pallet, placed into a shipping container (e.g., a unit load device (ULD)) that helps move a collection of items on various forms with single mode or intermodal transport.
RF data 587 is generally signal degradation information about a signal path environment for a particular type of node and may relate to particular adverse RF conditions that may cause signal fluctuations, interference, or other degradation from the otherwise optimal signal path environment for that type of node. For example, RF data may include shielding effects when using a particular packaging or location, shielding effects when the package is within a particular type of container or assembled as part of a palletized shipment, shielding effects when particular content is shipped, and other physical and electronic interference factors.
Third party data 589 is an additional type of context data 560 that generally includes data generated outside the network. For example, third party data may include weather information associated with particular areas to be transited as the item is moved along an anticipated path from one location to another. Those skilled in the art will appreciate other types of third party data that relate to physical and environmental conditions to be faced by an item being moved from one location to another may also be considered context data 560 .
The use of context data, such as context data 560 described above, advantageously helps server 100 better manage movement of items, provide better location determination, enhance intelligent operation and management of different levels of the wireless node network, and provide enhanced visibility to the current location and status of the item during operation of the wireless node network. In one embodiment, server control and management code 525 may provide such functionality that enables the wireless node network to be contextually aware and responsive.
Server Control & Management Code
Generally, server control and management code 525 controls operations of exemplary server 100 . In an embodiment, server control and management code 525 is a collection of software features implemented as programmatic functions in code or separate program modules that generally control the behavior of server 100 . Thus, exemplary server control and management code 525 may be implemented with several programmatic functions or program modules including, but not limited to, (1) a server-side association manager, which provides a framework for more robust and intelligent management of nodes in the wireless node network; (2) a context-based node manager, which enhances management of nodes in the wireless node network based upon context data; (3) a security manager, which manages secure pairing aspects of node management; (4) a node update manager, which provides updated or different programming for a particular node and shares information with nodes; (5) a location manager for determining and tracking the location of nodes in the network; and (6) an information update manager, which services requests for information related to the current status of a node or generally providing information about a node or collected from a node.
Server-Side Association Manager
The server-side association manager (also referred to as a server-side association management function) is generally a program module in exemplary code 525 that is responsible for intelligently managing the nodes in the wireless node network using a secure information framework. In an embodiment, this framework may be implemented to be a context-driven, learning sensor platform. The framework may also enable a way for information (such as RF scan, location, date/time, and sensor data) to be securely shared across nodes, a way to change the behavior of a node, and for a node to know it is considered “missing.” The framework established during operation of the server-side association manager allows the network of nodes to be managed as a system with enhanced and optimized accuracy of determining the physical location of each ID Node. Further information regarding particular embodiments of such an association management framework and methods are explained below in more detail.
Context-Based Association Manager
The context-based node manager is generally a program module in exemplary code 525 that is responsible for incorporating context data as part of management operations to provide an enhanced data foundation upon which visibility of the nodes may be provided. In some embodiments, the context-based node manager may be implemented as part of the server-side association manager while other embodiments may implement the context-based node manager as a separate program module.
In one embodiment, the enhanced data foundation relies upon context data, such as context data 560 (e.g., scan data 570 , historic data 575 , shipment data 580 , layout data 585 , and other third party contextual data providing information regarding the conditions and environment surrounding an item and ID node moving from one location to another. Such context data (e.g., the network know-how, building layouts, and operational knowledge of nodes and shipping paths used with the wireless node network) may provide the enhanced building blocks that allow the server 100 to manage tracking and locating of nodes in a robustly enriched contextual environment. In an embodiment, context-based management provides visibility to the system through data analysis for when and how associations should be expected as the nodes travel through the wireless node network. In other embodiments, it may provide the foundation for better understanding RF signal degradation, which can be caused by the operating environment, packaging, package content, and/or other packages related to an item and its ID node.
›DESCRIPTION OF THE EMBODIMENTS · 15 of 71
Security Manager
The security manager module, which may be implemented separately or as part of the association manager module in exemplary server control and management code 525 , helps with associating two nodes in the wireless node network by managing aspects of secure pairing of the nodes. In one embodiment, security manager module provides the appropriate pairing credentials to allow a node to securely connect to another node. Thus, when a node desires to connect to another node, an embodiment requires appropriate pairing credentials be generated by the server, provided to the nodes, and observed within the nodes to allow for a successful connection or association of nodes.
In operation, a node (such as master node 110 a ) identifies the address of the node (such as ID node 120 a ) to whom it desires to connect. With this address, the node prepares a pairing request and sends the request to the server 110 . The server 100 operates under the control of the security manager module of the association manager, and determines whether the requesting node should be connected or otherwise associated with the other node. If not, the server does not issue the requested security credentials. If so and in accordance with the desired association management paradigm set by the association manager of code 525 , server provides the requested credentials necessary for a successful wireless pairing and the establishment of secure communications between the associated nodes.
Node Update Manager
The exemplary server control and management code 525 may include a node update manager module that provides updated programming information to nodes within the wireless node network and collects information from such nodes (e.g., shared data 545 , sensor data 550 ). The node update module may be implemented separately or as part of the association manager module in exemplary server control and management code 525 .
Providing an update to a node's programming may facilitate and enable distribution of node functions to save power and better manage the nodes as a system. For example, one embodiment may alter the functional responsibility of different nodes depending on the context or association situation by temporarily offloading responsibility for a particular function from one node to another node. Typically, the server directs other nodes to change functional responsibility. However, in some embodiments, a master node may direct other nodes to alter functional responsibility.
Sharing information between nodes and with server (e.g., via an exemplary node update manager) facilitates collecting information from a node and sharing information with other nodes as part of an association management function of server 100 . For example, one embodiment may collect and share RF scan data (a type of shared data 545 ), information about a node's location (a type of location data 555 ), system information about date/time (another type of shared data 545 ), and sensor measurements collected from sensor nodes (a type of sensor data 550 ).
Location Manager
The exemplary server control and management code 525 may include a location manager module that helps determine and track node locations. In a general embodiment, the location of a node may be determined by the node itself (e.g., a master node's ability to determine its own location via location circuitry 475 ), by a node associated with that node (e.g., where a master node may determine the location of an ID node), by the server itself (e.g., using location information determined by one or more techniques implemented as part of code 525 ), and by a combined effort of a master node and the server.
In general, an exemplary ID node may be directly or indirectly dependent on a master node to determine its actual physical location. Embodiments may use one or more methodologies to determine node location. For example and as more specifically described below, possible methods for determining node location may relate to controlling an RF characteristic of a node (e.g., an RF output signal level and/or RF receiver sensitivity level), determining relative proximity, considering association information, considering location adjustments for context information and an RF environment, chaining triangulation, as well as hierarchical and adaptive methods that combine various location methodologies. Further information and examples of how an exemplary location manager module may determine a node's location in accordance with such exemplary techniques are provided in more detail below.
Additionally, those skilled in the art will appreciate that it may also be possible to determine what constitutes an actionable location versus actual location based upon contextual information about the item being tracked. For example, a larger item may require relatively less location accuracy than a small item such that operational decisions and status updates may be easier implemented with knowledge of context. If the size of the item is known, the location accuracy can be tuned accordingly. Thus, if a larger item is to be tracked, or if the system's contextual awareness of it is such that lower location accuracy can be used, a stronger signal and thus wider area of scanning may be employed, which may help in situations where RF interference or shielding is an issue.
Information Update Manager
The exemplary server control and management code 525 may include an information update manager module that provides information related to operations of the wireless node network and status of nodes. Such information may be provided in response to a request from a device outside the wireless node network (such as user access device 200 ). For example, someone shipping an item may inquire about the current status of the item via their laptop or smartphone (types of user access devices), which would connect to server 100 and request such information. In response, the information update manager module may service such a request by determining which node is associated with the item, gathering status information related to the item (e.g., location data, etc.), and provide the requested information in a form that is targeted, timely, and useful to the inquiring entity.
›DESCRIPTION OF THE EMBODIMENTS · 16 of 71
In another example, a user access device may connect to server 100 and request particular sensor data from a particular node. In response, information update manager may coordinate with node update manager, and provide the gathered sensor data 545 as requested to the user access device.
Node Filtering Manager
An embodiment of exemplary server control and management code 525 may optionally comprise a node filtering manager, which helps manage the traffic of nodes with a multi-level filtering mechanism. The filtering essentially sets up rules that limit potential associations and communications. An example of such a node filtering management may define different levels or modes of filtering for a master node (e.g., which ID nodes can be managed by a master node as a way of limiting the communication and management burdens on a master node).
In one example, a “local” mode may be defined where the ID node only communicates and is managed by the assigned master node at the location where the last wireless node contact back to server 100 and/or where third party data indicates the assigned master node and ID node are in physical and wireless proximity. Thus, for the “local” mode of traffic filtering, only the assigned master node communicates and processes information from a proximately close and assigned ID node.
Moving up to a less restrictive filtering mode, a “regional” mode of filtering may be defined where the ID node may communicate and be managed by any master node at the location last reported back to server 100 and/or where third party data indicates the ID node is located. Thus, for the “regional” mode of traffic filtering, any master node near the ID node may communicate and process information from that ID node. This may be useful, for example, when desiring to implement a limit on associations and pairings to within a particular facility.
At the least restrictive filtering mode, a “global” mode of filtering may be defined as essentially system-wide communication where the ID node may be allowed to communicate and be managed by any master node. In other words, the “global” mode of traffic filtering allows any ID node within the wireless node network to communicate information through a particular master node near the ID node may communicate and process information from that ID node.
Thus, with such exemplary filtering modes, an ID node in a certain condition (e.g., distress, adverse environmental conditions, adverse conditions of the node, etc.) may signal the need to bypass any filtering mechanism in place that helps manage communications and association by using the “Alert” Status Flag. In such an example, this would operate to override any filtering rules set at the Master Node level in order to allow an ID node to be “found” and connect to another node.
Thus, exemplary server 100 is operative, when executing code 525 and having access to the types of data described above, to manage the nodes, collect information from the nodes, store the collected information from the nodes, maintain or have access to context data related to the environment in which the nodes are operating, and provide information about the nodes (e.g., status, sensor information, etc.) to a requesting entity.
Node Communication & Association Examples
To better illustrate how exemplary management and communication principles may be implemented within an exemplary wireless node network, FIGS. 8-12 provide several examples of how exemplary components of the wireless node network may generally communicate (advertising & scanning), associate, and exchange information during different types of operations in various embodiments. FIGS. 22A-C also provide a more detailed application of such exemplary association and communication activities when an exemplary ID node moves along a transit path (e.g., through a corridor) and is tracked and managed by different master nodes and a server in an embodiment.
Node Advertising Cycle Example
As generally explained above, a node may have several different types of advertising states in which the node may be connectable with other nodes and may communicate with other nodes. And as a node moves within a wireless node network, the node's state of advertising and connection may change as the node disassociates with a previously connected node, associates with a new node, or finds itself not associated with other nodes. In some situations, a node may be fine and in normal operation not be connected or associated with another node. However, in other situations, a node may raise an issue with potentially being lost if it has not connected with any other node in a very long period of time. As such, a node may go through different types of advertising states in these different operational situations.
Generally, a node may be in a state where it is not connectable with other nodes for a certain period of time (also referred to as a non-connectable interval). But later, in another state, the node may want to be connected and advertises as such for a defined connectable period (also referred to as a connectable interval). As the node advertises to be connected, the node may expect to be connected at some point. In other words, there may be a selectable time period within which a node expects to be connected to another node. However, if the node is not connected to another node within that period of time (referred to as an Alert Interval), the node may need to take specific or urgent action depending upon the circumstances. For example, if a node has not been connected to another node for 30 minutes (e.g., an example alert interval), the node may change operation internally to look “harder” for other nodes with which to connect. More specifically, the node may change its status flag from an Alert Level 0 (no issue, operating normal) to Alert Level 2 in order to request that any available master node acknowledge receipt of the advertisement packet broadcasted by the node seeking a connection.
FIG. 8 is a diagram illustrating exemplary advertising states (or information exchange and node connectability states) and factors involved in transitions between the states by an exemplary ID node in a wireless node network in accordance with an embodiment of the invention. Referring now to FIG. 8 , three exemplary states for a node are illustrated as part of an exemplary advertising cycle for the node—namely, an ID Node Non-Connectable Advertising state 805 , an ID Node Discoverable Advertising state 815 , and an ID Node General Advertising state 830 . Transitions between these states will depend on factors related to expirations of the types of intervals described above. In an embodiment, the duration of each of these intervals will depend upon the system implementation and the contextual environment within which the ID node is operating. Such time intervals may, for example, be set by server 100 as part of data (e.g., profile data, association data, context data) provided to the node when updating the node and managing operations of the node.
›DESCRIPTION OF THE EMBODIMENTS · 17 of 71
Referring to the example illustrated in FIG. 8 , an exemplary ID node may have an alert interval set at, for example, 30 minutes, and be in ID Node Non-Connectable Advertising state 805 with a non-connectable interval set at 5 minutes. In state 805 , the ID node may broadcast or advertise, but is not connectable and will not receive a SCAN_REQ message (a type of request for more information sent to the advertising node from another node). Thus, the ID node in state 805 in this example may advertise in a non-connectable manner for at least 5 minutes but expects to be connected within 30 minutes.
If the alert interval has not yet elapsed (factor 810 ) and the non-connectable interval is still running (factor 825 ), the ID node simply stays in state 805 . However, if the alert interval has not elapsed (factor 810 ) and the non-connectable interval elapses (factor 825 ), the ID node will enter a mode where it wants to try to connect to another node for a period of time (e.g., a 1 minute connectable interval) and will move to the ID Node General Advertising state 830 in the exemplary advertising cycle of FIG. 8 . In state 830 , as long as the connectable interval is running, the ID node will stay in this state where it is connectable to another node and will receive SCAN_REQ types of requests from other nodes in response to the advertising packets the ID node is broadcasting. However, when the connectable interval (e.g., the 1 min period) elapses or expires (factor 835 ), the ID node returns back to the Non-connectable Advertising state 805 for either the next time the non-connectable interval elapses (and the ID node again tries to connect in state 830 ) or the alert interval finally elapses (and the ID node finds itself in a situation where it has not connected to another node despite its efforts to connect in state 830 ).
When the alert interval finally elapses (factor 810 ), the ID node moves to the ID Node Discoverable Advertising state 815 . Here, the ID node is not yet connectable but will receive a SCAN_REQ type of request from other nodes in response to advertising packets the ID node is broadcasting. In this state 815 , the exemplary ID node may alter its status flag to indicate and reflect that its alert interval has expired and that the node is now no longer in normal operation. In other words, the ID node may change the status flag to a type of alert status being broadcasted to indicate the ID node urgently needs to connect with another node. For example, the status flag of the advertising packet broadcast by the ID node may be changed to one of the higher Alert Levels depending on whether the node needs to upload data (e.g., Alert Level 3 status) or synchronize timer or other data with another node (e.g., Synchronize status). With this change in status flag, and the ID node in state 815 broadcasting, the ID node awaits to receive a request from another node that has received the broadcast and requested more information via a SCAN_REQ message (factor 820 ) sent to the ID node from that other node. Once a SCAN_REQ message has been received by the ID node (factor 820 ), the ID node that went into the alert mode because it had not connected with another node within the alert interval can connect with that other node, upload or share data as needed, and then shift back to state 805 and restart the alert interval and non-connectable intervals.
Master Node to ID Node Association Example
Advertising (broadcasting) and scanning (listening) are ways nodes may communicate during association operations. FIGS. 9-12 provide examples of how network elements of a wireless node network (e.g., ID nodes, master nodes, and a server) may communicate and operate when connecting and associating as part of several exemplary wireless node network operations.
FIG. 9 is a diagram illustrating exemplary components of a wireless node network during an exemplary master-to-ID node association in accordance with an embodiment. Referring now to FIG. 9 , exemplary master node M 1 910 a is illustrated within communication range of exemplary ID node A 920 a . Master node M 1 910 a also has a communication path back to server 900 . As shown, master node M 1 910 a is in a scanning or listening mode (e.g., indicated by the “M 1 scan ” label) while ID node A 920 a is in an advertising or broadcasting mode (e.g., indicated by the “A adv ” label). In this example, M 1 master node 910 a has captured the address of ID node A 920 a through A's advertising of at least one advertising data packet, and has reported it to the server 900 . In this manner, the capturing and reporting operations effectively create a “passive” association between the nodes and proximity-based custodial control. Such an association may be recorded in the server, such as server 900 , as part of association data, such as association data 540 .
In another embodiment, passive association between a master node and ID node may be extended to an “active” association or connection. For example, with reference to the embodiment shown in FIG. 9 , server 900 may instruct master node M 1 910 a to associate, connect, or otherwise pair with ID node A 920 a , and forwards the required security information (e.g., PIN credentials, security certificates, keys) to master node M 1 910 a . Depending on the advertising state of ID node A 920 a , ID node A 910 a may only be visible (discoverable) but not connectable. In such a situation, the master node M 1 910 a must wait until ID node A 920 a is in a connectable state (e.g., the ID Node General Advertising state) and can be paired. As discussed above with reference to FIG. 8 , each ID node has a certain time window during each time period where it can be paired or connected.
In this example, when the ID node A 920 a is successfully paired with master node M 1 910 a , ID node A 920 a may no longer advertise its address. By default, only an unassociated device will advertise its address. A paired or associated node will only advertise its address if instructed to do so.
›DESCRIPTION OF THE EMBODIMENTS · 18 of 71
ID Node to ID Node Association Example
In various embodiments, an ID node may associate with or connect to other ID nodes. FIG. 10 is a diagram illustrating exemplary components of a wireless node network during an exemplary ID-to-ID node association in accordance with an embodiment of the invention. Referring now to FIG. 10 , exemplary master node M 1 910 a , ID node A 920 a , and server 900 are similarly disposed as shown in FIG. 9 , but with the addition of ID node B 920 b , which is within communication range of ID node A 920 a . In this example, ID node A 920 a is running in query (scan) mode (e.g., A scan ) listening for ID node B 920 b . When ID node A 910 a detects ID node B 920 b advertising (e.g., B adv ) with one or more advertising data packets as part of an advertised message from ID node B 920 b , ID node A 920 a identifies a status flag from the message indicating ID node B 920 b has, for example, data (e.g., sensor data 350 ) for upload. As a result, ID node A 920 a logs the scan result (e.g., as a type of association data 340 ) and, when next connected to master node M 1 910 a , ID node A 920 a uploads the captured scan log information to the server 900 . In this manner, the ID node scanning, capturing, and reporting operations effectively create a “passive” association between the different ID nodes. Such a passive association may be recorded in the server 900 as part of association data 540 .
In another embodiment, passive association between two ID nodes may be extended to an “active” association or connection. For example, with reference to the embodiment shown in FIG. 10 , based upon the captured status flag and uploaded information about ID node B 920 b under that mode, the server 900 may issue a request to ID node A 920 a through master node M 1 910 a to actively connect or pair with ID node B 920 b for the purpose of downloading information from ID node B 920 b . In one example, security credentials that authorize the active connection between ID node A 920 a and ID node B 920 b are downloaded to ID node A 920 a from master node M 1 910 a , which received them from server 900 . In another example, the requisite security credentials may have been pre-staged at ID node A 920 a . And rather than rely upon an ID node to ID node connection, master node M 1 may have connected directly with ID node B 920 b if M 1 was within communication range of ID node B 920 b.
Information Query ID Node to Master Node Example
An exemplary ID Node may also issue queries to other nodes, both master nodes and ID nodes. FIG. 11 is a diagram illustrating exemplary components of a wireless node network during an exemplary ID-to-master node query in accordance with an embodiment of the invention. Referring now to FIG. 11 , a similar group of nodes as shown in FIG. 9 appears, except that exemplary master node M 1 910 a is in an advertising or broadcasting mode (e.g., M 1 adv ) while ID node A 920 a is in a scanning mode (e.g., A scan ). In this configuration, ID node A 920 a may query master node M 1 910 a for information. In one embodiment, the query may be initiated through the ID node setting its status flag. The requested information may be information to be shared, such as a current time, location, or environmental information held by the master node M 1 910 a.
In a passive association example, ID node A 920 a in A scan mode may have captured the address of master node M 1 910 a . However, since an ID node cannot directly connect to the server 900 to request pairing security credentials (e.g., security pin information that authorizes an active connection between ID node A 920 a and master node M 1 910 a ), a passive association and corresponding pairing will have been initiated from the master node. In another example, it may be possible for ID node A 920 a to have the pairing credentials stored as security data 335 from a previous connection. This would allow ID node A 920 a then to initiate the active association with master node M 1 910 a after a passive association.
Alert Level Advertising Example
As previously noted, a node may enter an alert stage or level in one or more embodiments. For example, if a node has not received an acknowledgement from a master node for an advertising packet within a set period (e.g., an Alert Interval as described in some embodiments), the node will enter a particular alert stage for more specialized advertising so that it may be “found” or pass along information. FIG. 12 is a diagram illustrating exemplary components of a wireless node network during an exemplary alert advertising mode in accordance with an embodiment of the invention. Referring now to FIG. 12 , a similar group of nodes as shown in FIG. 9 appears, with the addition of another master node (master node M 2 910 b ) and another ID node (ID node B 920 b ). Exemplary ID node A 920 a is in an advertising or broadcasting mode (e.g., A adv ) while nodes M 1 , M 2 , and B are each in scanning mode (e.g., M 1 scan , M 2 scan , and B scan ). In this example and configuration as shown in FIG. 12 , the status flag in an advertising message from ID node A 920 a has been set to a particular alert level (e.g., Alert Level 2) in the header of the message, requesting any nearby master node to acknowledge it. In one example, this mode may be entered if ID node A 920 a has not connected with another node for a set period or time. In another example, ID node A 920 a may enter this specialized advertising mode upon received instructions (e.g., from server 900 or another nearby node) or a triggered condition (other than time), such as when a sensor input (such as light) is detected or otherwise registered and the node issues continuous updates of its address as a security feature. The ID node A 920 a set at this alert level and in this specialized advertising mode is thus set in an active pairing mode, waiting for pairing credentials.
From a passive association perspective, any node in scanning mode can passively associate with such an advertising node (e.g., ID node A 920 a in this alert mode). Thus, in an embodiment, the Alert Level 2 status flag in the advertising header broadcast by ID node A 920 a indicates that urgent and active intervention is requested, rather than merely passively associate without an active connection.
›DESCRIPTION OF THE EMBODIMENTS · 19 of 71
From an active association perspective, any node that uploads the special advertising header of ID node A 920 a may be forwarded the security credentials from the server 900 . This would allow for the node receiving such credentials to actively associate or pair with ID node A 920 a.
While FIG. 8 provides examples of how a node may advertise, and FIGS. 9-12 provide examples of how different exemplary devices (e.g., ID nodes, master nodes, and a server) may advertise and associate in different ways, FIGS. 22A-C provide a progressive set of illustrations that expand upon how associating and disassociating may be applied within an exemplary wireless node network. More specifically, FIGS. 22A-C show how associations and disassociations may occur when an exemplary ID node is tracked and managed by a server and different master nodes as the ID node moves through an exemplary transit path in accordance with an exemplary embodiment of the invention.
Referring now to FIG. 22A , a structure 2200 is shown having an entry and exit point. In one example, the structure 2200 may be a corridor or another part of a building or facility. In another example, structure 2200 may be a conveyor system that transports an item and its ID node from the entry point to the exit point. Master node M 1 2210 a is located near the entry point of structure 2200 while master node M 2 2210 b is located near the exit point. Those skilled in the art will appreciate that other master nodes may be disposed at additional points in structure 2200 , but are not shown for sake of convenience and to simplify the association hand-off explanation that follows. Server 100 is operatively connected to each of master node M 1 2210 a and master node M 2 2210 b via network 105 .
In one embodiment, server 100 has access to context data 560 related to the structure 2200 , such as layout data 585 on dimensions and materials making up structure 2200 . Context data 560 may include historic data 575 on how an ID node has operated and successfully been tracked as it traverses structure 2200 from the entry point to the exist point. For example, server 100 may have context data indicating structure 2200 is a conveyor that can transport an item and its ID node from the entry point to the exit point over a distance of 800 feet. The context data may further indicate typical items are moved at a certain speed on the conveyor of structure 2200 and a nominal time from the entry point to the exit point may be about 5 minutes. Thus, the server 100 has access to context data about the environment within with an ID node is operating and may leverage this to better and more accurately manage the ID node.
In FIG. 22A , ID node A 2220 a is shown entering the structure 2200 at the entry point. Here, ID node A 2220 a may be advertising in hopes of connecting with a master node as it enters structure 2200 with, for example, a non-connectable interval of 10 seconds with a connectable interval of 5 seconds. In this example, the server 100 knows that ID node A 2220 a is located near the entry point and anticipates that ID node A 2220 a should be coming near to master node M 1 2210 a at the entry point. Thus, server 100 may set the connectable and non-connectable intervals accordingly so as to provide a sufficient opportunity for ID node A 2220 a to connect to the next master node along the predicted path of the ID node and in accordance with the speed of travel.
Additionally, server 100 may set the alert interval to 1 minute in this context. Here, if ID node A 2220 a is not connected to another node within 1 minute, ID node A 2220 a may broadcast or advertise with a message having a changed status flag that indicates an alert status so that ID node A 2220 a can connect to a broader range of other nodes that see it is urgent for ID node A 2220 a to connect and, essentially, be found. Depending on the context (e.g., the type of conveyor, the speed of the conveyor, the density of nodes near the entry point, etc.), those skilled in the art will appreciate that the server 100 can adjust the advertising cycle intervals to better accommodate the ID node's current environment.
When master node M 1 2210 a is scanning (listening), it may initially detect an advertising packet from ID node A 2220 a during node A's non-connectable interval. But when ID node A 2220 a changes advertising states and broadcasts as a connectable node in the general advertising state (i.e., during the connectable interval), master node M 1 2210 a may respond with a SCAN_REQ that acknowledge receipt of the broadcasted message and asks for further information from ID node A 2220 a . Master node M 1 2210 a receives the requested information from ID node A 2220 a , and then communicates with the server 100 to notify the server of its passive association with ID node A 2220 a . Server 100 determines if active association is desired, and may authorize the active association between master node M 1 2210 a and ID node A 2220 a by sending security credentials to master node M 1 2210 a , which allow the nodes to securely connect and share information. And master node M 1 2210 a may determine the location of ID node A 2220 a (or server 100 may do so by directing master node M 1 and/or ID node A), and provide the location of ID node A 2220 a to server 100 . Thus, server 100 is able to manage and track the location of ID node A 2220 a as it enters structure 2220 via at least association.
In FIG. 22B , ID node A 2220 a has traversed down part of the transit path through structure 2200 while remaining associated with master node M 1 2210 a . However, at some point master node M 1 2210 a and ID node A 2220 a are disassociated at the direction of server 100 (or when they can no longer communicate). In one example where ID node A 2220 a is on the conveyor within structure 2200 , server 100 may instruct ID node A 2220 a to go to a low power mode for a particular period of time in order to, for example, conserve ID node power. In another example, the low power mode may also provide better location accuracy. As the server 100 has access to the context data, the server 100 may know that ID node A 2220 a was associated with master node M 1 2210 a near the entry point at a given time, and determine that ID node A 2220 a will not be near the exit point until the end of the particular period of time. With the ID node A 2220 a programmed this way, once the particular period elapses, the ID node A 2220 a should be near the exit point and may again be placed into a normal operation mode so that it can seek to connect with master node M 2 2210 b.
›DESCRIPTION OF THE EMBODIMENTS · 20 of 71
Similar to the association process discussed with respect to ID node A and master node M 1 , ID node A 2220 a and master node M 2 2210 b may be associated as ID node A 2220 a approaches master node M 2 2210 b near the exit point. Once connected, the node locations and association data are updated on the server 100 . And as ID node A 2220 a continues to move through structure 2200 , ID node A 2200 a may arrive at the exit point as shown in FIG. 22C , where the node locations and association data are updated once again on the server 100 .
Those skilled in the art will appreciate how such principles may be applied to further movements of an ID node as it is handed off (e.g., via active/passive associations and disassociations) between other master nodes and keeping track of these associations and node locations on the server 100 . Additionally, as server 100 tracks and monitors associations, disassociations, and contextual environmental operations, server 100 essentially learns how to better use context information better track nodes, manage power used by ID nodes, and enhance accuracy for locations.
Those skilled in the art will also appreciate the general tradeoff with a level of RF power level and accuracy of location. If a node's RF power level is set high, it may advertise and connect with other nodes a longer distance away. But at such a high power level setting, the ability for the system to discriminate between and locate different nodes may be a challenge.
Association Management within a Wireless Node Network
As explained above in general, management of nodes may rely upon associations created and tracked between nodes. In some embodiments, the association relied upon may be an active association where the server expressly authorizes an active connection between nodes. In other embodiments, the association relied upon may be a passive association where the master node (a type of managing node) is associated with the other node, but not actively connected to the other node. By virtue of the passive association, the server may be able to keep track of and manage the other node without requiring an active association. Thus, those skilled in the art will appreciate that in still other embodiments, associations relied upon by the server for managing a wireless node network may include both active and passive associations and may be generally authenticated or, more specially, authorize a secure connection that has a degree of protection for the connection and communications using that connection.
FIGS. 23-25 provide flow diagrams of exemplary methods for association management of a wireless node network having at least a plurality of nodes and a server in accordance with different embodiments of the present invention involving active and passive association examples. Those skilled in the art will appreciate that each of these exemplary methods for association management of a wireless node network may be implemented by instructions stored on a non-transitory computer-readable medium, which when executed perform the steps of the respective methods described below (e.g., methods 2300 , 2400 , and 2500 ) and the described variations of those methods.
Referring now to FIG. 23 , method 2300 begins by identifying a first node as a potential for actively associating with a second node at step 2305 . In one example, identifying the nodes for association may involve reviewing a message sent by the first node to determine status information related to the first node, and analyzing the status information to determine whether the first node should be associated with the second node. In a further example, the status information may comprise one of a plurality of different status levels indicating whether the first node is requesting a connection to the second node when at that particular status level.
Next, an association request is transmitted to the server in step 2310 . In one example, the association request may identify the first node and second node to be associated and may request transmission of one or more appropriate security credentials (e.g., PIN credentials, security certificates, keys, and the like) that may be used by the nodes to enable the first and second node to securely connect and share data as part of associating. An embodiment may request only one credential as an authorization credential from the server. Other embodiments may use two credentials where one may be later uses as a credential with which to reply to challenges. For example, if an ID node is challenged, the ID node may send a reply authorization credential so that the master node can confirm the response and supply the ID node with the appropriate security credential for the authorized association. In some cases, an ID node may have been supplied with such a reply authorization credential (also generally referred to as a key) by the server.
At step 2315 , the second node receives a permissive response from the server related to the association request. In an example, the permissive response may include receiving a first authorization credential and a second authorization credential from the server (which may be stored on the nodes). As such, the first authorization credential and the second authorization credential may be created by the server as a type of security data, and may be provided to authorize connecting the first node and the second node and securely sharing information between the first node and the second node.
With this authorization from the server, the first node and second node may be associated at step 2320 . In one example, the method 2300 may associate the nodes by establishing an authorized connection from the second node to the first node based upon the authorization credential. And the method 2300 may securely provide shared data between the first node and the second node according to a profile established by the server after the first and second nodes are associated.
In an embodiment, the method 2300 may also comprise having the second node gaining responsibility for a task after the second node is associated with the first node when responsibility for the task was previously with the first node. For example, when the second node is powered by an external power source and the first node is powered by a battery, this may advantageously shift the responsibility to a node that is better suited to perform the task (e.g., has more power available or has a power source that does not need recharging or replacing).
›DESCRIPTION OF THE EMBODIMENTS · 21 of 71
FIG. 24 is a flow diagram illustrating another example method for association management of a wireless node network in accordance with an embodiment of the invention from the perspective of the server. Referring now to FIG. 24 , method 2400 begins with the server receiving an association request sent from a second of the nodes at step 2405 . The association request asks for permission to associate a first of the nodes to the second node.
At step 2410 , the server determines a location (actual or relative) of the first node and second node. In one embodiment, the server may receive location data for the second node. For example, when the second node is a master node, the location data for the second node may be GPS coordinates for the current location of the master node, which provides this to the server. And in an embodiment, the server may determine a location of the first node using at least one of a plurality of location methods available to the server for locating the first node, such as those discussed in detail above (or a combination of such methods so that a more refined location of the first node is determined).
At step 2415 , the server determines if associating the first node to the second node is desired based at least upon the location of the first node and the location of the second node. In one embodiment, it may be determined if associating is desired by determining if associating the first node to the second node is anticipated based upon context data. In another embodiment, it may be determined if associating is desired by identifying a current mode of filtering that limits potential nodes to be associated, and granting the permission to associate the first node to the second node only if the current mode of filtering allows the first node to be associated with the second node. For example, this may involve granting the permission only if the current mode of filtering defines that the second node is within a locational range of the first node consistent with the current mode of filtering. This may be defined by a particular filtering mode, such as a local, regional, or global filtering mode that operates to restrict nodes that may associate with other nodes. As such, the method may alter the current mode of filtering to another mode of filtering that allows the first node to be associated with the second node as a sort of override of the current filtering mode (e.g., depending upon an alert status of the first node).
At step 2420 , the server records new association data if it is desired to associate the first node with the second node at step 2420 . At step 2425 , the server transmits a response to the second node granting the permission to associate the first node to the second node. In an embodiment, the server may first generate an authorization credential that authorizes connecting the first node and the second node and sharing information between the first node and the second node. This may be by looking up the credential information or by going through a process to create specific an authorization credential that allows the two nodes to actively pair and share data. With the authorization credential, the server may transmit them as the response.
In another example, the server may have pre-staged an authorization credential related to the second node and a third node if the server anticipates the second node will disassociate with the first node and later request to associate with the third node. For example, this may be done if the context indicates the second node (e.g., a master node) may be placed in a container and need to connect with the third node in the future when the second node may lose its connection to the server.
Method 2400 may also include the server receiving shared data from the second node. The shared data may originate from the first node or may have parts that originate from both the first and second nodes. For example, the second node may have received the permission to associate, and actively paired with the first node in a secure manner. The first node may have indicated it has data to upload (e.g., sensor data), and the second node may receive the data from the first node. Subsequent to that sharing, the second node may upload the shared sensor data from the first node by transmitting it to the server.
The method may further comprise instructing the second node to take over responsibility for a task previously performed by the first node after the second node is associated with the first node. For example, when the second node is powered by an external power source and the first node is powered by a battery, the responsibility for certain tasks may be taken over by the node with a more robust power supply (e.g., the node powered by an external power source).
In more detail, the responsibility for certain tasks may be established, tracked and changed with a programmable profile. For example, in one embodiment, the server may establish a profile for how long the task responsibility would change. In some cases, the profile may define a period of time for how long a node having this profile would have responsibility for a certain task before it would revert back to a default node. In another example, a node (such as a master node) may have a default condition trigger (like a low power situation or when it cannot communicate with the server) that can override such a profile so that it does not take on more responsibilities under particular conditions.
Furthermore, an embodiment may have the master node deciding what other node may take on responsibility for certain tasks. This may be helpful in situations where access to the server may be limited (e.g., an airborne environment). However, managing such a profile may be more easily accomplished in other embodiments with easier access to more types of context data on the server level.
In an embodiment that implements association management as a system, such an exemplary system for association management of a wireless node network may comprise a first node, a second node, and a server. The second node includes a node processing unit, a node volatile memory coupled to the node processing unit, a first communication interface coupled to the node processing unit, and a second communication interface coupled to the node processing unit. The first communication interface provides a short-range communication path between the first node and the second node and the second communication interface provides a longer range communication path between the second node and the server.
›DESCRIPTION OF THE EMBODIMENTS · 22 of 71
The server includes a server processing unit, a server volatile memory coupled to the processing unit, and a third communication interface that provides a longer range communication path between the server and the second communication interface of the second node.
The node volatile memory maintains at least a first program code section (e.g., master control and management code 425 or parts thereof) while the server volatile memory maintains at least a second program code section (e.g., server control and management code 525 or parts thereof).
When executing the first program code section resident in the node volatile memory, the node processing unit of the second node is operative to identify the first node as a potential for associating with the second node, transmit an association request over the second communication interface to the server, receive an association response (having at least authorization information generated by the server) over the second communication interface from the server, provide the authorization information to the first node, and associate the first node and the second node.
In one example, the node processing unit may be further operative to review status information related to the first node to determine whether the first node desires association with the second node. In another example, the node processing unit may be further operative to securely provide shared data between the first and second node after the first and second node are associated and in accordance with a sharing profile provided by the server. The sharing profile may define types of information to be securely shared between particular nodes.
When executing the second program code section resident in the server volatile memory, the server processing unit is operative to determine a location of the first node and second node, determine if associating the first node to the second node is desired based at least upon the location of the first node and the location of the second node, store new association data in the server volatile memory if it is desired to associate the first node with the second node, and transmit the authorization response to the second node granting the permission to associate the first node to the second node.
In one embodiment, the second node in the system may take over responsibility of a task previously handled by the first node after the second node is successfully associated with the first node. For example, when the second node is powered by an external power source and the first node is powered by a battery, the system may be more effectively and efficiently managed by reassigning a task (especially a task that involves a significant expenditure of power, a series of operations over a significant period of time, or both) to another node, such as the second node, which has more power available than the first node.
In another embodiment, the server processing unit may be further operative to set a current mode of filtering that limits potential nodes to be associated, and grant the permission to associate the first node to the second node only if the current mode of filtering allows the first node to be associated with the second node. In a further embodiment, the server processing unit may be further operative to alter (e.g., override) the current mode of filtering to a different mode of filtering. In this way, the server may adapt how nodes are managed and allow the first node to be associated with the second node if it is desired, such as then the first node is in an alert status level and urgently is requesting connection to a larger group of nodes than permitted under the current mode of filtering.
While the exemplary methods illustrated in FIGS. 23 and 24 focus on active associations, FIG. 25 is a flow diagram illustrating an example method for association management of a wireless node network having at least a plurality of nodes and a server in accordance with an embodiment, but from the perspective of a node that is to be passively associated with another node. Referring now to FIG. 25 , method 2500 begins with a second of the nodes receiving a message broadcasted from a first of the nodes at step 2505 . At step 2510 , the second node captures an address of the first node from the message. At step 2515 , the first node and the second node are associated by storing the captured address of the first node and an address of the second node as association data in a memory of the second node. At step 2520 , the second node transmits the association data to the server.
At some point, the server may be updated by the second node with updated association data when the second node does not receive an additional message broadcast from the first node. For example, the second node and the first node may stay associated and securely connected for a period of time, but eventually the first node may move such that the connection is no longer viable or the first node may move closer to another node along the anticipated path it is traveling (e.g., an anticipated shipping path along a conveyor within a structure from an entry point of the structure but now closer to an exit point of the structure). As the first node travels on the conveyor, it may get closer to another node near the exit point and is better managed by an association with that other node near the exit point. Thus, the updated association data reflects that the first node is disassociated from the second node.
Method 2500 may further include having the second node determining a location of the first node, and updating the server with a current location of the second node and the determined location of the first node. Additionally, method 2500 may include receiving location information from the server that defines a refined location of the first node.
In an embodiment that implements passive association management as a managing node (e.g., a master node) in a wireless node having at least another node and a server, such an exemplary managing node comprises a processing unit, a first and second communication interface each coupled to the processing unit, a volatile memory coupled to the processing unit, and a memory storage coupled to the processing unit. The first communication interface provides a first communication path to the other node, can receive a message broadcast from the other node, and provide the message to the processing unit. The second communication interface providing a second communication path to the server.
›DESCRIPTION OF THE EMBODIMENTS · 23 of 71
The memory storage may maintain at least a node association manager module as program code to be executed by the processing unit. When the processing unit loads the module into volatile memory and executes instructions of the module, the processing unit is operative to receive the message from the first communication interface, capture an address of the another node from the message, store the captured address of the another node and an address of the managing node as part of association data in the memory storage, and transmit the association data to the server through the second communication interface.
In one example, the memory storage also maintains a location manager module and, when the processing unit also loads the location manager module into volatile memory and executes instructions of that module, the processing unit is operative to determine a location of the other node, determine a current location of the managing node (e.g., via GPS location signals), and update the server with the current location of the managing node and the determined location of the other node.
The managing node may be further operative to update the server with updated association data when the first communication interface does not receive an additional message broadcast from the other node. The updated association data may reflect that the other node is disassociated from the managing node.
Context Management within a Wireless Node Network
As explained above in general, management of nodes may rely upon the contextual environment of the nodes. As shown in FIG. 5 , server 100 has access to a wide variety of different context data 560 . Context data, such as data 560 , may include a wide variety of data that generally relates to the environment in which the nodes are operating and may be used to advantageously provide enhanced node management capabilities in accordance with embodiments of the present invention. As such, the use of such context data provides a data foundation in an embodiment so that the server may better and more efficiently implement management tasks related to nodes in the network, and adjust such tasks to account for relevant context data as nodes move within the network (e.g., as an ID node moves with an item being shipped along an anticipated or predicted transit path from an origin to a destination). For example, the server take advantage of its ability to rely upon relevant context data to advantageously alter how it instructs a node operate, how it associates a node with the another node, how it can better locate a node, and how it can more efficiently track and respond to requests to report the location of the node.
FIG. 26 is a flow diagram illustrating an exemplary method for context management of a wireless node network in accordance with an embodiment of the invention. Referring now to FIG. 26 , method 2600 begins at step 2605 by identifying, by the server, at least one of the nodes. In one example, such as that shown in FIG. 22 a , server 100 may identify ID node A 2220 a as part of communications received from master node M 1 2210 a . At step 2610 , the server determines context data that relates to an operating environment of the identified node as the identified node moves within the operating environment.
In one embodiment, the context data may include one or more types of data, such as scan data, historic data, shipment data, RF data, and layout data. For the example shown in FIG. 22 a , server 100 may access context data 560 (which may be kept in context database 565 ) to determine parts of the context data 560 that relate to the operating environment of ID node A 2220 a . Such context data 560 may include, in this example, shipment data that relates the item being shipped that is connected to ID node A 2220 a , scan data for when the item connected to ID node A 2220 a was scanned upon entering structure 2200 , historic data for how long it takes a node to traverse the conveyor located within structure 2200 , and layout data on dimensions of structure 220 . Those skilled in the art will appreciate that context data may include operational environment information created within the wireless node network or created by a third party (e.g., weather information related to the operating environment of ID node A 2220 a ).
While the server determines context data that relates to an operating environment of the identified node in one embodiment, such a current or anticipated operating environment for a node in a more detailed embodiment may include one or more types of environments. For example, the current or anticipated operating environment for a node may include an electronic communication environment, a physical environment of an anticipated path along with a node moves, a conveyance environment related to how a node moves, and a density environment related to the density of nodes within an area near a particular node identified by the server.
Back at step 2610 , the determining step may involve determining the context data that relates to an anticipated operating environment of the identified node as the identified node moves in a predicted path towards a location of another node. In another example, the determining step may involve determining the context data that relates to the anticipated operating environment of the identified node and an anticipated operating environment of the another node as the identified node moves in the predicted path towards the another node for an expected association with the another node
At step 2615 , the server performs a management task related to the identified node with an adjustment made to account for the determined context data. When the determined context data (such as RF signal degradation information) indicates that no adjustment is actually needed when performing the task, no adjustment is made given the determined context data. Thus, those skilled in the art will appreciate that an adjustment may be made when needed contextually and is not required at all times.
›DESCRIPTION OF THE EMBODIMENTS · 24 of 71
In one embodiment, performing the management task may comprise generally instructing the identified node to alter its operation based upon the determined context data. For example, server 100 may perform the management task of instructing ID node A 2220 a to change its connectable and non-connectable intervals as it approaches master node M 1 (which server 100 knows from context data, such as scan data generated when node A entered structure 2200 ). Thus, in this example, server 100 is able to leverage enhanced visibility of ID node A 2220 a based upon context data and advantageously alter the operation of node A to increase the node's chance of successfully associating with master node M 1 2210 a.
In other embodiment, performing the management task may comprise associating the identified node with another node with the adjustment made to alter an associating parameter based upon the determined context data. In other words, context data may be helpful as part of associating nodes. In one example, the associating parameter may include at least one altered timing interval related to associating the identified node with the other node, such as an alert interval or connectable interval. These intervals are parameters that may be altered as part of adjustments made when a server associates two nodes and, for example, sets the intervals to more appropriate time durations in order to enhance the chance and opportunity the nodes have to actively pair and securely share data as needed.
In yet another embodiment, performing the management task may comprise locating the identified node with an adjustment made to a power setting based upon the determined context data. In one example, the power setting adjustment is done to a master node in direct communication with the server. In another example, the power setting adjustment may be done to an ID node, which is passed this operational adjustment information from another node. In one embodiment, the power setting itself may comprise an output power level adjusted to account for an adverse condition in the operating environment of the identified node (e.g., a master node with an adjusted RF output signal level). The adverse condition may be, for example, an adverse RF communication environment where structure attenuates or otherwise impedes normal RF communications. In another example, the adverse condition may be a highly dense population of nodes close to the identified node.
In more detail, the output power level may be adjusted to account for a shielding condition in the operating environment of the first node. Such a shielding condition may be caused, for example, by one or more of packaging, package contents, proximate package, proximate package contents, and physical infrastructure in the operating environment of the first node. For example, if the identified node is located near a metal container, it is operating in an adverse RF communications environment where it may have its output power level increased based on this context data in order to better deal with the adverse shielding condition.
In still another embodiment, performing the management task may comprise providing the location of the identified node in response to a request received by the server related to a status of the identified node. For example, if server 100 receives a request from user access device 205 about the status of ID node A 2220 a , server 100 is able to provide the location of node A as being within structure 2200 , but refined as being close to the entry of the structure given the adjustment to account for contextual data, such as scan data related to the item being shipped with node A 2220 a.
Those skilled in the art will appreciate that method 2600 as disclosed and explained above in various embodiments may be implemented on a server, such as server 100 illustrated in FIGS. 5 and 22A , running one or more parts of server control and management code 525 (e.g., the context based node manager). Such code may be stored on a non-transitory computer-readable medium such as memory storage 515 on server 100 . Thus, when executing code 525 , the server's processing unit 500 may become unconventionally operative to perform operations or steps from the exemplary methods disclosed above, including method 2600 and variations of that method.
Node Location Determination Methodologies
As part of managing and operating a wireless node network in accordance with one or more embodiments of the invention, such as tracking ID node A 2220 a in FIGS. 22A-C , determining a node's location is performed. As explained above, an exemplary ID node may be directly or indirectly dependent on a master node to determine its location. In the embodiments discussed and described herein, a location of a node may generally encompass a current or past location. For example, an embodiment that determines a node's location may be a current location if the node is not moving, but may necessarily determine the location as a past location should the node be in a state of motion.
Likewise, the term location alone may include a position with varying degrees of precision. For example, a location may encompass an actual position with defined coordinates in three-dimensional space, but use of the term location may also include merely a relative position. Thus, the term location is intended to have a general meaning unless otherwise expressly limited to a more specific type of location.
Determining node location may done by a master node alone, the server alone, or the master node working together with the server. And on such devices, embodiments may use one or more methodologies to determine a node's location and further refine the location. Such example methodologies may include, but are not limited to, determining node location may relate to controlling an RF characteristic of a node (e.g., an RF output signal level and/or RF receiver sensitivity level), determining relative proximity, considering association information, considering location adjustments for context information and an RF environment, chaining triangulation, as well as hierarchical and adaptive methods that combine various location methodologies. A more detailed description of these exemplary node location determination techniques is provided below.
›DESCRIPTION OF THE EMBODIMENTS · 25 of 71
Location Through Proximity
In one embodiment, a signal strength measurement between two or more nodes may be used to determine the proximity of the nodes. If neither node's actual location is known, one embodiment may infer a location relationship of the two nodes through proximity.
Proximity when Varying Power Characteristics
For example, an exemplary method of determining a node's location in a wireless node network of nodes may involve varying a node's power characteristic, such as the output power of one of the nodes. Generally and as explained with reference to FIG. 13 , the power characteristic may be varied to identify closer ones of the nodes to the node broadcasting. The node broadcasting may transmit one or a series of signals while other nodes may report receiving one or more of the signals. Those other nodes that receive at least one signal broadcast from the transmitting node may be deemed part of a close group of nodes. And as the power characteristic is varied (increased or decreased or both), a closest group of nodes (or single node) may be identified as the smallest group of nodes of those that receive at least one signal from the broadcasting node. Accordingly, while not absolute, a type of location for the broadcasting node may be determined based on the closest one or group of nodes. This may be repeated for neighboring nodes to yield a set of closest node information for each of the nodes. In more detail, an exemplary set of closest node information for each of the nodes may include which nodes are closest (via the lowest power characteristic) and more robustly supplement this information with which other nodes are incrementally further away (via increasingly larger power characteristics). Thus, the set of closest node information provides the basis for a determination of how close the nodes in the network are to each other, which provides a type of location determination for each node.
Additionally, context data may be referenced in certain embodiments to further enhance determining how close the nodes are to each other. For example, combining the set of closest node information with context data, such as scan information that registers when an item changes custodial control in a delivery system, may further refine how to determine the location of the nodes. Scan and other context information will help determine if one or more of the nodes, for example, are known to be in the same container, vehicle or moving on a belt together. Thus, this type of context data may be integrated into a further step of refining how close the nodes are to each other based upon the context data.
In general, a location of a node based upon proximity may be determined when a power characteristic of nodes is changed or varied in a wireless node network. FIG. 28 is a flow diagram illustrating an exemplary method for location determination by varying a power characteristic of nodes in a wireless node network in accordance with an embodiment of the invention. Referring now to FIG. 28 , method 2800 begins by at step 2805 by instructing a first of the nodes to vary the power characteristic for one or more signals broadcast by the first node. In a more detailed embodiment, such an instruction may cause the first node, for example, to incrementally decrease or incrementally increase the power characteristic (such as an output power level) between values.
At step 2810 , method 2800 continues by identifying a first group of other nodes in the wireless node network that are near the first node based upon those of the other nodes that received at least one of the signals broadcast by the first node as the first node varies the power characteristic. In a further embodiment, step 2810 may incrementally identifying which of the first group of other nodes are receiving at least one of the broadcast signals as the first node incrementally varies the output power level of the signals broadcast. The incrementally identified nodes may be deemed a set of increasingly close nodes to the first node.
At step 2815 , method 2800 continues by identifying a closest one or more of the other nodes as a smallest group of the other nodes that received at least one of the one or more signals broadcast by the first node as the first node varies the power characteristic.
At step 2820 , method 2800 concludes by determining a location of the first node based upon the closest one or more of the other nodes. Thus, as the power characteristic is varied, the group of nodes that have received at least one of the signals broadcast by the first node may change and the smallest such group being a closest group of nodes (even if just one node) to the first node. In a more detailed embodiment, step 2820 may comprise determining the location of the first node based upon the closest one or more of the other nodes and the set of increasingly close nodes to the first node as the set of increasingly close nodes provides more detailed proximity information for a refined location determination.
For example, referring to FIG. 14 , the set of increasingly close nodes to the ID node F 920 f may include node M 3 as being farthest away and M 1 being closer than M 3 . When the power characteristic of ID node F incrementally decreases, and its output power level changes from P 1 to P 2 , M 3 can no longer receive the signal, but M 1 and M 2 still do. And as the power characteristic of ID node F continues to incrementally decrease, and its output power level is changed from P 2 to P 3 , M 1 can no longer receive the signal, but only M 2 does as the last of the nodes closest to ID node F. Thus, in this example, determining the location of ID node F may be based upon the fact that M 2 is the closest node and the set of increasingly close nodes include M 1 and M 3 with M 1 being closer than M 3 .
In another embodiment, one or more further refinements to the first nodes location may be performed. In one example, steps 2805 - 2820 may be repeated where a second of the nodes is instructed to vary the power characteristic for one or more signals broadcast by the second node, and then method 2800 may further refine the location of the first node based upon a location of the second node. In a more detailed example, steps 2805 - 2820 may be repeated where a second of the nodes is instructed to vary the power characteristic for one or more signals broadcast by the second node, and then method 2800 may further the location of the first node based upon a location of the second node and a set of increasingly close nodes to the second node. With this increasingly cross-related information on what nodes are closer to other nodes and to what degree, which may be further repeated for additional nodes, embodiments may further refine the location of the first node within the network.
›DESCRIPTION OF THE EMBODIMENTS · 26 of 71
Method 2800 may further include determining context data related to the first node, and refining the location of the first node based upon the context data. In an embodiment where the power characteristic is output power level, the incremental changes in the output power level of the broadcast signal in steps 2805 - 2815 may be set according to the context data.
Method 2800 may also determine the context data to be related to the closest node to the first node, and refine the location of the first node based upon the context data. In still another example, method 2800 may determine the context data to be related to the incrementally identified nodes in the set of increasingly close nodes to the first node, and refining the location of the first node based upon the context data. For example, the closest node and the set of increasingly close nodes may have scan data that indicate they are within the same container. This exemplary context data may be used to further refine the location of the node being located, which may help efficiently determine that node is near the container. As such, those skilled in the will appreciate that context data for the node being located as well as nodes identified to be close to that node may provide relevant input to advantageously help further refine the location of the node.
Those skilled in the art will appreciate that method 2800 as disclosed and explained above in various embodiments may be implemented on a server apparatus, such as server 100 illustrated in FIGS. 5 and 22A , running one or more parts of server control and management code 525 (e.g., the location manager). Such code may be stored on a non-transitory computer-readable medium such as memory storage 515 on server 100 . Thus, when executing code 525 , the server's processing unit 500 may be programmatically transformed to become unconventionally operative to perform operations or steps from the exemplary methods disclosed above, including method 2800 and variations of that method.
An embodiment of such a server apparatus may include a server (such as server 100 ) operative to communicate with a plurality of nodes in the wireless node network. As explained with respect to FIG. 5 , the server generally includes a server processing unit, a server volatile memory, a server memory storage, and at least one communication interface. In this embodiment, the volatile memory, memory storage, and communication interface are each coupled to the processing unit. The memory storage maintains at least a program code section and location data related to a location of one or more of the nodes. The communication interface provides a communication path operatively coupling the server with the nodes.
The server processing unit, as mentioned above, is operative when running the program code section, to perform the steps and operations as described above relative to method 2800 and variations of that method described above.
Proximity when Observing Signal Patterns and Strengths Over a Time Period
In another embodiment, an improved method for determining a node's location through proximity may include analyzing the signal patterns and strengths between an advertising node and a listening node. In one embodiment, a threshold may be set for association based on an observed message count and/or recorded signal strength within a specific time period may improve the ability to locate a node (e.g., an ID node) to that of another node (e.g., a master node). In some embodiments, the observed message count may be implemented as an averaged count over a repeated time periods. Further still, other embodiments may filter outlying observations in the observation data set to help improve the quality of data relied upon for setting a threshold for association and, as a result, determine a node's location.
In a more detailed example, an improved method for determining a node's location through proximity may show captured advertising message counts as a component for a node's location and determining a node's direction of travel. In this example, two exemplary master nodes (e.g., master node M 1 910 a and M 2 910 b ) may capture advertising messages from one ID node (e.g., ID node A 920 a ). Master node M 1 may observe and capture (e.g., record information related to the observation) 60 messages from ID node A within a 2 minute period, while master node M 2 only observes and captures 7 advertising messages from ID node A within that same period. Based upon the difference in how often messages are observed from ID node A by master node M 1 compared to those observed by master node M 2 , the system is able to determine that ID node A would more proximate to master node M 1 , and it's known location.
In a further embodiment, comparing the average time stamp of the captured records may allow the system can make a more accurate determination of location. For example, if the average captured message found on master node M 2 is increasingly growing larger (e.g., taking longer for messages to go from ID node A to master node M 2 ), this indicates ID node A is moving away from master node M 2 . If the average captured message found on master node M 2 is growing increasingly larger while the average captured message found on master node M 1 is increasingly growing smaller, this indicates ID node A is moving away from master node M 2 and toward master node M 1 . Thus, over a number of observed time periods, the change in message timing (transmission to reception) may also be relied upon to enhance or refine a node's location.
In yet another embodiment, the observed signal strength may be a component in location determination and estimating direction of travel and may allow the system can make a more accurate determination of location. For example, two master nodes (M 1 910 a and M 2 920 b ) may be capturing advertising messages from a node (ID node A 920 a ). M 1 captures 60 messages from ID node A within 2 minutes, while M 2 captures only 7 messages. The average signal strength observed for signals from ID node A by master node M 1 is higher compared to the average signal strength observed by master node M 2 . Based upon this observed signal strength information, the system would determine that ID node A to be at M 1 , but a predicted path may indicate ID node A is heading towards M 2 . As the master nodes M 1 and M 2 continue to capture records, the system (e.g., management code 524 operating on server 900 , which is in communication with M 1 and M 2 ) processes the continued feed of capture records from M 1 and M 2 . With this observed signal strength information, the server 900 would expect that the count and average signal strength of messages from ID node A over the time period observed (2 minutes) to increase for observations at M 2 and to decrease for observations at M 1 when ID node A is physically moving closer to M 2 and away from M 1 . Thus, the change in observed powers levels and in how often messages are observed may indicate actual node movement in an embodiment.
›DESCRIPTION OF THE EMBODIMENTS · 27 of 71
Basing node proximity location and node directional determinations on observed signal patterns and characteristic strengths over a period of time has the advantage of reducing the likelihood of unwanted and spurious signal anomalies causing an ID node's location to be incorrectly determined. And the above exemplary methods for determining movement characteristics of a node (e.g., moving closer to one node, moving closer to one but away from another, etc.) as part of refining the node location may be applied in combination with the various embodiments for determining node location described herein.
FIG. 27 is a flow diagram illustrating an exemplary method for proximity locating a node in a wireless node network based upon observed signal patterns and characteristic indications over a period of time in accordance with an embodiment of the invention. Referring now to FIG. 27 , method 2700 begins at step 2705 by instructing a first and a second other nodes to detect any message broadcast from the one node over a period of time. The period of time may be set based upon a variety of factors, such as context data. In more detail, the period of time may be dynamically changed based upon context data as the one node moves into different contextual environments.
Method 2700 has the server receiving a first indication from the first other node at step 2710 and receiving a second indication from the second other node at step 2715 . Finally, the method 2700 determines a location of the one node based upon a difference in the first indication and the second indication at step 2720 .
The first indication is related to a characteristic of messages broadcast from the one node that are detected by the first other node during the period of time. Likewise, the second indication is related to the characteristic of messages broadcast from the one node that are detected by the second other node during the period of time. These indications may include, for example, a count of messages received by the respective other nodes, a transit time factor (e.g., an average transit time for a message to be detected after broadcast), and an average signal strength.
In one embodiment, the first indication may be a first count of messages broadcast from the one node that are detected by the first other node during the period of time, and the second indication may be a second count of messages broadcast from the one node that are detected by the second other node during the period of time. As such, determining the location of the one node may be the location that is closer to the first other node than the second other node when the first count is greater than the second count. Additionally, the method 2700 may further include determining an actual node movement direction for the one node based upon comparing the first count and the second count over a plurality of time periods. For example, the method 2700 may repeat observations over several of these time periods and track the first count and second count over time to determine which is increasing, which is decreasing, and determine movement of the one node based upon these measurements over time.
In another detailed embodiment, the first indication may be a first time factor of messages broadcast from the one node that are detected by the first other node during the predetermined time period, and the second indication may be a second time factor of messages broadcast from the one node that are detected by the second other node during the period of time. And an actual node movement direction for the one node may be based upon comparing the first time factor and the second time factor. In a more detailed embodiment, the first time factor may be an average transit time for a message detected at the first other node to go from the one node to the first other node, and the second time factor is an average transit time for a message detected at the second other node to go from the one node to the second other node. As such, determining the location of the one node may be that the location is closer to the first other node than the second other node when the first time factor is less than the second time factor.
In yet another embodiment, the first indication may be a first average signal strength of messages broadcast from the one node that are detected by the first other node during the period of time, and the second indication may be a second average signal strength of messages broadcast from the one node that are detected by the second other node during the period of time. As such, determining the location of the one node may be that the location is closer to the first other node than the second other node when the first average signal strength is greater than the second average signal strength.
The method 2700 may also include, in an embodiment, observing a degree of change in the first average signal strength and a degree of change in the second average signal strength over repeated time periods, and determining an actual node movement direction for the one node based upon comparing the degree of change in the first average signal strength and the degree of change in the second average signal strength.
In another embodiment, the method 2700 may also refine the determined location of the one node. In this embodiment, the method 2700 may further comprise refining the location of the one node based upon at least one of a first updated location received from the first other node and a second updated location received from the second other node. For example, when first other node is a mobile master node and it is the closer of the two nodes to the one node being located, the embodiment can take advantage of the location signaling onboard the first other node that provides the current location of the first other node. That current location data may be transmitted by the first other node to the server to update the server in its calculation of the location for the one node.
In still another embodiment, the method 2700 may layer context data with the determined location to refine the location of the node. Context data related to the one node may be determined by the server, and so the location of the one node may be refined based upon that context data. In another example, context data related to the closer of the first other node and the second other node when compared to the location of the one node. For example, the server may be aware that a particular master node is closer to the one node compared to a second master node, and that the particular master node is within a container. With this additional context data related to the particular master node, the server may refine the location of the one node based upon the context data. Other exemplary types of relevant context data may be relied upon when refining the location of the one node, such as context data of a particular shielding associated with the environment near the particular master node (e.g., a particular type of ULD having known RF shielding characteristics, etc.)
›DESCRIPTION OF THE EMBODIMENTS · 28 of 71
Additionally, the method 2700 may involve looking to see if the one node is behaving as expected. More specifically, a further embodiment of the method 2700 may further compare the location of the one node to a predicted path of the one node to determine if the one node is located outside the predicted path. This may allow the server to use learned, historic data when creating a predicted path, and keep track of the one node relative to being within an acceptable range associated with this predicted path. The method may also generate a notification if the one node is outside the predicted path. In this manner, actionable tasks can then be taken to locate the one node—e.g., changing filter mode options for nodes in that general area, etc.
Those skilled in the art will appreciate that method 2700 as disclosed and explained above in various embodiments may be implemented on a server, such as server 100 illustrated in FIGS. 5 and 22A , running one or more parts of server control and management code 525 (e.g., the location manager). Such code may be stored on a non-transitory computer-readable medium such as memory storage 515 on server 100 . Thus, when executing code 525 , the server's processing unit 500 may be programmatically transformed to become unconventionally operative to perform operations or steps from the exemplary methods disclosed above, including method 2700 and variations of that method.
Association Driven Locating with Variable RF Characteristics
As noted above, a signal strength measurement between two or more nodes may be used to determine relative distance between nodes. If one of the nodes has a known location (such as master node M 1 910 a ), a relative location of one or more nodes within a range of the known location node is generally a function of how accurate the system may determine a distance between the node with known location and associated nodes. In other words, an embodiment may identify a relative location of an item and its related node by relying upon association-driven variable low-power RF output signals to determine a distance the node is from a known location.
Location Determination Through Master Node Advertise
As generally mentioned above, determining node location may relate to controlling an RF characteristic of a node (e.g., an RF output signal level and/or RF receiver sensitivity level) and, more specifically, may involve aspects of controlling master node advertising. FIG. 13 is a diagram illustrating an exemplary location determination using master node advertise in accordance with an embodiment of the invention. In the illustrated embodiment shown in FIG. 13 , a master node, such as master node M 1 910 a , with a known location is broadcasting an advertising message at varying RF output power levels. FIG. 13 illustrates the exemplary different RF output power levels as concentric ranges 1305 - 1315 about master node M 1 910 a . Thus, master node M 1 910 a may broadcast at a maximum power P 1 , related to range 1305 , but may control the RF output power level and dynamically change the RF output power level to P 2 and broadcast at a smaller range 1310 , or to P 3 and broadcast to an even smaller range 1315 .
In the illustrated embodiment, receiving ID nodes A-E 920 a - 920 e are in query (scan) mode and can each use the received signal at different levels to determine how far away from the transmitting M 1 they are located. Those skilled in the art will appreciate that while the illustrated embodiment shown in FIG. 13 has the receiving nodes all as ID nodes, other embodiments may have receiving nodes be either master or ID nodes or a mixture.
In the exemplary embodiment of FIG. 13 , the location for nodes A-E may be determined based upon the known location of master node M 1 910 a . That location, plus a range measurement when each of respective receiving nodes A-E last receives a signal from node M 1 , and factoring in a confidence factor of the range measurement, provides a location determination for the nodes according to variable RF signal power. Depending on a quality of the range measurement, the individual receiving nodes may or may not have an individually calculated location. In yet another embodiment, if third party or context data, such as scan information, is available, a refined location may be determined using such data as an additional confidence factor. As the communication range of M 1 is limited from P 1 to P 3 , the accuracy of location by association goes up.
In the illustrated example of FIG. 13 , an exemplary method of determining a node's location may be described that uses master node advertising. First, when the master node M 1 's variable power short range communication interface 480 is set to P 1 , its maximum output, master node M 1 910 a is seen by each of ID nodes A-E 920 a - 920 e . Based upon analytics or historic measurements, the open air performance (optimal range) of the radio in M 1 's variable power short range communication interface 480 at P 1 power level may have been previously been found to be approximately 30 feet. Thus, without the need to examine RSSI levels from the individual ID nodes A-E 920 a - 920 e and without the need for active calibration phases, the system may know that ID nodes A-E are within 30 feet of master node M 1 910 a.
Next, when the master node M 1 's variable power short range communication interface 480 is set to P 2 , a medium output level in this example, master node M 1 is seen by nodes A and B. From previous analytics or historic measurements, it was determined the open air performance (optimal range) of the master node M 1 's variable power short range communication interface 480 running at P 2 power level is approximately 15 feet. Thus, without the need to examine RSSI levels from the individual nodes, we know ID nodes A 920 a and B 920 b are within 15 feet of master node M 1 . Furthermore, we know the ID nodes no longer receiving the broadcasted RF signal from master node M 1 910 a (e.g., ID nodes C 920 c , D 920 d , and E 920 e ) are somewhere within 30 feet of master node M 1 910 a , but probably more than 15 feet away from M 1 .
›DESCRIPTION OF THE EMBODIMENTS · 29 of 71
And when the master node M 1 's variable power short range communication interface 480 is set to P 3 , its minimum output level in this example, it is seen by ID node B 920 b . From previous analytics or historic measurements, it was determined the open air performance (optimal range) of the master node M 1 's variable power short range communication interface 480 running at P 3 power level is approximately 5 feet. Thus, without the need to examine RSSI levels from the individual ID nodes, we know the location of ID node B 920 b is within 5 feet of the known location of master node M 1 910 a.
The ranging steps, as discussed in the example above, may then be repeated for any of the identified nodes in order to build a more accurate picture of the relative location of each node. The granularity of RF characteristic settings (e.g., the RF output signal power level setting) will provide more granularity of location differentiation when performing the ranging steps. In one embodiment, the ranging steps may be performed over a set of gross RF characteristics settings (e.g., few settings over a wide range), and similar steps may then be performed over more select ranges for the RF characteristics settings.
FIG. 29 is a flow diagram illustrating an exemplary method for location determination using one or more associations of nodes in a wireless node network in accordance with an embodiment of the invention. Referring now to FIG. 29 , method 2900 begins at step 2905 where a first of the nodes broadcasts one or more first messages at a first anticipated or predicted range distance. In one embodiment, the first anticipated range distance is an optimal range for the first node. For example, the first node's radio in its communication interface may have a maximum setting to allow the node to broadcast at maximized range assuming a clear environment. Such a setting provides a known anticipated range distance. In the example of FIG. 13 , master node M 1 910 a may be broadcasting at a maximum power level P 1 that reaches a first range distance from node M 1 . However, if node M 1 is known to be within an adverse RF shielding environment, the first anticipated range distance may be a distance adjusted to account for the contextual environment of such shielding (e.g., a type of context data). Anticipated range distances may be adjusted depending upon one or more types of relevant context (e.g., one or more types of context data related to how an RF output signal from the node may be impeded).
At step 2910 , method 2900 identifies which of the nodes associated with the first node received at least one of the first messages. In one embodiment, the first node may be able to access and review association data in its onboard memory storage as part of identifying which are the nodes associated with it. In one example, the associations with the first node may be passive associations (e.g., not actively paired and securely connected) or active associations (e.g., actively paired and able to securely connect and share data), or a combination of both types of associations.
Next, at step 2915 , the first node broadcasts one or more second messages at a second anticipated range distance, which is incrementally smaller than the first anticipated range distance. In the example of FIG. 13 , master node M 1 910 a may be the first node and now is broadcasting at a medium power level P 2 that reaches a second anticipated range distance from node M 1 . By incrementally changing the RF power level in this manner, master node M 1 910 a now no longer can reach nodes C-E as shown in FIG. 13 .
At step 2920 , method 2900 concludes by determining a location of one or more of the identified associated nodes that did not receive any of the second messages but received at least one of the first messages, where the location is between the first and second anticipated range distances from the first node. Again, in the example of FIG. 13 , master node M 1 910 a may determine the location of nodes C-E (given they did not receive the message sent out the second anticipated range distance at RF power level P 2 ) to between the first anticipated range distance (when master node M 1 was broadcasting at power level P 1 ) and the second anticipated range distance (when master node M 1 was broadcasting at power level P 2 ) from the known location of master node M 1 .
In one embodiment, the method 2900 may also have the first node broadcasting one or more third messages at a third anticipated range distance (incrementally smaller range than the second anticipated range distance), and determining a location of one or more of the identified associated nodes that did not receive any of the third messages but received at least one of the second messages, where the location is approximately near the second anticipated range distance from the first node. Again, in the example of FIG. 13 , by incrementally changing the power level down to P 1 and broadcasting a third message at an anticipated range distance for that P 1 level, the master node M 1 can determine the location of node A (as node A received the second message but did not receive the third message) to be approximately near the anticipated range distance for P 2 from the location of master node M 1 .
Additional embodiments of method 2900 may also refine such determined locations by updating the location of the first node. In one embodiment, the first node may be a mobile node. As such, refining may involve determining a current mobile location of the first node, and refining the location of the one or more of the identified associated nodes that did not receive any of the second messages but received at least one of the first messages based upon the current mobile location of the first node. Thus, as the first node moves and updates its own location (e.g., via GPS signals received by location circuitry 475 on a master node), the first node is able to leverage its own updated location and advantageously refine the location of nodes associated with it.
›DESCRIPTION OF THE EMBODIMENTS · 30 of 71
And, in some embodiments, the refined location of associated nodes may be transmitted to a server. This provides an update to the server, and aids in tracking and managing the location of nodes in the network. Again, referring back to the example of FIG. 13 , master node M 1 910 a may take advantage of such a method for locating associated nodes, such as the locations of ID nodes A-E 920 a - 920 e , and update server 100 with this new location data related to the current location of node M 1 and any of the nodes associated with node M 1 .
Those skilled in the art will appreciate that method 2900 as disclosed and explained above in various embodiments may be implemented on a node (e.g., master node 110 a in FIG. 4 , master node M 1 910 a in FIG. 13 , or master node M 1 2210 a in FIG. 22A ) running one or more parts of master control and management code 425 (e.g., the location aware/capture module). Such code may be stored on a non-transitory computer-readable medium, such as memory storage 415 on master node 110 a . Thus, when executing code 425 , the master node's processing unit 400 may be programmatically transformed to become unconventionally operative to perform operations or steps from the exemplary methods disclosed above, including method 2900 and variations of that method.
In another embodiment, a node apparatus is described in a wireless node network that uses location determination by association as described with reference to the steps related to method 2900 . As mentioned above, such as node apparatus may be implemented with a master node having a node processing unit, a node volatile memory, a node memory storage, and a first and second communication interface. Each of the memories and communication interfaces are coupled to the node processing unit. Further, the node memory storage maintains at least a program code section, association data, and location data and, at times, shipping information. The first communication interface provides a first communication path operatively coupling the node with a plurality of other nodes in the network, while the second communication interface provides a second communication path operatively and separately coupling the node with a server in the network.
In this embodiment, the node processing unit is operative to transmit one or more first messages via the first communication interface at a first anticipated range distance, and identify which of the others nodes that are associated with the first node received at least one of the first messages. In one embodiment, the node processing unit may be operative to access the association data in the node memory storage when identifying which of the nodes associated (e.g., passive, active, or both types of associations) with the first node received at least one of the first messages.
The first anticipated range distance may be an optimal transmission range for the first communication interface and, in a more detailed example, may be adjusted based upon context data (e.g., RF shielding inherent from the surrounding environment of the node). In yet another embodiment, the first anticipated range distance and the second anticipated range distance may be adjusted based upon one or more types of context data related to how an RF output signal transmit from the first communication interface may be impeded by an environment of the node.
The node processing unit is also operative to transmit one or more second messages via the first communication interface at a second anticipate range distance (incrementally smaller than the first anticipated range distance) and determine a location of one or more of the identified associated nodes that did not receive any of the second messages but received at least one of the first messages. That location is between the first anticipate range distance from a known location of the node and the second anticipated range distance from the known location of the node. In a further example, the node processing unit may be operative to store the determined location in the node memory storage as part of the location data.
The node processing unit may also be operative to transmit one or more third messages via the first communication interface at a third anticipated range distance (incrementally smaller range than the second anticipated range distance) and determine a location of one or more of the identified associated nodes that did not receive any of the third messages but received at least one of the second messages, where the location is between the second anticipated range distance from the known location of the node and the third anticipated range distance from the known location of the node.
In another embodiment, the node may be mobile and the node processing unit may be further operative to refine the location of the one or more of the identified associated nodes that did not receive the second message but received the first message by updating a location of the first node. In more detail, the node processing unit may be operative to determine a current mobile location of the first node (e.g., check with location circuitry onboard the node for valid GPS signals and a location lock based on such signals), and refine the location of the one or more of the identified associated nodes that did not receive any of the second messages but received at least one of the first messages based upon the current mobile location of the first node. The node processing unit may also be operative to transmit the refined location to the server over the second communication interface.
Location Determination Through ID Node Advertise
While FIG. 13 provides an example of location determination through master node advertising, FIG. 14 focuses on location determination through ID node advertising. In particular, FIG. 14 is a diagram illustrating an exemplary location determination using ID node advertise in accordance with an embodiment of the invention. In the illustrated embodiment shown in FIG. 14 , exemplary ID node F 920 f is in an advertising mode but is without a known location. As with FIG. 13 , FIG. 14 illustrates the exemplary different RF output power levels from ID node F 920 f as concentric ranges 1405 - 1415 about ID node F 920 f . Thus, ID node F 920 f may broadcast at a maximum power P 1 , related to range 1405 , but may control the RF output power level and dynamically change the RF output power level to P 2 and broadcast at a smaller range 1410 , or to P 3 and broadcast to an even smaller range 1415 . Master nodes M 1 -M 3 910 a - 910 c are disposed in various known locations relatively near ID node F 920 f , which has an unknown location. As such, ID node F 920 f may take advantage of the ability to adjust an RF characteristic, such as RF output signal power level, of its own short-range communication interface as part of how the system may determine location of ID node F through ID node advertising.
›DESCRIPTION OF THE EMBODIMENTS · 31 of 71
In the illustrated embodiment, an RF output signal power level of ID node F 920 f may be varied or dynamically adjusted via programmable settings (such as profile settings or parameters) related to operations of variable power short range communication interface 375 . Additionally, while an actual communication range may vary with the surrounding environment, a maximum anticipated communication range of the ID node's transmitter at each power level is known assuming an optimal operating environment or no substantial RF shielding or interference. Thus, a particular power level setting for a broadcasting node is inherently associated with a corresponding anticipated range distance.
In an exemplary method of determining a nodes location using ID node advertising, the RF output signal power level may be varied across multiple power levels to improve location through master node association. In more detail, when the ID node F's variable power short range communication interface 375 is set to P 1 , its maximum output, ID node F 920 f is seen by each of master nodes M 1 - 3 910 a - 910 c . The anticipated open air performance or range distance (optimal range, or range based upon analytics or historic measurements) of the radio in ID node F's variable power short range communication interface 375 at P 1 power level may have been previously been found to be approximately 30 feet. Thus, without any examination of RSSI levels from the individual master nodes, the system knows ID Node F is within 30 feet of master nodes M 1 -M 3 .
Next, when the ID node F's variable power short range communication interface 375 is set to P 2 , a medium output level in this example, ID node F 920 f is seen by master nodes M 1 910 a and M 2 910 b . The anticipated open air performance or range distance (optimal range, or range based upon analytics or historic measurements) of the radio in ID node F's variable power short range communication interface 375 at running at P 2 power level is approximately 15 feet. Thus, without any examination of RSSI levels from the individual nodes, we know master nodes M 1 910 a and M 2 910 b are within 15 feet of ID node F 920 f in this example. Furthermore, we know the master node no longer receiving the broadcasted RF signal from ID node F 920 f (e.g., master node M 3 910 c ) is somewhere within 30 feet of ID node F 920 f , but probably more than 15 feet away from node F in this example.
And when ID node F's variable power short range communication interface 375 is set to P 3 , its minimum output level in this example, ID node F 920 f is seen by only master node M 2 910 b . The anticipated open air performance or range distance (optimal range, or range based upon analytics or historic measurements) of the radio in ID node F's variable power short range communication interface 375 at P 3 power level is approximately 5 feet. Thus, without any examination of RSSI levels from the master nodes, we know the location of ID node F 920 f is within 5 feet of the known location of master node M 2 910 b in this example.
The ranging steps with respect to the changed RF characteristics of an advertising ID node, as discussed in the example above, may then be repeated for any of the identified nodes in order to building a more complete picture of the relative location of each node.
Furthermore, the timing between such ranging steps may vary dynamically depending upon whether the node is moving. Those skilled in the art will appreciate that when moving, a quicker flow through such ranging steps will help to provide better accuracy given the movement of nodes. Thus, the time interval between instructing a node to broadcast one or more messages at a particular power level and then instructing that node to broadcast one or more messages at a different power level may be desired to be shorter when the node is moving, which can be determined based upon context data. For example, the context data may indicate the node is within a node package an on a moving conveyor system. As such, the node is moving relative to fixed master nodes that may be positioned along the conveyor system. Thus, server may have the first node perform the ranging steps where power is varied in relative quick succession compared to a situation where the context data indicates the node is not moving or is substantially stationary.
FIG. 30 is a flow diagram illustrating another exemplary method for location determination using one or more associations of nodes in a wireless node network in accordance with an embodiment of the invention. Referring to FIG. 30 and how it explains a particular way to locate a node using associations and master node one or more master node advertising techniques, method 3000 begins at step 3005 by instructing a first of the nodes to broadcast one or more first messages at a first power level, the first power level being related to a first anticipated range distance. In one example, the first anticipated range distance may be an optimal range for the first of the nodes (e.g., a transmission range that assumes there are no obstructions and a clear signal path between nodes). In another example, the first anticipated range distance may be an optimal range for the first node adjusted based upon context data (e.g., data related to the surrounding RF environment of the first node).
At step 3010 , the method 3000 identifies which of the nodes associated with the first node have known locations at step 3010 . For example, this type of identification may be accomplished by reviewing association data that indicates which of the nodes are associated with the first node (e.g., via passive association, via active association, or via a combination of both), determining which of the nodes are associated with the first node based upon the reviewed association data, and identifying which of those associated nodes have known locations.
The method 3000 continues at step 3015 by determining which of the identified associated nodes received at least one of the first messages. Next, the method 3000 instructs the first node at step 3020 to broadcast one or more second messages at a second power level, where the second power level is related to a second anticipated range distance and the second power level incrementally smaller than the first power level. In a further example, the first anticipated range distance and the second anticipated range distance may be adjusted based upon one or more types of context data related to how an RF output signal from the first node may be impeded.
›DESCRIPTION OF THE EMBODIMENTS · 32 of 71
At step 3025 , method 3000 determines which of the identified associated nodes received at least one of the second messages. Method 3000 concludes at step 3030 where the method determines a location of the first node to be at or between the first anticipated range distance and the second anticipated range distance from each of the identified associated nodes that did not receive at least one of the second messages but received at least one of the first messages.
As mentioned above, determining the node's location may be improved when accounting for movement. As such, an embodiment of method 3000 may instruct the first node to broadcast the one or more second messages within a time interval after instructing the first node to broadcast the one or more first messages. The time interval may be predetermined in some implementations, but also may be a dynamically set parameter in other implementations based upon context data related to the first node. In more detail, the time interval may be reduced from a prior value when the context data related to the first node indicates the first node is moving, but may be increased from a prior value when the context data related to the first node indicates the first node is substantially stationary.
In another embodiment, method 3000 may further include instructing the first node to broadcast one or more third messages at a third power level. Such a third power level is related to a third anticipated range distance and incrementally smaller range than the second anticipated range distance. Thereafter, the method may determining the location of the first node to be at or between the second anticipated range distance and the third anticipated range distance from each of the identified associated nodes that did not receive any of the third messages but received at least one of the second messages.
In another embodiment, method 3000 may comprise refining the location of the first node with an updated location of one or more of the identified associated nodes that did not receive at least one of the second messages but received at least one of the first messages. For example, if the first node is associated with a mobile master node, the location of the first node may be refined with an updated location of the mobile master node (which may be closer to the first node than previously determined).
In a further embodiment, the first node in the operation of method 3000 may not be self-aware of its own location. In another embodiment, the first node in the operation of method 3000 may have been previously self-aware of the location of the first node but may no longer be self-aware of the location of the first node prior to broadcasting the one or more first messages. In more detail, the first node may no longer be self-aware of the location of the first node prior to broadcasting the first message because of a change in the environment surrounding the first node. Such a change in the environment may be, for example, when the first node has moved inside a structure (e.g., building, vehicle, aircraft, container, etc.) that blocks location signals from being received by the first node.
Those skilled in the art will appreciate that method 3000 as disclosed and explained above in various embodiments may be implemented on a node (e.g., master node 110 a in FIG. 4 ) running one or more parts of master control and management code 425 (e.g., the location aware/capture module) to control operations of an ID node (such as ID node F in FIG. 14 ) as part of location determination via ID node advertising. Such code may be stored on a non-transitory computer-readable medium, such as memory storage 415 on master node 110 a . Thus, when executing code 425 , the master node's processing unit 400 may be programmatically transformed to become unconventionally operative to perform operations or steps from the exemplary methods disclosed above, including method 3000 and variations of that method.
From an apparatus perspective, an exemplary node apparatus in a wireless node network that uses location determination by association may comprises a node processing unit, node memory coupled to and used by the node processing unit (e.g., a node volatile memory and a node memory storage). The node memory storage maintains at least a program code section, association data, and location data. The node apparatus further includes a first communication interface that provides a first communication path coupled to the node processing unit and operatively coupling the node with a plurality of other nodes in the network. For example, the master node 110 illustrated in FIG. 4 includes such types of operational structure.
The node processing unit (e.g., processing unit 400 of master node 110 a ), when executing at least the program code section resident in the node volatile memory, is operative to perform specific functions or steps. In particular, the node processing unit is operative to communicate an instruction to a first of the other nodes (e.g., an ID node or master node temporarily operating as an ID node) via the first communication interface to cause the first other node to broadcast one or more first messages at a first power level, where the first power level is related to a first anticipated range distance.
The first anticipated range distance may be an optimal range for the first of the nodes and, in more detail, an optimal range for the first of the nodes adjusted based upon context data. In even more detail, the first anticipated range distance and the second anticipated range distance may be adjusted based upon one or more types of context data related to how an RF output signal broadcast from the first node may be impeded.
The node processing unit is also operative to identify which of the nodes associated with the first node have known locations. To do this, the node processing unit may access and review association data stored on the node memory storage (e.g., data indicating what nodes are passively or actively associated with the first other node), may determine which of the remaining other nodes are associated with the first other node based upon the reviewed association data, and may identify which of the remaining other nodes determined to be associated with the first other node have known locations.
›DESCRIPTION OF THE EMBODIMENTS · 33 of 71
The node processing unit is also operative to determine which of the identified associated nodes received at least one of the first messages, and to communicate another instruction via the first communication interface to the first node to cause the first node to broadcast one or more second messages at a second power level, where the second power level being is to a second anticipated range distance and incrementally smaller than the first power level.
Finally, the node processing unit is operative to determine which of the identified associated nodes received at least one of the second messages, and then determine a location of the first node to be at or between the first anticipated range distance and the second anticipated range distance from each of the identified associated nodes that did not receive at least one of the second messages but received at least one of the first messages.
In a further embodiment, the node processing unit may be operative to communicate a third instruction via the first communication interface to the first node to cause the first node to broadcast one or more third messages at a third power level. The third power level is related to a third anticipated range distance and incrementally smaller range than the second anticipated range distance. Additionally, the node processing unit may then be operative to determine the location of the first node to be at or between the second anticipated range distance and the third anticipated range distance from each of the identified associated nodes that did not receive any of the third messages but received at least one of the second messages.
In still another embodiment, the node processing unit is able to account for movement of the first node with a time interval between instructions sent to the first node. In particular, the node processing unit may be further operative to communicate another instruction via the first communication interface to the first node to broadcast the second messages within a time interval after instructing the first node to broadcast the first messages. In a more detailed example, the time interval may be dynamically set based upon context data related to the first node. In even more detail, the time interval may be programmatically reduced from a prior value when the context data related to the first node indicates the first node is moving (e.g., the first node is on a moving conveyor system) and/or the time value of the interval may be increased from a prior value when the context data related to the first node indicates the first node is substantially stationary (e.g., the node is within a node package recently placed in a storage area).
The node processing unit, in a further embodiment, may be operative to refine the location of the first other node with an updated location of one or more of the identified associated nodes that did not receive at least one of the second messages but received at least one of the first messages, and cause a second communication interface (e.g., medium/long range communication interface 485 coupled to processing unit 400 ) to transmit the refined location to the server.
From a server perspective, FIG. 31 is a flow diagram (similar to FIG. 30 ) illustrating yet another exemplary method for location determination using one or more associations of nodes in a wireless node network in accordance with an embodiment of the invention. Those skilled in the art will appreciate that while a server may operate to implement the steps as laid out in method 3000 and discussed above, FIG. 31 provides more details as to how a server processing unit (such as processing unit 500 running server code 525 ) may implement such a method at that level of the network via method 3100 . In this more detailed embodiment, the server is communicating directly with a master node (e.g., a first node) to direct and control how the master node interacts with and causes operations to be undertaken on the ID node (e.g., a second node). Thus, step 3105 is similar to step 3005 but more precisely calls for communicating with a first node via a communication interface to cause a second node in the network to broadcast one or more first messages at a first power level at the request of the first node, where the first power level is related to and corresponds with a first anticipated range distance. Likewise, step 3120 is similar to step 3020 but more precisely calls for communicating with the first node via the communication interface to cause the second node to broadcast one or more second messages at a second power level at the request of the first node, the second power level being related to a second anticipated range distance and incrementally smaller than the first power level. The other steps of method 3100 are similar to those illustrated and explained above relative to method 3000 , and that the similar principles will apply to method 3100 .
Those skilled in the art will appreciate that method 3100 as disclosed and explained above in various embodiments may be implemented on a server (e.g., server 100 in FIG. 5 ) running one or more parts of server control and management code 525 to direct a master node to control operations of an ID node (such as ID node F in FIG. 14 ) as part of location determination via ID node advertising. Such code may be stored on a non-transitory computer-readable medium, such as memory storage 515 on server 100 . Thus, when executing code 525 , the server's processing unit 500 may be programmatically transformed to become unconventionally operative to perform operations or steps from the exemplary methods disclosed above, including method 3100 and variations of that method.
And similar to the node apparatus described above, one embodiment includes an exemplary server apparatus in a wireless node network that uses location determination by association. The exemplary server apparatus generally comprises a server processing unit, server memory coupled to and used by the server processing unit (e.g., a server volatile memory and a server memory storage). The server memory storage maintains at least a program code section, association data, and location data. The server apparatus further includes a communication interface coupled to the server processing unit and that provides access to a communication path operatively coupling the server with at least a first node in the network.
›DESCRIPTION OF THE EMBODIMENTS · 34 of 71
The exemplary server processing unit, when executing at least the program code section resident in the server volatile memory, is operative to perform specific functions or steps. In particular, the server processing unit is operative to communicate with the first node via the communication interface to cause a second node in the network to broadcast one or more first messages at a first power level at the request of the first node, where the first power level is related to a first anticipated range distance; identify which of the remaining nodes in the network associated with the second node have known locations; determine which of the identified associated nodes received at least one of the first messages; communicate with the first node via the communication interface to cause the second node to broadcast one or more second messages at a second power level at the request of the first node, where the second power level is related to a second anticipated range distance and incrementally smaller than the first power level; determine which of the identified associated nodes received at least one of the second messages; and determine a location of the second node to be at or between the first anticipated range distance and the second anticipated range distance from each of the identified associated nodes that did not receive any of the second messages but received at least one of the first messages. And in a further embodiment, the server apparatus' processing unit may be further operative to store the determined location in the server memory storage as part of the location data.
In another embodiment, the server apparatus' processing unit may be operative to communicate with the first node via the communication interface to cause the second node to broadcast the one or more second messages within a time interval after communicating with the first node to cause the second node to broadcast the one or more first messages. As previously mentioned, this type of time interval may dynamically set based upon context data related to the second node. Context data may also be used as set forth above with respect to the node apparatus but applied here to the second node—such was where the first anticipated range distance is the optimal range for the second node adjusted based upon context data.
Master Node Location Determination Through Advertise
In another embodiment, a master node may no longer know its location. For example, such a situation may occur when a master node determines its current location via GPS location circuitry 475 , but the master node finds itself without access to an adequate number of GPS signals (e.g., it cannot determine a location due to the lack of a sufficient number of GPS signals from diverse GPS satellites). Such a situation may happen when the master node moves indoors is proximate to a structure that interferes with the location signals.
In an exemplary embodiment where a master node attempts to determine its own location via advertising techniques, the master node may detect a loss of location confidence (e.g., upon a loss of detected GPS signals; upon detecting a separate signal to processing unit 400 indicating the master node's location is unknown; when processing unit 400 senses movement (e.g., via accelerometers (not shown) or the like) but cannot confirm that the location circuitry 475 is providing updated location information for the node, etc.). In other words, the master node becomes aware that it no longer has a known location.
Next, the master node responds by beginning to broadcast one or more advertising messages in a similar way as ID node F 920 f is described as doing with respect to FIG. 14 . This is done so that the master node having an unknown location can advantageously leverage off the known locations of nearby other nodes. As such, an embodiment may allow a type of leveraged chaining effect whereby known locations of particular types of nodes may be used to extend location information to other nodes that do not know their locations (e.g., ID nodes) or nodes that have detected a loss of location confidence (e.g., master nodes). Thus, such an embodiment may be used to determine an indoor location of a master node (including equipment equipped with master node functionality) in cases where signals for the conventional onboard location circuitry 475 are not available.
Referring back to the exemplary method 3000 and FIG. 30 , method 3000 may be such that the first node is not self-aware of the location of the first node. This may happen when the first node (e.g., an ID node) is actually a master node that was previously self-aware of its own location (e.g., via received GPS signals) but is no longer self-aware of its location (e.g., when the GPS signals can no longer be received), which has the master node changing operation to operate as an ID node prior to broadcasting the first message. In other words, the master node may no longer be self-aware of its location and begin operating as an ID node for purposes of location determination prior to broadcasting the first message because of a change in the environment surrounding the master node, such as when the master node has moved inside a structure that blocks location signals from being received by the master node. Thus, an embodiment may advantageously allow a node to adaptively alter operations when moving from a clear outdoor environment to an indoor environment. And a server may interact with such a master node while that master node is operating, for location purposes, as an ID node, temporarily.
Location with Improved RSSI Measurements
In another embodiment, a signal strength measurement between two or more nodes may be used to determine the proximity of the nodes by using one or more improvements to conventional RSSI measurements. In conventional RSSI measurements, such as with Bluetooth 4.0, those skilled in the art will appreciate that adaptive frequency hopping as part of spread spectrum techniques may cause undesirably cause the signal strength to fluctuate. In other words, the advantage of using frequency hopping and spread spectrum for security and avoidance of interference may have a negative impact on using such signals for stable proximity-based location determinations. Thus, it may be desired to emphasize stability of a signal and limits to fluctuation for purposes of location determination.
›DESCRIPTION OF THE EMBODIMENTS · 35 of 71
In one embodiment, a type of improvement for RSSI measurements may include reducing the number of channels and/or a corresponding frequency range in use during advertising from nodes. For example, a node may have processing unit 300 / 400 adaptively control variable power short range communication interface 375 / 480 to reduce the number of channels and/or the frequency range used during node advertising. Such a dynamic change may be implemented, in some embodiments, by altering the content of a particular type of profile data 330 / 430 , such as an RF profile data that effectively defines RF characteristics of a node (e.g., frequency, power level, duty cycle, channel numbers, channel spacing, alternative fluctuation modes, etc.). In one further embodiment, a first fluctuation mode may be defined that provides a default or more standard communication protocol, such as the conventional frequency hopping, spread spectrum, and channel allocations for Bluetooth® communications. Other alternative modes (one or more) may be defined that alter one or more RF characteristics to provide increasingly more stable and less fluctuations of the RF output signal from a node. Thus, a node may be dynamically placed into one or more modes regarding such RF characteristics that increasingly emphasize stability of the node's RF output signal and limits fluctuation for purposes of enhanced location determination using RSSI measurements.
In another embodiment, a type of improvement for RSSI measurements may include ensuring visibility to and advantageously managing automatic gain control (AGC) circuitry (not shown) that may cause the RF output signal to vary for a node. For example, a node may include a type of AGC circuitry as part of variable power short range communication interface 375 / 480 . This type of AGC circuitry may allow node processing unit 300 / 400 or other logic circuitry that is part of variable power short range communication interface 375 / 480 to limit fluctuations under certain conditions (e.g., when attempting to use RSSI location determination techniques). In this example, different AGC circuitry settings may be defined in exemplary RF profile data that effectively defines RF characteristics of a node (e.g., frequency, power level, duty cycle, channel numbers, channel spacing, alternative fluctuation modes, etc.). This is yet another example of how a node may be dynamically placed into one or more modes regarding such RF characteristics (including AGC circuitry settings) that increasingly emphasize stability of the node's RF output signal and limits fluctuation for purposes of enhanced location determination using RSSI measurements.
Location with Adjustments for Environmental Factors in RF Signal Quality
In general, those skilled in the art will appreciate that environmental factors may cause a communication signal, such as an RF signal, to fluctuate or be transmitted and received in a manner that undesirably varies depending upon a signal path environment. Passive physical interference factors (e.g., forms of electronic signal shielding) may be substantially close and cause drops in signal strength across the output ranges of the nodes. Additionally, active radio interference factors may vary across the RF output ranges of the nodes depending upon other active devices in the reception vicinity. Thus, the proximate environment of a node may have a multitude of adverse factors that impact communications and, as a result, the ability to locate the node.
In one embodiment, making location determinations may be enhanced by a data analytics type of approach that may adjust and account for different RF environmental factors for a similar type of node in a similar type of situation. For example, the quality of the RF output signal of a particular type of node and the corresponding physical range of that signal to a receiver of known sensitivity may be determined for a given environment. In this example, the system defines a maximum range of that signal based on a predetermined condition, such as open-air connectivity. This may assume an environment with no signal degradation due to interference or physical shielding. However, both interference and physical shielding may diminish the range of the RF output signal of a node. In a dynamically adaptive and learning manner, the system may collect information on how a particular type of node may operate in a particular environment under certain settings (e.g., reported signal strengths and corresponding settings for RF output signal power levels). This analysis of a similar environment may be repeated. In other words, through such data analytics of an anticipated environment to be faced by a similar node, signal loss information can be generated and applied as a type of context data (i.e., RF data) for a node in a similar environment to refine location determination. Thus, an exemplary embodiment may refine location determinations with adaptive signal loss characteristics based on a contextual appreciation of an anticipated environment (e.g., physical shielding such as packaging, package contents, proximate package, proximate package contents, and physical infrastructure causing signal variance) without requiring a calibration phase.
And advantageously combining those data points with 3 rd party data describing the physical environment, in which the node was located in at that time, may refine location even further. Such information may be used as RF data (a type of context data) in future efforts to manage and locate a similar type of node anticipated to be in a similar environment.
In more detail, in an embodiment that refines a location determination based upon context and data analytics to adjust for known RF impediments, the maximum physical range of a node's RF output signal relative to a receiver of known RF sensitivity is determined. In one example, this first range value may be referred to as a theoretical or nominal open-air range of a similar type transmitter-receiver node pair in a similar environment but with substantially no physical shielding or signal interference negatively impacting the signal range. A second range value, which may be considered an actual RF range value, may be the observed range of the signal in a similar environment but where there are contextual factors reducing the communication range, including physical shielding due to factors like packaging, package contents, proximate package, proximate package contents, physical infrastructure, interference from other radio sources, or shipper specific information such as vehicle or facility layout information. Through access to prior data analysis of the differing range values and with knowledge of the operational environment of the transmitting node was in (e.g., a similar environment to the proximate environment of the node), a refined location may be determined using an approximation of an actual RF output range that intelligently adjusts what may be anticipated to be the RF environment of the node. In other words, by knowing the appropriate contextual environment related to a node (such as signal degradation information on how a similar node operates in a similar environment), an improved location determination may be made to make intelligent yet efficient adjustments (such as communication distance adjustments) that provide a refined location of the node.
›DESCRIPTION OF THE EMBODIMENTS · 36 of 71
In one example, such as the example shown in FIG. 2 , master node 110 b is outside of a container (such as a Uniform Load Device (ULD) container 210 known to be used for transporting groups of items on aircraft) that has an ID node inside the container. A first or theoretical range value between master node 110 b and ID node 120 b may be determined to be 10 feet at a specific RF output power level when the package (and related ID node) may be known to be less than 10 feet away from the scanning node (e.g., master node 110 b ). A second range value at similar distances with similar types of nodes, but with incident RF signal loss as a result of communicating through the wall of the container 210 , may be between 4 and 5 feet. If context data, such as 3 rd party information or scan data, indicates the transmitting node is within the ULD container 210 , the system would expect the transmission range to be limited according to the data analytics associated with this known RF impediment (e.g., characteristics for transmitting through ULD container 210 ), thus reducing the possible scanning nodes that may see the broadcasting node within the ULD container, or require the transmitting node to increase its RF output power to be heard.
FIG. 32 is a flow diagram illustrating an exemplary method for location determination of a first node in a wireless node network based on context data in accordance with an embodiment of the invention. Referring now to FIG. 32 , method 3200 begins at step 3205 with a network device (such as a master node or server) accessing a first type of the context data related to a proximate environment of the first node.
The first type of context data comprises signal degradation information on how a second node would operate in a similar environment to the proximate environment of the first node when the second node is a similar type as the first node. Thus, rather than calibrating with an actual measurement relative to the current proximate environment of the first node, the signal degradation information provides compensation information on what may be generally anticipated in a more general proximate environment based on how a similar type of node may operate in a similar environment. As the similar environment of the similar node is generally an approximation for what is anticipated to be the proximate environment of the first node, this advantageously avoids the need for an actual calibration of the proximate environment. In one embodiment, the signal degradation information may be based upon a difference in how the second node communicates when exposed to an adverse communication environment (such as a similar environment to the proximate environment of the first node) compared to how the second node would communicates when exposed to a nominal communication environment (such as an environment that is unencumbered by shielding and interference factors). Those skilled in the art will appreciate that a nominal communication environment need not be perfectly clear of all influences that shield or interfere with communications.
The types and aspects of signal degradation information may vary depending on a wide variety of factors. In one embodiment, the signal degradation information may be related to at least one of shielding and interference. Thus, signal degradation information may include both passive and active factors that impact the communication environment.
In another embodiment, the signal degradation environment may be based upon a degraded operation of the second node when the similar environment is an adverse communication environment. In more detail, the signal degradation information may be based upon a difference in how the second node communicates when exposed to the adverse communication environment compared to how the second node communicates when exposed to a substantially normal communication environment, such as an open air environment.
In still another embodiment, signal degradation information may relate to at least shipment data for one or more items being shipped (e.g., currently shipped or shipped in the past) and located in the proximate environment of the first node. For instance, a package near the first node may include metallic materials that may impede or block RF signals and the signal degradation information may relate to such information about close packages being shipped near the first node. In another example, the signal degradation information may relate to at least layout data for one or more physical structures in the proximate environment of the first node. In more detail, the layout data may be for one or more physical structures (e.g., walls, machinery, enclosures, and conveyances) in the proximate environment of the node near a predicted path for the first node. In yet another example, the signal degradation information relates to at least historic data on one or more analyzed prior operations of the second node.
At step 3210 , the network device, such as a master node or server, may adjust an anticipated communication distance related to the first node based upon on the first type of the context data. In one example, the anticipated communication distance may be a theoretical broadcast distance based upon parameters of the device's radio. Such an anticipated communication distance is known as it is an estimate of the radio's range. In one example, the adjusted communication distance comprises an anticipated reduced range distance for a transmission from the first node. In another example, the adjusted communication distance comprises an anticipated reduced receiver sensitivity distance for the first node.
In yet another example, adjusting the communication distance may be accomplished by adaptively adjusting, by the network device, the communication distance based upon the signal degradation information and a second type of the context data. In other words, the communication distance may be adjusted based upon signal degradation information considered along with other types of context data, such as how the first node is being moved (such as an anticipated movement of the first node along a predicted transit path for the first node) or a density of other nodes near the first node.
›DESCRIPTION OF THE EMBODIMENTS · 37 of 71
At step 3215 , the network device determines the location of the first node based upon the adjusted communication distance. In a further embodiment, the method may also update the adjusted communication distance by the network device based upon movement of the first node, and may refine the location of the first node with an updated adjusted communication distance. This may happen with the first node is a mobile master node capable of self-determining its own location.
Those skilled in the art will appreciate that method 3200 as disclosed and explained above in various embodiments may be implemented on a network device (e.g., exemplary master node 110 a in FIG. 4 or server 100 in FIG. 5 ) running one or more parts of their respective control and management code to perform steps of method 3200 as described above. Such code may be stored on a non-transitory computer-readable medium, such as memory storage 415 on master node 110 a or memory storage 515 on server 100 . Thus, when executing such code, the respective network device's processing unit may be programmatically transformed to become unconventionally operative to perform operations or steps from the exemplary methods disclosed above, including method 3200 and variations of that method.
In more detail, an exemplary network device apparatus for determining a location of a first node in a wireless node network based on context data, the exemplary network device may include a processing unit, a volatile memory coupled to the processing unit, and a memory storage coupled to the processing unit. The exemplary network device further includes a communication interface coupled to the processing unit and that provides a communication path operatively coupling the network device with the first node in the network.
The memory storage for the device maintains at least a program code section and context data having at least signal degradation information. Such signal degradation information, as a type of context data, is information on how a second node would operate in a similar environment to a proximate environment of the first node when the second node is a similar type as the first node. Examples of signal degradation information may include those discussed above relative to step 3205 of method 3200 .
When executing at least the program code section when resident in the volatile memory, the processing unit of the network device is operative to perform the steps noted and described above with respect to method 3200 . In more detail, the processing unit is operative to at least connect with the memory storage to access the signal degradation information, adjust a communication distance (if needed) related to the first node based upon on the signal degradation information, determine the location of the first node based upon the adjusted communication distance, and store the determined location of the first node as location data on the memory storage.
Adjusting the communication distance by the processing unit may be accomplished as described above with regard to step 3210 of method 3200 . And as mentioned above, the processing unit may be further operative to adaptively adjust the communication distance where other types of context data are also considered, such as movement and anticipated node movement as detailed out above.
In a further embodiment, the network device may be a mobile master node that includes location circuitry (such as GPS circuitry 475 of exemplary master node 110 a shown in FIG. 4 ). In this embodiment, the processing of the network device may be further operative to determine a location of the network device based upon an output signal from the location circuitry received by the processing unit, and determine the location of the first node based upon the adjusted communication distance and the location of the network device. As such, the first type of the context data related to the proximate environment of the first node is based upon the determined location of the first node.
Those skilled in the art will also appreciate that in some operational environments, the signal degradation information may not require any adjustment to the communication distance in an embodiment. However, in other environments (e.g., adverse RF environments), the signal degradation information may provide a basis for adjusting the communication distance in the embodiment, even if not performed every time. Thus, an adjustment to the communication distance may not be needed in all proximate environments of the first node but may be performed, if needed, based on the proximate environment of the first node. It is the ability of an embodiment to adjust this communication distance when needed and if needed that advantageously allows for locating the first node with more accuracy.
Location Through Triangulation
In some embodiments, various methods for determining a node's location may rely upon, at least in part, triangulation techniques. In other words, as the wireless node network collects data on receiver-transmitter pairs, other methods for determining location of the individual nodes that utilize triangulation, at least in part, may become possible. FIG. 15 is a diagram illustrating an exemplary location determination through triangulation within a wireless node network in accordance with an embodiment of the invention. Referring now to the illustrated embodiment of FIG. 15 , three exemplary master nodes M 1 -M 3 910 a - 910 c are shown with each master node having a known location. Exemplary ID nodes A-E 920 a - 920 e are also shown where they are at least in communication range of one or more of exemplary master nodes MA-M 3 910 a - 910 c.
In this illustrated example, the master nodes M 1 -M 3 may detect and collect advertising messages from ID nodes A-E at varying and known power levels. The captured information is forwarded by the master nodes M 1 -M 3 to the backend server 100 , where location determinations may be made. For example, factors like RSSI and visibility of each node at each power level may be used to determine, with a higher degree of accuracy, the location of nodes where sufficient information is available.
›DESCRIPTION OF THE EMBODIMENTS · 38 of 71
For an exemplary system to triangulate a node, three nodes with known locations must have seen the broadcasting node. In this example, two advertising ID nodes, A 920 a and B 920 b , were seen by the three nodes having known locations (master nodes M 1 -M 3 910 a - 910 c ). Based upon the captured information, the locations of ID node A 920 a and ID node B 920 b are calculated.
Chaining Triangulation
In another embodiment, a node with an inferred location may be used with triangulation techniques to determine a location of another node in a wireless node network. FIG. 16 is a diagram illustrating an exemplary location determination through chaining triangulation in accordance with an embodiment of the invention. The locations of ID nodes A 920 a and B 920 c have been determined by triangulating across master nodes M 1 -M 3 , as illustrated in the exemplary embodiment shown in FIG. 15 . However, as illustrated in FIG. 16 , the location of ID node C 920 c may also be determined according to an embodiment.
For example, an exemplary method of determining a node's location through chaining triangulation begins with determining the calculated location of ID node B 920 b (as explained with reference to FIG. 15 ). Next, a node closer to ID node B 920 b may be used to get the missing third signal point needed for triangulation. This may be accomplished by placing ID node B 920 b in a query (scan) mode such that it listens for a message from ID node C 902 c . ID node C is instructed to advertise, thus providing a signal that may be captured by ID node B. After capturing the signal profile of C, ID node B may communicate or share the captured information and forward it along to the backend server 100 through either of the master nodes M 1 or M 2 . The resulting location determination of ID node C 920 c may have a higher level of position error due to it being partially based on a calculated reference (e.g., the location of ID node B), but the leveraged location determination of ID node C 920 c may be sufficiently accurate (or be an actionable location) that useful information may be gleaned about ID node C 920 c . For example, a leveraged or chained location determination of ID node C may indicate, with the help of context data, that nodes M 1 , M 2 , and ID node B are all close enough to ID node C that ID node C is determined to be within the same container nodes M 1 , M 2 , and ID node B.
Location Through Proximity to Triangulation (LP2T)
In an embodiment where chaining triangulation may determine location through proximity to triangulation (LP2T), a starting point may be determining the relative location of an ID node to a master node based on the proximity method, as explained above. However, when the relative location of the ID node has been determined, a more accurate or refined location of the ID node may be determined based upon the location of all master nodes that can capture the RF output signal broadcast from the ID node, and then triangulating based on observed signal strength of the ID node. In this example, the proximity-based location is used as an input in the triangulation calculation to estimate likely signal deterioration historically observed between a node at the proximity-determined location and scanning master nodes. In a further embodiment, by taking into account historic data on patterns of signal deterioration, a more accurate triangulation may be possible, leading to a more accurate location determination.
FIG. 33 is a flow diagram illustrating an exemplary method for determining a node location using chaining triangulation for one of a plurality of nodes in a wireless node network having a server in accordance with an embodiment of the invention. Such an exemplary node location need not be precise or exacting, but can be sufficiently accurate without absolutes.
Referring now to FIG. 33 , method 3300 begins at step 3305 with the server receiving a location of a first of the nodes from the first node. Next, at step 3310 , the server receives a location of a second of the nodes from the second node. For example, with reference to the example shown in FIG. 16 , master nodes M 1 910 a and M 2 910 b may transmit their respective location coordinates from their respective onboard location circuitry to the server so that the server has the current locations of these two master nodes.
At step 3315 , the server infers a location of a third of the nodes. For instance, in the example illustrated in FIG. 16 , the server may infer the location of ID node B 920 b . In one embodiment, inferring may comprise having the server determine a proximate-based location of the third node relative to another of the nodes having a known location, such that the proximate-based location operates as the inferred location of the third node.
In another embodiment, inferring the location of the third node may comprise having the server determine a relative location of the third node to the first node (as the node having a known location) or to the second node (as another node having a known location). Method 3300 may also, in another embodiment, include having the server adjust the inferred location of the third node to determine a refined location of the third node based upon third node context data related to the inferred location of the third node
At step 3320 , method 3300 concludes with the server triangulating the location of the one node based upon determined distances to each of the first and second nodes, and a determined distance of the one node to the inferred location of the third nodes.
In a more detailed embodiment, method 3300 may triangulate the location of the one node by accessing first node context data related to a contextual environment near the first node and second node context data related a contextual environment near the second node. Such contextual environments may include an environment of being on a conveyor system, or within a particular facility, or next to materials that may degrade or shield signals being received by the one node. Next, the more detailed triangulating may have the server adjust the determined distance of the one node to the location of the first node based upon the first node context data to provide a refined distance of the one node to the location of the of the first node. Then, the server may triangulate the location of the one node based upon the adjusted determined distance of the one node to the location of the first node, the adjusted determined distance of the one node to the location of second node, and a determined distance of the one node to the refined location of the third node.
›DESCRIPTION OF THE EMBODIMENTS · 39 of 71
In a further embodiment, method 3300 may also have the server transmitting an instruction so as to cause the server to transmit an instruction to cause the one node to broadcast a plurality of advertising signals over a period of time. In such an embodiment, the determined distance of the one node to the location of the first node may be based upon captured signals from the one node by the first node over the period of time and reported to the server by the first node. In another embodiment, the determined distance of the one node to the location of the second node may be based upon captured signals from the one node by the second node and reported to the server by the second node.
In still another embodiment, the server may transmit an instruction to cause the one node to broadcast a plurality of advertising signals at different power levels. In such an embodiment, the determined distance of the one node to the location of the first node may be based upon captured signals from the one node by the first node and reported to the server by the first node. In another embodiment, the determined distance of the one node to the location of the second node may be based upon captured signals from the one node by the second node and reported to the server by the second node.
In yet another embodiment, method 3300 may also have the server transmitting the location information out to a requesting entity (e.g., another node, a user access device, etc.) upon receipt of a request for a location of the one node from that entity.
Those skilled in the art will appreciate that method 3300 as disclosed and explained above in various embodiments may be implemented on a server (such as exemplary server 100 as illustrated in FIG. 5 ) running one or more parts of a control and management code (such as an code 525 ) to implement any of the above described functionality. Such code may be stored on a non-transitory computer-readable medium (such as memory storage 515 in an exemplary server). Thus, when executing such code, a processing unit of the server (such as unit 500 ) may be programmatically transformed to become unconventionally operative to perform operations or steps from the exemplary methods disclosed above, including method 3300 and variations of that method.
A server apparatus is also described in an embodiment for determining a location using chaining triangulation for one of a plurality of nodes in a wireless node network. The server apparatus generally comprises a server processing unit, a server volatile memory, a server memory storage, and a communication interface. The server volatile memory, server memory storage, and communication interface are each configured in the apparatus as coupled to the server processing unit. The server memory storage maintains at least a program code section and location data related to nodes in the network. In some embodiments, the server memory storage may also maintain context data, such as first node context data and second node context data. The communication interface provides a communication path operatively coupling the server with nodes in the network, such as a first and second node.
The server processing unit, when executing at least the program code section resident in the server volatile memory, is operative to perform various functions, such as the functions described in the steps above related to method 3300 . In particular, the server processing unit is operative to receive a request over the communication interface for the location of the one node. Based on the request, the server processing unit is then operative to receive the respective locations of the first and second nodes, and store the locations as part of the location data kept on the server memory storage. The server processing unit is further operative to infer a location of a third of the nodes, and store the inferred location of the third node as part of the location data kept on the server memory storage. The server processing unit then is operative to triangulate the location of the one node based upon a determined distance of the one node to the location of the first node, a determined distance of the one node to the location of second node, and a determined distance of the one node to the inferred location of the third node. And finally, the server processing unit is operative to transmit the location information to the requesting entity over the communication interface in response to the request.
In one embodiment, the server processing unit may be further operative to infer the location of the third of the nodes by being operative to determine a proximate-based location of the third node relative to another of the nodes having a known location, where the proximate-based location operates as the inferred location of the third node.
In another embodiment, the server processing unit may be further operative to transmit an instruction over the communication interface to cause the one node to broadcast a plurality of advertising signals over a period of time. In this embodiment, the determined distance of the one node to the location of the first node may be based upon captured signals from the one node by the first node over the period of time and reported to the server by the first node. Alternatively, the determined distance of the one node to the location of the second node may be based upon captured signals from the one node by the second node and reported to the server by the second node.
In another embodiment, the server processing unit may be further operative to transmit an instruction over the communication interface to cause the one node to broadcast a plurality of advertising signals at different power levels. In such an embodiment, the determined distance of the one node to the location of the first node may be based upon captured signals from the one node by the first node and reported to the server by the first node. Alternatively, the determined distance of the one node to the location of the second node may be based upon captured signals from the one node by the second node and reported to the server by the second node.
›DESCRIPTION OF THE EMBODIMENTS · 40 of 71
In yet another embodiment, the server processing unit may be further operative to infer the location of the third node by being operative to determine a relative location of the third node to the first node or, alternatively, to the second node.
In still another embodiment, context data may be relied upon to refine locations. More specifically, the server processing unit may be further operative to adjust the inferred location of the third node to determine a refined location of the third node based upon third node context data related to the inferred location of the third node.
In a more detailed embodiment, the server memory storage may further maintains context data, and the server processing unit may be further operative to triangulate by being operative to access first node context data as part of the context data maintained on the server memory storage, where the first node context data is related to a contextual environment near the first node. Likewise, the server processing unit may be further operative to access second node context data as part of the context data maintained on the server memory storage, where the second node context data is related a contextual environment near the second node. The server processing unit may then be operative to adjust the determined distance of the one node to the location of the first node based upon the first node context data to provide a refined distance of the one node to the location of the of the first node. As such, the server processing unit may be operative to triangulate the location of the one node based upon the adjusted determined distance of the one node to the location of the first node, the adjusted determined distance of the one node to the location of second node, and a determined distance of the one node to the refined location of the third node.
Combined Methods for Determining Node Location
In light of the examples explained above for locating a node, one skilled in the art will appreciate that a further embodiment expressly contemplates using more than one of the above-described location determination techniques when determining a refined location of a node in a wireless node network. For example, such combination embodiments may apply an ordered or prioritized approach whereby a first location technique is applied to generate first location information regarding the location of a node in the wireless network. Thereafter, a second location technique may be selected from a hierarchy or prioritized set of techniques (some of which may work better in certain circumstances and be chosen or dynamically prioritized based upon the contextual environment), and applied to generate second location information regarding the location of the node or refining the location of the node. Other embodiments may apply additional location techniques to generate further refined location information.
In an embodiment, the information in the exemplary hierarchy generally identifies which technique may be preferred to be used initially as well as a ranked grouping or listing of when to apply other location techniques. Such information in the exemplary hierarchy may be fixed (based upon successful historic data and experience) or be dynamically altered over time as nodes may move relative to each other and, for example, based upon context data that provides more information relative to the a current or anticipated contextual environment.
Applying Node Location Determination in a Vehicular Environment
The various exemplary methods and techniques described above for determining the location of a node provide an advantageous way to locate a node. However, further embodiments may advantageously apply such methods and techniques in a vehicular environment when dealing with logistics operations where a node is to be located in a vehicle, moved within a vehicle, or removed for delivery from a vehicle.
Essentially, embodiments may use a package enabled with a node (generally referred to as a node package or node-enabled package) to ship one or more items and such a node package may be advantageously placed, located, moved, or removed for delivery in a vehicle/transportation/shipping/logistics environment. As explained throughout this description, a node package is generally a package to be shipped that is related to a particular node. The node and the related package travel together as part of the shipping process. In a general embodiment, the node may simply be within the package. In another embodiment, the node may be attached to the package (e.g., adhered to an interior portion of the package, fixed to a part of the package where one or more status indicators of the node may be visible through the package, etc.). In another embodiment, the node of the node package may be part of the package or the packaging materials used to comprise an exterior, interior, or separating/cushioning material within the node package. In more detail, the node may be integrated as part of the package or packaging materials (e.g., integrated as part of a pallet, a ULD container, a corrugated fiberboard box, and the like). In still another detailed embodiment, the node of the node package may be fully or partially embedded within the package or packaging materials used to help form a general container, which maintains an item to be shipped along with the node.
FIG. 20 is a diagram illustrating exemplary node packages located in an exemplary vehicle environment in accordance with an embodiment of the invention. Referring now to FIG. 20 , exemplary vehicle 9300 is illustrated as an example of a general mobile logistics transport or conveyance carrying packages being shipped. Those skilled in the art will appreciate that vehicle 9300 may be implemented as various types of logistics conveyances (e.g., automobile, delivery van, autonomous vehicle, truck, trailer, train, aircraft, marine vessel (ship), etc.). Within exemplary vehicle 9300 , packages may be placed, stored, and organized within different storage devices or units, such as storage unit A 9305 or storage unit B 9310 . In general, a storage device or unit helps to maintain one or more packages in a configuration that helps to assure save shipment, minimize damage to the packages, and provide a way to organize what is being stored. Different embodiments of a storage unit may store a single package or may storage a wide variety of different types of packages that use different types of packaging materials (e.g., corrugated fiberboard boxes, wooden and non-wooden pallets, containers, etc.) and in large numbers.
›DESCRIPTION OF THE EMBODIMENTS · 41 of 71
Vehicle 9300 includes a vehicle master node 9315 —an exemplary implementation of a master node, such as master node 110 a shown and described with respect to FIG. 4 . Vehicle master node 9315 is shown operative to communicate with server 100 over a longer-range communication interfaces (such as interface 485 on exemplary master node 110 a ) and operative to communicate with other nodes, such as master node 9320 associated with storage unit A 9305 , master node 9325 associated with storage unit B 9310 , and other nodes associated with parts of such storage units and node packages stored within the storage units. In more detail, each storage unit may include, in some embodiments, built-in nodes associated with particular shelves, lockers, receptacles, or other parts of the particular storage unit.
Thus, an exemplary storage unit (such as storage unit A 9305 ) may be a node-enabled storage unit used within a logistics vehicle to safely and intelligently transport node packages. As such, the exemplary storage unit may itself have a hierarchy of nodes (e.g., a master node, and one or more other nodes (ID nodes or other master nodes) assigned to different parts of the unit) and be operative to detect the location of particular node packages via the various location determination methods discussed herein as the node package is placed in a storage location within the unit, moved between storage locations of the unit or between different units, or simply removed from the storage location within the unit.
As shown in FIG. 20 , various node packages 9330 a - 9330 d may be kept in different storage locations of storage unit A 9305 within vehicle 9300 . Similarly, other node packages 9330 e - 9330 g are kept in portions of storage unit B 9310 . Such node packages may be placed into particular storage locations according to shipping information related to the node packages. For example, the node packages may be placed into particular storage locations according to weights of the particular node packages, a planned loading scheme (such as according to an anticipated delivery schedule), to storage capacity of the particular different locations within the storage unit, or according to a storage type for the particular different locations (e.g., one location for storing envelope types of packages, another location for storing boxed container type of packages, another location for storing containerized packages (e.g., ULDs), etc.).
Shipping of containerized groups of packages (e.g., ULD types of containers made to optimize airborne logistics handling of packages) is an example of where a mobile storage unit (such as a movable unit load device (ULD)) may be deployed when shipping node packages in an airborne environment. FIG. 21 is a diagram illustrating exemplary mobile storage units, such as ULDs, used as containers that help ship node packages in an exemplary airborne environment in accordance with an embodiment of the invention. Referring now to FIG. 21 , a cut-away perspective view of an exemplary aircraft fuselage 9400 is illustrated. In particular, an exemplary floor 9405 of a cargo storage area within fuselage 9400 is shown having multiple roller elements that help facilitate movement of cargo within the cargo area. Additionally, while not shown in FIG. 21 , the cargo storage area and floor 9405 typically include structure and fastening points to help hold any cargo loaded within fuselage 9400 . The cargo storage area within exemplary fuselage 9400 may be split into an upper area and a lower area by an additional floor 9410 .
The cut-away perspective example illustrated in FIG. 21 shows a lower cargo area where various ULD containers 9420 a - 9420 d are shown along with an airborne master node 9415 , which is (depending on the aircraft's location and communication mode and status) operative to communicate with server 100 —much like vehicle master node 9315 does as shown in FIG. 20 . In general, the illustrated configuration of ULD containers 9420 a - d is used similar to the storage units illustrated and described in FIG. 20 . For example, each ULD container 9420 a - d may have different storage locations within it and one or more master nodes (not shown) dedicated and attached internally so that they may track, monitor, and communicate with different node packages loaded within the ULD as well as other nodes and a server—much like the master node 9320 for storage unit A 9305 can track, monitor, and communicate with different node packages loaded within the storage unit as well as other nodes and server 100 . Node packages within each ULD may communicate with nodes in the ULD and may communicate directly with airborne master node 9415 directly (or indirectly through other master nodes within the ULD). And as such, shipping information may be used when the node packages are placed into particular storage locations within a particular ULD according to weights of the particular node packages, a planned loading scheme for the ULDs (such as according to an anticipated delivery schedule), to storage capacity of the particular different locations within the ULD, or according to a storage type for the particular different locations.
In light of the exemplary vehicular environments shown in FIGS. 20 and 21 showing structure used when initially placing, storing, maintaining, locating, moving, and eventually removing a node package for delivery, those skilled in the art will appreciate that each of the embodiments described above related to methods for locating a node may be further enhanced when applied to an exemplary vehicular environment. For example, in one embodiment, determining a node's location may further comprise determining a location of the node-enabled package within a vehicle to be the location of the node. In a more detailed embodiment, the method that determines a node location may further generate a location message regarding where the node-enabled package is located within the vehicle based upon the determined location of the node. Such a message may be displayed to a user (e.g., logistics personnel that handle packages being shipped) on a user interface of a node or user access device operating as a node (e.g., smartphone or smart wearable device). For example, such a displayed message may be a type of an informed prompt (“Pickup Package X at Storage Location 01 in Storage Unit A”) or strategic instruction (“Place Package X in Storage Location 01 in Storage Unit A”) or (“Move Package X at Storage Location 01 in Storage Unit A to Storage Location 03 in Storage Unit B”). In some embodiments, the network device or node that determines the node's location may also provide such a display to the user, but in other embodiments, the location message may be transmitted to another node for display to the user.
›DESCRIPTION OF THE EMBODIMENTS · 42 of 71
In another embodiment, an exemplary method that determines a node's location may also access shipping information related to the node-enabled package and generate a relocation message regarding where the node-enabled package may be relocated within the vehicle based upon the determined location of the node and the accessed shipping information. Such a message may be displayed to a user similar to the location message described above—namely, that such a relocation message may be displayed to a user (e.g., logistics personnel that handle packages being shipped) on a user interface of a node or user access device operating as a node (e.g., smartphone or smart wearable device) and that in some embodiments, the network device or node that determines the node's location may provide such a display to the user, but in other embodiments, the relocation message may be transmitted to another node for display to the user.
In more detail, the shipping information may comprise weight information on the node-enabled package that is used in determining where to relocate or initially place the node-enabled package.
In another embodiment, such shipping information may be used to create a loading scheme to help organize where to locate or relocate the node-enabled packages. Thus, the location or relocation of the node-enabled package within the vehicle may be determined according to a loading scheme. In more detail, such a loading scheme may be related to an anticipated delivery schedule, where the node-enabled package may be placed within or removed from the vehicle according to the anticipated delivery schedule.
Logistics Applications of a Wireless Node Network
As described above, an exemplary wireless node network may be useful in a logistics application where an item is to be located. Further, such an exemplary wireless node network may also be useful in logistics applications where the item is moving between locations, and the network provides an enhanced level of visibility and management of the item within such a logistics environment. In other words, an embodiment of an exemplary wireless node network in accordance with one or more principles of the present invention helps enable enhanced logistical operations that manage information when shipping and tracking an item. FIG. 17 is a diagram illustrating an example logistics operation using exemplary components of a wireless node network in accordance with an embodiment of the invention.
Logistics Beyond Pickup and Delivery
Referring now to FIG. 17 , an ID node 120 a is illustrated as being deployed and associated with an item (e.g., package 130 ) to be shipped. As the package 130 is being prepared for shipping 1700 , and is in transit as part of shipment 1705 , and is in the possession of the intended recipient 1710 , components of an exemplary wireless node network are deployed to manage information regarding the shipment during these three phases.
In a general example of using a wireless node network for managing logistics related to an item to be shipped, a shipping customer may initially register the item (such as package 130 ) with a node (such as an ID node) to be shipped from an origin location to a destination location. One or more management hand-offs of the item and node occurs as the item and the ID node collectively transit a path from the origin to the destination. Each hand-off may be based upon an awareness of the shipment path the ID node associated with package 130 will take as it is transferred through a shipping path from its origin to destination. Hand-off of the package 130 and ID node are managed and coordinated with master nodes (such as master nodes 110 a - 110 h ), which are managed by server 100 , along the anticipated shipment path. During operation along the shipping path, server 100 receives information and updates from nodes, manages and authorizes hand-offs between different nodes, and tracks information related to current associations, shared data, sensor data available, locations of the nodes, and context data that helps to refine the location of nodes. Thus, with the ID node associated with package 130 , the visibility of the package 130 may be extended for the customer beyond the conventional custodial control during transit 1705 as the shipping customer prepares the item for shipment 1700 prior to an initial drop-off and after delivery of the item to the recipient 1710 .
In a more detailed embodiment, an exemplary method for managing logistics related to an item to be shipped using a wireless node network begins with registering a node with the item to be shipped. For example, the shipping customer may control user access device 200 , and use device 200 to initially associate an ID node 120 a and package 130 with a tracking number as part of preparing to ship the package 130 (a type of item). In one embodiment, device 200 may use a particular app or other program module resident and operating on device 200 to input the tracking number of the package 130 . Device 200 then provides that information back to server 100 via network 105 to associate the tracking number with the package 130 and ID node 120 a . Device 200 , in some embodiments, may then print a label for the shipment of package 130 (and ID node 120 a ). In another embodiment, ID node 120 a may be a preprogrammed node with pre-existing shipping and payment related information associated with it. Further details of a label-less shipping and payment in another embodiment are described below.
Concurrent with this action, the shipping customer may associate ID node 120 a with package 130 . For example, the shipping customer may place the ID node 120 a within package 130 and, in some cases, physically attach the ID node 120 a to a particular part of package 130 . In another example, the shipping customer may place an exterior label on package 130 where the label itself includes ID node 120 a . Other examples may effectively group ID node 120 a with package 130 within a larger package, container, or pallet of items or packages that collectively travel together.
›DESCRIPTION OF THE EMBODIMENTS · 43 of 71
In this manner, device 200 may operate as a type of master node under control of the app or other program module, and be associated with the package 130 and ID node 120 a from an association management perspective. For example, device 200 may operate via the app or other program module along with Bluetooth® hardware and software working on device 200 to communicate with ID node 120 a . Other embodiments may rely on other short-range communication interfaces for device 200 to communicate with ID node 120 a . And in one embodiment, device 200 may receive one or more security credentials from server 100 in order to connect and actively pair or connect with ID node 120 a.
With at least the shipping information at the server 100 , server 100 may determine a predicted shipping path for the package 130 . In one embodiment, server 100 may have historic data indicating an optimal route for shipping an item from point A to point B that uses a particular shipping path (e.g., pick-up near A by a particular courier, transport by vehicle to a particular facility, further transport via aircraft to another facility near point B, and transport by vehicle to facilitate delivery by a courier at point B). In one example, the predicted path may only be for a portion of the route between two points, such as an origin point and a destination point.
In a further example, the predicted path (or part thereof) may be adjusted based on the contextual environment of an item being shipped. For instance, depending on context data (such as weather information, historic data on success for particular transit segments, capacity information for third party carriers, etc.), server 100 may alter the initially predicted shipping path to provide a refined predicted shipping path that is more optimized under the current conditions and context. This allows the server 100 to further anticipate which master nodes may be used along an anticipated shipping path (or refined shipping path), to help efficiently manage shipment of the package 130 to point B. Those skilled in the art will further appreciate that an embodiment may only partially identify what master nodes may be used along the anticipated shipping path (or refined shipping path), and that further master nodes may be identified as the package 130 is actively in route to point B depending on context data (e.g., master node availability, weather information, etc.).
In a more detailed example, server 100 may use sort data analytics to predict an appropriate shipping path along which the package 130 and the ID node 120 a will travel, identifying predicted master nodes the ID node 120 a will be within range of during its journey. In the example flow illustrated in FIG. 17 , nodes 110 a - 110 h refer to different master nodes along an exemplary predicted shipping path, which includes at least a pick-up and drop-off of ID node 120 a and package 130 at an origin and destination, respectively.
In one example, the shipping customer may place package 130 and its associated ID node 120 a in a drop box or repository for items to be shipped. In the illustrated example of FIG. 17 , drop box is represented as drop node 110 a . Essentially, drop node 110 a may be implemented with a type of master node connected to or integrated into a drop box or locker unit type of logistics repository (more generally referred to herein as a node-enabled logistics receptacle). As the shipping customer physically places ID node 120 a into drop node 110 a , device 200 may hand-off ID node 120 a to drop node 110 a , update server 100 with this association information, and disassociate from ID node 120 a . In this manner, the system has visibility into the status and location of an item (such as package 130 ) prior to pick-up from drop node 110 a . Further details of an exemplary node-enabled logistics receptacle are described below.
At the drop node 110 a , a courier may pick-up the package 130 and ID node 120 a . The courier has a courier node 110 b , which knows the tracking number and associated ID node 120 a at time of pickup, or looks up the ID node 120 a MAC address based on a captured tracking number (part of information broadcast or advertised by ID node 110 a . Basically, the master node responsibility transfers to or is otherwise handed off to courier node 110 b , which now acts as a master node actively connected and associated with ID node 120 a (by virtue of communications from courier node 110 b back to server that authorizes the association of ID node 110 a with courier node 110 b and disassociates drop node 110 a with ID node 110 a ).
Similar handoffs occur between different master nodes and ID node 120 a occur as package 130 and ID node 120 a transit the anticipated shipping path in accordance with instructions sent to different master nodes by server 100 . In one embodiment, associations are accomplished during such handoffs with security credentials requested, authorized, and transmitted to the appropriate master node. In another embodiment, associations are merely passive associations that do not require active and authorized pairings. Yet, the passive association still may allow the system to keep track of ID node 120 a and package 130 as they transit the anticipated shipping path.
New associations (active and passive) and disassociations are updated to server 100 . And server 100 may change programming in different nodes as package 130 and ID node 120 a transit the shipping path—such as changing the operation of a master node (such as ULD node 110 e ) to shift to operating as an ID node while airborne or when GPS signals are lost. In another example, certain mobile types of node may have responsibilities changed to wired types of nodes as a way of preserving the power of a mobile type of node. If ID node 120 a fails to associate for a certain interval and needs to be reacquired, ID node 120 a may update its status flag to a particular Alert Stage and may attempt to communicate with an increasingly broader range of master nodes in order to be found.
›DESCRIPTION OF THE EMBODIMENTS · 44 of 71
During the transit, server 100 may share information with different nodes, such as context data, timer/clock data, environmental data, etc. Sensor data from the ID node 120 a may be gathered via scans from a master node, and then forwarded back to server 100 . And as server 100 manages the associations, handoffs, and information going to and coming from ID node 120 a (via master nodes), server 100 is able to determine the location of ID node 120 a using one or more of the various location determination techniques described above. As such, server 100 is able to provide information related to the ID node 120 a and its related package 130 in response to requests for such information.
When package 130 and ID node 120 a arrive at the destination (e.g., point B), courier node 110 h may update server 100 once ID node 120 a is placed at the destination and disassociated with courier node 110 h . However, visibility need not end at such a drop-off event (such as arriving at the destination). The recipient customer's user access device 205 may act as another master node, and associate with ID node 120 a after delivery. In one example, server 100 is notified by courier node 110 h that delivery has been made. Thereafter, server 100 may notify device 205 with this information. In response, an app or other program module on device 205 may cause device 205 to operate as a node and to actively seek association with ID node 120 a . When device 205 and ID node 120 a connect and are given authorization by server 100 to actively associate, server 100 is notified and may provide further information to device 205 (e.g., sensor data, etc.) and may be able to determined updated location data about ID node 120 a and package 130 after delivery has occurred. In another example, active association may not be needed between device 205 and ID node 120 a as status information may still be gathered by device 205 via passive association, where the status information provides further visibility regarding the ID node 120 after delivery to the destination.
FIGS. 18 and 19 are flow diagrams illustrating various exemplary methods for managing a shipment of an item using a wireless node network, such as that illustrated in FIG. 17 . Referring now to FIG. 18 , exemplary method 1800 begins by transmitting shipping information to the server to register the ID node and the item to be shipped at step 1805 and associating the ID node to a first master node related to a predicted path for shipping the item at step 1810 . At step 1815 , the server is updated to reflect the association between the ID node and the first master node. Typically, this may come in the form or a communication from the first master node to the server. When the first master node is a user access device (e.g., one of a laptop computer, a desktop computer, a tablet device, a personal area network device, a smartphone device, and a smart wearable device) that is operated by a shipping customer, the server may be updated to become aware that the ID node is associated with the first master node prior to a pick-up event in the predicted path.
For example, a shipping customer may use their smartphone to enter shipping information and register that the ID node and the item (such as package 130 ) are to be shipped from an origin point to a destination point. Prior to when the item and ID node are picked up by an initial courier (e.g., from a drop box, locker unit, or other receptacle), the shipping customer's smartphone operates as the first master node and is associated with the ID node. As such, and with an update to the server, the server now has visibility into the status and location of the ID node prior to a pick-up event in the predicted shipping path from the origin point to the destination point.
The method 1800 may continue at step 1820 by disassociating the ID node and the first master node when associating the ID node and a second master node related to the predicted path as the ID node transits the predicted path. In one example, the ID node need not disassociate with the first master node commensurate with associating with the second master node. Thus, those skilled in the art will appreciate that the ID node may be associated with one or more master nodes at a given point in time and may be selectively disassociated with certain master nodes depending on the need for the ID node to securely share data with different master nodes.
At step 1825 , the server is updated to reflect the disassociation between the ID node and the first master node (if that has occurred yet) and the association between the ID node and the second master node as the ID node continues to transit the predicted path. At step 1830 , the method may associate the ID node to a third master node near an end of the predicted path for shipping the item, and then at step 1835 notifies the server to reflect the association between the ID node and the third master node.
In the method 1800 , associating the ID node to the third master node in step 1830 may be performed after a drop-off event in the predicted path. The method may also rely upon context data to adjust for an environmental aspect of the predicted path when associating the ID node to any of the first, second, or third master nodes.
For example, after the item and ID node are delivered to or near the destination, the recipient's smartphone may operate as the third master node associated with the ID node. Data, such as sensor data, may be shared with the recipient while the recipient's smartphone operates as the third master node associated with the ID node. As such, and with an update to the server, the server now has visibility into the status and location of the ID node after a drop-off event.
Thereafter, the recipient may unregister the ID node and item given the item is now in the recipient's possession and control. For example, the recipient may remove the ID node from the item (e.g., the package 130 ), deactivate the ID node to otherwise power down the device, update the server regarding the deactivated status of the ID node (and the disassociation of ID node and the third master node), and then clean up and/or recharge the ID node for future use in shipping another item.
›DESCRIPTION OF THE EMBODIMENTS · 45 of 71
Method 1800 may also include receiving context data related to the predicted path. In one embodiment, such context data may advantageously allow for adjustments due to one or more environmental aspects of the predicted path when associating the ID node to any of the master nodes. For example, the context data may include scan data indicating the type of material in package 130 (the item), which may cause RF shielding issues with the ID node.
Referring now to FIG. 19 , exemplary method 1900 is explained from the perspective of the server, which can authorize certain types of node associations. The server may be updated, in some embodiments, with association information when an ID node and a master node are passively associated. In such a situation, the nodes have not established an authorized association where they can securely share data. However, as method 1900 explains in more detail, an embodiment may manage a shipment of an item when active associations are established.
Method 1900 begins with the server receiving shipping information to register the ID node and the item to be shipped in step 1905 . The method 1900 then provides a first set of authentication credentials (e.g., security pin information) to a first master node to permit the ID node to associate with the first master node related to a predicted path for shipping the item at step 1910 . In one example, the first master node may be a user access device, such as a laptop computer, a desktop computer, a tablet device, a personal area network device, a smartphone device, or a smart wearable device. And step 1920 may be performed prior to a pick-up even in the predicted path.
At step 1915 , the server receives an update to reflect the association between the ID node and the first master node. The method 1900 then provides a second set of authentication credentials to a second master node to permit the ID node to associate with the second master node and disassociate the ID node from the first master node as the ID node transits the predicted path at step 1920 . At step 1925 , the server then receives an update to reflect the association between the ID node and the second master node as the ID node continues to transit the predicted path (or a portion of a predicted path). When the ID node and the first master node disassociate, the server may also be updated.
In some examples, the method 1900 may have the server provide a third set of authentication credentials to a third master node to permit the ID node to associate with the third master node as the ID node reaches an end of the predicted path for shipping the item at step 1930 . In some examples, this step may be performed after a drop-off event in the predicted path.
Finally, at step 1935 , the server receives a notification that reflects the association between the ID node and the third master node. When the ID node and the second master node disassociate, the server may also be updated.
In method 1900 , another embodiment has the server providing any of the master nodes with context data related to an environmental aspect of a part of the predicted path. For example, exemplary context data may include layout data related to a facility in which the ID node is moving between master nodes. In more detail, the received context data may be relied upon to adjust for an environmental aspect of the predicted path when associating the ID node to any of the first, second, or third master nodes.
In still another embodiment, method 1900 may also determining a location of the ID node based upon association information received by the server and location information related to at least one of the first, second, or third master nodes.
As previously discussed, the server may predict a transit route from a first point to a second point along at least a portion of the predicted path for shipping the item. In one example, the first point is an origin and the second point is a destination point with both being identified in the shipping information of the item. However in other examples, the first and second point along a predicted path may merely be interim points without encompassing the originating shipment point or the ultimate destination of the item being shipped. Further, another example may adjust the predicted path as the ID node transits the path. In this way, the server may adapt based upon, for example, context data, so as to optimize or at least account for a changing contextual environment when managing the shipment of an item.
In another embodiment, a non-transitory computer-readable medium is disclosed that contains instructions, which when executed on a processor (e.g., processor 500 of server 100 ), performs another embodiment of a method for managing a shipment of an item using a wireless node network having at least one ID node, a plurality of master nodes, and a server. In this embodiment, the exemplary method begins with the server receiving shipping information to register the ID node and the item to be shipped. The method predicting a first portion of a transit route for the item from a first point to a second point. For example, a first point may be the origin point and the second point may be the destination point—both of which are identified in the shipping information. In another example, the first and second points are any two points along the transit route. Furthermore, the transit route may be predicted as a series of portions or segments that may use particular types of master nodes during transit (e.g., master nodes used by a particular courier for pick-up, an anticipated vehicle used by the pickup courier, one or more anticipated facilities that may be used by the vehicle, an anticipated air route (e.g., an anticipated departing airport, an anticipated aircraft, anticipated types of containers such as a type of ULD or pallet used on the aircraft, and an anticipated arriving airport), a facility near the anticipated arriving airport, a vehicle used to carry the item, and a courier that may deliver the item at the destination point). Those skilled in the art will realized that some of the potential portions of an exemplary predicted path or transit route may be relatively simple for a local delivery, or may be quite complex from an intermodal perspective when the origin point and destination points are very far away from each other.
›DESCRIPTION OF THE EMBODIMENTS · 46 of 71
Next, the method authorizes a first master node to associate or connect with the ID node near the origin point. This may be done prior to a pick-up event for the ID node and item being shipped. For example, when the first master node is a user access device (e.g., a laptop computer, a desktop computer, a tablet device, a personal area network device, a smartphone device, and a smart wearable device) for the shipping customer, visibility as to the status and location of the ID node may be extended to prior to a pick-up event. In one embodiment, such an authorization is performed by the server 100 when it receives information from the first master node regarding the ID node, determines that the first master node and the ID node should be actively paired and associated, and the server 100 sends the appropriate security pin information as a type of authorization credentials that permit the first master node to actively pair and connect with the ID node. After the first master node is associated with the ID node, the server receives an update reflecting the association.
Next, the server may authorize a second master node to associate with the ID node as management responsibility of the ID node is handed off from the first master node to the second master node at the second point on the predicted transit route. In one embodiment, the method may authorize the first master node to disassociate with the ID node. However, in other embodiments, the first master node may stay associated with the ID node—even after the ID node is authorized to associate with the second master node. The server then receives an update to reflect the association between the ID node and the second master node as the ID node continues on the predicted first portion of the transit route.
The method may further authorize the second master node to disassociate with the ID node and a third master node to associate with the ID node as management responsibility of the ID node is handed off from the second master node to the third master node near the destination point on the predicted transit route. This may be done prior to a pick-up event for the ID node and item being shipped. For example, when the third master node is a user access device (e.g., a laptop computer, a desktop computer, a tablet device, a personal area network device, a smartphone device, and a smart wearable device) for the recipient, visibility as to the status and location of the ID node may be extended to after a drop-off event. After the third master node is associated with the ID node, the server receives a notification to reflect the association between the ID node and the third master node.
And during the method, the server may determine a location of the ID node based upon association information received by the server and location information related to at least one of the first, second, or third master nodes. As discussed above, various techniques are available for locating a node and, in some cases, adjusting for adverse RF environmental conditions with context data to more accurately refine the location of a node. As such, the server keeps track of the location of nodes in the wireless node network, and may provide that information (as well as other types of shared or sensor information) when requested and authorized to do so.
From a system perspective of such a logistics application of a wireless node network, an exemplary system is disclosed for managing a shipment of an item using a wireless node network. With reference to FIG. 17 , the exemplary system generally comprises an ID node (such as node 120 a ), a plurality of master nodes (such as nodes 110 a - 110 h ), and a server (such as server 100 ). The ID node is registered to the item (such as package 130 ) being shipped. Each of the master nodes are predicted to be located at a different part of an anticipated transit route for the item as the item is shipped from an origin point to a designation point of the anticipated transit route. Each of the master nodes is operative to communicate with the ID node over a short-range communication path, and operative to communicate with other master nodes and the server 100 .
The server operates to track and report a location of the ID node and a location of the master nodes. As shown in FIG. 17 , server 100 relies on network 105 to communicate with different master nodes ( 110 a - 110 h ) as well as user access devices 200 , 205 that may operate and function as a master node associated with ID node 120 a at certain times. As previously discussed, server 100 may employ a variety of different techniques (or a combination of different techniques) for determining the location of ID node 120 a or one of the other nodes in the network.
The server is also operative to facilitate the transfer of management responsibility of the ID node between different master nodes as the ID node moves along the anticipated transit route. For example, as discussed above, nodes communicate via broadcast and scanning methods, and may be associated under control of the server 100 as part of managing the wireless node network. In this way, a first of the master nodes may be associated with the ID node prior to a pick-up event for the ID node and item to be shipped. In one example, user access device 200 may operate as a master node and be associated with ID node 120 a prior to being placed into drop node 110 a and picked up by a courier from the receptacle related to that drop node 110 a.
Later, a second of the master nodes may be associated with the ID node after the ID node is disassociated with the first of the master nodes at an intermediate point of the anticipated transit route. And, a third of the master nodes may be associated with the ID node after a drop-off event for the ID node and item to be shipped. For example, user access device 205 may operate as a master node and be associated with ID node 120 a after the ID node 120 a and item are dropped off at an intended destination point (e.g., a type of drop-off event).
›DESCRIPTION OF THE EMBODIMENTS · 47 of 71
In an embodiment of the system, each of the master nodes may be operative to update the server upon completing a disassociation or association with the ID node. This provides the server with association information with which it can use to manage and track the nodes in the wireless node network. When associating nodes, the server may be operative to transmit a set of authorization credentials to one of the master nodes and the ID node to authorize a desired association between the master node and the ID node. The server may also be operative to determine the location of the ID node based upon context data, such as information relating to an environmental aspect of a part of the anticipated transit path (e.g., RF shielding aspects of the item being shipped with the ID node or a container holding the ID node, building layout information, etc.).
Those skilled in the art will readily appreciate that operations of such an exemplary wireless node network, as set forth herein, are not limited to tracking just a package, but may be used to manage logistics and tracking of other types of items, such as an object or a person. Indeed, some embodiments provide enhanced capabilities that facilitate better tracking of items, objects, and people as they move to a more restrictive indoor environment, by using a low power ID node in advertising mode in the presence of one or more master nodes.
Additional Node Enhancements & Improved Implementations
In light of the above description covering elements of an exemplary wireless node network and how they may be used to help locate and track items, further embodiments may enhance and improve how such elements communicate. For example, additional embodiments explained in more detail below describe nodes that may use self-adjusting broadcast settings, nodes that may deploy enhanced multi-component radios to improve how a node listens for other nodes and/or detects the location of other nodes, as well as enhanced communication management techniques deployed with a system of nodes faced with a congested node landscape that otherwise makes for difficult node-to-node control and communication exchanges. Still further embodiments focus on multiple features and aspects of a specialized container-centric type of node, which may deployed in such exemplary wireless node networks as part of a logistics container, such as a ULD or other logistics receptacle. FIGS. 34-99 help explain these further embodiments that enhance and improve locating, monitoring, and delivery management and are particularly useful in shipping, logistics, and transportation field applications using exemplary components of a wireless node network in accordance with various embodiments of the invention.
Power Profile Enhancements
As explained above, a node may operate in an exemplary wireless node network in accordance with a profile, such as a broadcast profile stored as profile data 330 in memory of the ID node or profile data 430 in memory of a master node. Profile data (such as data 330 or 430 ) is a type of data that is typically provided to the node and kept in volatile and/or non-volatile memory of the node as data defining a type operational behavior or parameters used for a particular operational behavior for the node in the network. The node may use such profile data by being instructed by a separate managing device to change operational behavior in accordance with the profile data.
However, additional embodiments involving may have a specially programmed node (such as an ID node or master node or other types of nodes) that can self-direct and self-adjust characteristics of its own operation according to profile data (such as how to broadcast an advertising signal according to a broadcast profile defining a set of low, medium, and high power levels to use at particular times) without requiring instructions from a managing device to change operational behavior. Such embodiments, for example, may self-adjust a broadcast setting based on self-detected events (generally referred to as broadcast monitoring events). Those network elements observing the self-adjusting node may become informed of the self-adjusting node's updated value for its broadcast setting from the signal header, which creates improved management efficiency as observing/managing nodes avoid the need to constantly send instructions to the self-adjusting node to change operational settings (such as output power level, frequency, or timing of the broadcasted advertising message emanating from the self-adjusting node under an updated or changed setting).
FIG. 34 is a diagram illustrating an exemplary enhanced self-adjusting wireless node system in accordance with an embodiment of the invention. Referring now to FIG. 34 , an exemplary network of interrelated and interacting elements are shown configured as an exemplary system 3400 , which includes server 100 , master node 34110 a , network 105 that provides a data connection between server 100 and master node 34110 a , and finally several ID nodes (i.e., ID node 34120 a , ID node 34120 b ) that are each connected to the master node 34110 a . As shown in FIG. 34 , ID node 34120 a is disposed within package 34130 along with an item being shipped 34150 such that ID node 34120 a may be associated with the item being shipped 34150 and tracked/monitored by master node 34110 a as such. In other embodiments, ID node 34120 b may also be similarly disposed within a package and associated with an item being shipped. Furthermore, in still other embodiments, exemplary system 3400 may include multiple master nodes (similar to master node 34110 a ) and additional ID nodes in configurations similar to, for example, that shown in FIG. 2 .
In contrast to the ID nodes illustrated in FIGS. 1-4 , ID node 34120 a and ID node 34120 b are shown as specially programmed to use self-adjusting broadcast code (such as 34325 a and 34325 b ), which enables the respective ID node to make use of one or more onboard broadcast profiles (such as 34330 a and 34330 b ) when autonomously self-adjusting to change or otherwise alter how the node broadcasts messages based on self-detected broadcast modification events. While master node 34110 a is not shown having the self-adjusting broadcast code and related onboard broadcast profiles similar to those shown for ID nodes 34120 a and 34120 b , those skilled in the art will appreciate that as explained in more detail below, master node 34110 a may be deployed within an embodiment of system 3400 to also be self-adjusting with one or more broadcast profiles.
›DESCRIPTION OF THE EMBODIMENTS · 48 of 71
In general, exemplary system 3400 may, for example, operate with ID node 34120 a detecting a type of broadcast modification event (such as detecting proximity to a conveyor structure or an elapsed time since capturing barcode data with onboard sensors). Based on this self-detected event, ID node 34120 a may then access broadcast profile 34330 a within the node's memory, determine an updated value for the node's broadcast setting based on the detected event, and self-adjust the node's broadcast setting using the updated value without relying upon a broadcast setting instruction message from master node 34110 a . Such an operation of system 3400 may take place, for example, when package 34130 is placed on the conveyor structure that moves package 34130 (and ID node 34120 a ) closer and closer to master node 34110 a . As a timer on ID node 34120 a counts down from when the ID node 34120 a has been placed on the conveyor, ID node 34120 a may detect the end of a particular time period, which then causes the ID node 34120 a to dynamically and autonomously self-adjust the node's own broadcast setting that alters its RF transmission output power level, frequency, or timing related to what the ID node 34120 a is to be broadcasting during a next time period. As such, ID node 34120 a may operate as a system component that autonomously self-adjusts the output power of broadcasted advertising messages, how often the node broadcasts such messages, or the frequency of such broadcasted advertising messages (or a combination of like types of broadcast setting changes). To accomplish such self-adjusting broadcast functionality, the node's broadcast profile 34330 a has settings that may be defined for continuously changing settings (e.g., gradually changing on a smooth increase or decrease) and/or changing in discrete steps (e.g., incrementally changing from a current value to an updated value). Thus, a node (such as an ID node, master node that also has location circuitry, or other types of nodes described herein that can be deployed in a wireless node network) may employ a self-detecting and self-adjusting scheme of hardware, data, and software instructions or code to manage how the node is broadcasting without imposing further overhead burdens on a managing device in the network that normally controls and manages the node as it operates within the network. FIGS. 35 and 36 explain further details of such a node and how it operates.
In more detail, FIG. 35 provides a diagram illustrating further aspects of an exemplary ID node 34120 a that uses self-adjusting broadcast code 34325 a and at least one broadcast profile 34330 a as part of the system 3400 shown in FIG. 34 in accordance with an embodiment of the invention. Referring now to FIG. 35 , those skilled in the art will appreciate that ID node 34120 a includes many of the same hardware, code, and data components as shown for exemplary ID node 120 a of FIG. 3 . As such, similar functionality exists for what is numbered the same and described above regarding exemplary ID node 120 a of FIG. 3 . Notably, the embodiment with exemplary ID node 34120 a illustrated in FIG. 35 deploys node control and management code 325 (as stored in memory storage 315 and loaded for execution by processing unit 300 in volatile memory 320 ) and self-adjusting broadcast code 34325 a . In some embodiments, self-adjusting broadcast code 34325 a may be implemented as an integrated part of node control and management code 325 , such as a programmatic function or program module within code 325 . But in other embodiments, self-adjusting broadcasting code 34325 a may be implemented separately from code 325 .
In general, exemplary self-adjusting broadcast code 34325 a coordinates the self-detection of broadcast modification events feedback from various elements within ID node 34120 a , accesses one or more broadcast profiles 34330 a , and enables the autonomous self-control and adjustment of how the node's communication interface 375 operates to broadcast advertising messages using updated broadcast settings pursuant to the broadcast profile 34330 a in response to the detected broadcast modification events. In embodiments where there are multiple broadcast profiles 34330 a resident in memory 315 / 320 , self-adjusting broadcast code 34325 a determines which communication profile to use (e.g., indoor broadcast profile, congested landscape broadcast profile, an outdoor broadcast profile, an airborne broadcast profile, and the like). This may, in some embodiments, be based on sensor data 350 , shared data 345 (such as location data and context data relevant to the ID node), association data 340 , and the like that provide insight on the ID node's communication environment and allow for a proactive selection of a desired communication profile to file such an environment.
In one embodiment, the broadcast profile 34330 a may be established as a type of “ranging” profile that defined different output power levels in various ways. For example, the ranging profile may have a first broadcast setting (e.g., power level) for an initial range commensurate with a first time period elapsing after crossing a reference point or commensurate with a location of the node being proximate a first structure relatively near the reference point. As time goes on and further broadcast modification events are sensed or otherwise detected, a second broadcast setting may be used for a second range relative to the reference point, and so on. In a further embodiment, ID node 34210 a may calibrate itself as it uses self-adjusting broadcast code 34325 a and broadcast profiles 34330 a by using captured barcode data at known locations with known distances to reference points (e.g., the location of master node 34110 a ).
FIG. 36 is a flow diagram illustrating an exemplary method for self-adjusting a broadcast setting of a node, such as ID node 34120 a , in a wireless node network in accordance with an embodiment of the invention. Referring now to FIG. 36 , method 3600 begins at step 3605 with the node detecting a broadcast modification event. In general, a broadcast modification event may be considered as an event sensed or detected by the node itself reflecting a relevant change in the operating environment of the node. For example, an embodiment may use a time-based event as the detected broadcast modification event. As such, in some embodiments, the current value of the broadcast setting may be used during a first time period according to the broadcast profile while the detected time-based event reflecting a broadcast modification event may comprise an end of that first time period. In other embodiments, the broadcast profile may define multiple time profile segments where different values of the broadcast setting are being applied by the node based upon a detected time or timer value. In more detail, a detected broadcast modification event may be a detected time-based event reflecting an end of a first time profile segment within a plurality time profile segments defined by the broadcast profile. The broadcast setting defined per the broadcast profile during each time profile segment may reflect a constant or changing profile during the respective time profile segment.
›DESCRIPTION OF THE EMBODIMENTS · 49 of 71
In a further embodiment, the broadcast modification event may comprise an association-based event detected when the node associates with another node in the wireless node network. For example, as discussed above relative to FIGS. 9 and 10 , exemplary nodes (including ID node 34120 a , ID node 34120 b , and master node 34110 a ) are characteristically able to establish associations or logically connection relationships between each other where such associations are typically server-authorized and tracked as part of managing the different network elements in the wireless node network. Extending this type of association functionality to the nodes depicted in exemplary system 3400 shown in FIG. 34 , an embodiment of ID node 34120 a may become associated with the master node 34110 a as the ID node 34120 a (and its related package 34130 and item 34150 ) moves within range of the master node 34110 a and after the server 100 directs the two nodes to associate (with authorization). As a result, information identifying the relationship between ID node 34120 a and master node 34110 a may be provided to server 100 and may be provided, as some point, to each of ID node 34120 a and master node 34110 a . Thus, exemplary association data 340 may exist in volatile memory 320 and/or memory storage 315 of ID node 34120 a as a type of data identifying associations between nodes. Similar association data may exist within the memory of master node 34110 a.
Another type of potential broadcast modification event may be a location-based event detected when the node is mobile and self-determines its present location to be proximate to a structure. As shown in FIG. 4 , exemplary master node device 110 a includes location circuitry 475 (such as GPS circuitry or other positioning circuitry) that allows the master node to self-determine its location. Furthermore, as described above, context data 560 may be provided by server 100 to the master node (such as master node 34110 a ) where the context data provides information related to different structures (e.g., a particular type of courier device, vehicle, facility, transportation container, etc.). Exemplary master node 34110 a may leverage these same master node features to self-determine its present location to be proximate to a structure, as well as be deployed as a mobile type of node (such as a master node mounted within a vehicle or aircraft). Thus, detecting such location-based information by a similarly equipped master node may be considered a type of detected broadcast modification event under a further embodiment of method 3600 .
Further still, the broadcast modification event in another embodiment may comprise a sensor-based event detected when a sensor on the node detects a change in an environmental condition. As shown in FIG. 34 as well as FIGS. 3 and 4 , the nodes described herein may include sensors that generate sensor data, such as sensor data 350 in ID node 34120 a or sensor data gathered by other nodes. Sensor data 350 may exist in volatile memory 320 and/or memory storage 315 as a type of data recorded and collected from an onboard sensor or from another node and may reflect a change in an environmental condition. For example, sensor data 350 may include temperature readings from a temperature sensor onboard an ID node (or data 450 from a sensor onboard a master node) and/or humidity readings from a humidity sensor in another node. Thus, when an onboard sensor detects a change in an environmental condition using a sensor deployed on the node, such a sensor-based event may be a type of detected broadcast modification event in an embodiment of method 3600 .
And, in yet another embodiment, method 3600 may implement step 3605 where the detected broadcast modification event may comprise a combination of at least two from the group consisting of a time-based event, an association-based event, a location-based event, and a sensor-based event. As such, different embodiments of method 3600 may detect the broadcast modification event as more than one self-detected reflecting a type of change for the detecting node where the node may operate more efficiently or in a desired manner by switching its broadcast setting.
Method 3600 continues at step 3610 with the node accessing a broadcast profile stored within the node's memory in order to determine an updated value for the broadcast setting of the node based upon the detected broadcast modification event. Then, at step 3615 , method 3600 has the node self-adjusting the broadcast setting of the node from a current value to the updated value.
For example, as shown in FIG. 35 , processing unit 300 of exemplary ID node 34120 a may access a broadcast profile 34330 a when executing step 3610 . For an embodiment where multiple broadcast profiles 34330 a are stored within profile data 330 , a further embodiment of step 3610 may also include first determining which of the broadcast profiles to use as the desired broadcast profile. In other words, an embodiment may maintain different communication profiles for the node and first determine which of the communication profiles to use as the broadcast profile when accessing the appropriate profile when determining the updated value for the broadcast setting. Further still, an embodiment may access the broadcast profile to determine the updated value after detecting the broadcast modification event and without being prompted with an instruction from a second node (such as master node 34110 a ) to adjust the broadcast setting.
In step 3610 , the broadcast setting may be implemented as an RF transmission output power level setting identified as part of the broadcast profile of the node. In another embodiment, the broadcast setting of the node may be a frequency setting identified as part of the broadcast profile of the node. In yet another embodiment, the broadcast setting of the node may be a timing setting identified as part of the broadcast profile of the node. Further still, other embodiments may deploy a node having multi-variate broadcast settings as part of the node's broadcast profile (e.g., different broadcast settings that are based on two or more of RF transmission output power level, frequency, and/or timing settings that collectively adjust how the node broadcasts signals).
›DESCRIPTION OF THE EMBODIMENTS · 50 of 71
In more detail, the updated value of the broadcast setting, as determined in step 3610 , may be implemented in a variety of ways. For example, the updated value may generally be implemented as one of multiple broadcast setting values maintained as part of the broadcast profile of the node. In some embodiments, the current value and the updated value of the broadcast setting for the node may be within a range defined by the node's broadcast profile of the node. In another embodiment, the updated value may be a changed broadcast setting where the change may, for example, relate to a period of time defined by the broadcast profile of the node. Further still, another embodiment may have the updated value for the broadcast setting being a change to at least one of a modified RF transmission output power level setting for the node as defined by the broadcast profile; a modified frequency setting for the node as defined by the broadcast profile; and a timing setting for the node as defined by the broadcast profile.
Additionally, the determined updated value for the broadcast setting may relate to structure in or near the operating environment of the node. In one embodiment, the updated value may be determined to as a predetermined value related to a structure in proximity to the node where the predetermined value is part of context data maintained in a memory storage of the node. For example, a ULD may be in proximity to ID node 34120 a as the ULD may contain the package 34130 within which the ID node 34120 a has been placed. As such, the ID node 34120 a may determine the updated value for the broadcast setting to be a predetermined increase in RF transmission output power level relative to the proximity of the ULD (which may otherwise shield and attenuate signals broadcasted from ID node 34120 a ). In another embodiment, the updated value may be implemented as a predetermined value related to structure (such as a shipment receiving building) associated with a master node in the wireless node network. In more detail, an embodiment may implement the updated value as a default broadcast value related to an interior of a shipping container associated with the master node (such as when a master node is fixed to an interior of the shipping container so as to monitor and communicate with ID nodes deployed in packages maintained within the shipping container).
Method 3600 may continue in some embodiments to step 3620 , where the node broadcasts a message to a managing device in the network (such as a managing master node) using the updated value of the broadcast setting and where a header of the message reflects the updated value. In more detail, the node (e.g., ID node 34120 a ) may broadcast a message with one or more advertising signals intended to be received by the device managing the broadcasting node (e.g., master node 34110 a ) where a header of the message (such as the header of the exemplary advertising message packet depicted in FIG. 7 ) updates the managing device about the updated value of the broadcast setting of the node (the updated value of the TX Power Level part of the header).
The nodes used in method 3600 may include an ID node and a master node (fixed or mobile), or a container node. In particular, such an ID node deployed as the self-adjusting node of method 3600 may be capable of communicating directly with a master node but incapable of communicating directly with a server in the wireless node network. Another embodiment has the node comprising a master node capable of self-locating, communicating directly with the ID node over a first communication path, and communicating directly with a server over a second communication path distinct from the first communication path. If the master node is at a fixed location, there may be little need for self-locating circuitry in the master node—thus, an embodiment may have the node being a fixed location master node that communicates directly with an ID node over a first communication path, and separately communicates directly with a server over a second communication path distinct from the first communication path. Further, an embodiment may have the node deployed as a container node associated with a particular container and capable of communicating directly with an ID node over a first communication path, communicating directly with a server over a second communication path distinct from the first communication path, but incapable of self-locating due to a lack of location circuitry.
Those skilled in the art will appreciate that method 3600 as disclosed and explained above in various embodiments may be implemented on a node (e.g., master node 34110 a , ID node 34120 a , or a container node attached to a logistics container used to temporarily maintain items or packages) running one or more parts of node control and management code 325 or 425 that includes a self-adjusting broadcast code module. Such code may be stored on a non-transitory computer-readable medium, such as memory storage 315 on ID node 34120 a or memory storage on master node 34110 a . Thus, when executing code 325 (or code 425 if on a master node), the respective node's processing unit may be programmatically transformed to become unconventionally operative to perform operations or steps from the exemplary methods disclosed above, including method 3600 and variations of that method.
A further embodiment of an exemplary self-adjusting broadcasting node apparatus (such as the ID nodes and master node illustrated in FIGS. 34 and 35 ) running such code as part of a wireless node network, may include at least a node processing unit, a memory storage, a communication interface, and detector circuitry. In this embodiment, the memory storage, communication interface, and detector are each coupled to the node processing unit. For example, as shown in FIG. 35 , ID node 34120 a has memory 315 , memory 320 , and variable power short range communication interface 375 coupled to processing unit 300 . Further, the sensors 360 and timer 370 (each being examples of detector circuitry) are shown being operatively coupled to processing unit 300 .
›DESCRIPTION OF THE EMBODIMENTS · 51 of 71
The memory storage (such as memory 315 ) in this exemplary self-adjusting broadcasting node apparatus maintains self-adjusting broadcast code (such as self-adjusting broadcast code 34325 a ) for execution by the node processing unit along with at least a broadcast profile (such as one of broadcast profiles 34330 a ). The communication interface in the embodiment is operative to communicate with a second device (e.g., an ID node or master node) in the wireless node network in accordance with the broadcast profile. As part of this embodiment, the detector circuitry is operative to generate data (e.g., time-based data, location-based data, and/or sensor-based data) related to a relevant broadcast modification event deemed important enough to have the node apparatus react with self-adjustments to how it broadcasts.
In more detail, the node processing unit of the embodiment operates to execute the self-adjusting broadcast program code section, which then causes the node apparatus to become specially programmed to control and perform the steps and operations as described above relative to method 3600 and variations of that method described above that transform the node apparatus in a non-conventional and innovative manner. More specifically, an embodiment may have the node processing unit being operative, when running such a self-adjusting broadcast program code section to specially adapt the apparatus, to receive the generated data related to the broadcast modification event from the detector; access the broadcast profile in the memory storage; determine an updated value of a broadcast setting for the communication interface according to the broadcast profile and based upon the generated data related to the broadcast modification event; self-adjust the broadcast setting from a current value to the updated value without receiving an adjustment instruction on the communication interface from the second device in the wireless node network; and cause the communication interface to operate in accordance with the updated value of the broadcast setting.
In further embodiments, the broadcast setting may comprise an RF transmission output power level setting, a frequency setting, or a timing setting identified as part of the broadcast profile (e.g., one of broadcast profiles 34330 a ). Further still, in some embodiments, the broadcast setting may be implemented as a combination of two or more of an RF transmission output power level setting, a frequency setting, or a timing setting identified as part of the broadcast profile.
The values in the broadcast profile for such broadcast settings may also be implemented in a variety of forms. For example, the updated value for the broadcast setting as accessed within the memory storage may comprise one of several different broadcast setting values maintained as part of the broadcast profile on the memory storage. In such an example, the updated value may be a lower RF power level compared to the current RF power level. In another example, the current value and the updated value may be implemented as different values within a range defined by the broadcast profile on the memory storage. The updated value, in some embodiments, may be a change to the broadcast setting that relates to a period of time defined by the broadcast profile. Further still, another embodiment may have the updated value be one or more of a modified RF transmission output power level setting for the communication interface as defined by the broadcast profile, a modified frequency setting for the communication interface as defined by the broadcast profile, and a timing setting for the communication interface as defined by the broadcast profile. For example, ID node 34120 a may have one of broadcast profiles 34330 a that defines different values for power, timing, and frequency settings with which to use when causing the communication interface 375 to broadcast advertising signals to communicate with other nodes.
In another embodiment, the memory storage may maintain context data related to an environment of the node apparatus. Such context data, as explained above, may include information related to different structures (e.g., a particular type of courier device, vehicle, facility, transportation container, etc.) in the general vicinity proximate to the node or in an anticipated environment for node as the node apparatus moves from location to different location. As such, the updated value for the broadcast setting may be implemented as a predetermined value related to a structure in proximity to the node apparatus (such as a conveyor system that is moving the node apparatus). Such a predetermined value may be a part of the context data maintained in the memory storage of the node apparatus.
In more detail, an embodiment may have the updated value for the broadcast setting being a predetermined value related to a structure, where the structure is associated with a master node as the second device in the wireless node network. For example, the master node may be dedicated to a storage facility or to a mobile delivery van or to a shipping container. When the structure is a shipping container associated with the master node, the updated value may be a default broadcast value related to an interior of that particular shipping container. In this way, the node apparatus may self-adjust its broadcast setting to stop broadcasting for a time period while within the shipping container or may self-adjust its broadcast setting to a higher RF transmission output power level to account for the shielding or attenuation characteristics related to the shipping container.
As noted above, a node's memory storage may include multiple broadcast profiles (such as profiles 34330 a shown in FIG. 35 ). Thus, as part of an embodiment, the node processing may be further operative, when executing the self-adjusting broadcast code (such as code 34325 a ), to determine one of the multiple communication profiles as the broadcast profile to use. For example, one profile may be used for airborne transportation situations where the node apparatus has been loaded on an aircraft and is in the processing of being transported where another profile may be used for storage situations when the node apparatus is temporarily stored within a larger storage facility prior to pickup for delivery as part of a package. Indeed, yet another profile may be dedicated for use while in a mobile delivery situation where the node apparatus and its associated package and item being shipped (such as package 34130 and item 34150 ). As such, an embodiment may deploy different broadcast profiles depending on location, movement status, or relevant shipping phase (e.g., initial activation with the package, drop off, loading/unloading related to transport vehicles or containers, hand-off between custodians, airborne transport, land-based transport, sorting, storage, mobile delivery, post-delivery reporting, and the like).
›DESCRIPTION OF THE EMBODIMENTS · 52 of 71
Further embodiments may include more details on what is then broadcasted in accordance with the updated value of the broadcast setting. For example, in one embodiment, when the node processing unit causes the communication interface to operate in accordance with the updated value of the broadcast setting, the communication interface is controlled by the node processing unit to broadcast a message in accordance with the updated value such that a header of the message reflects the updated value. Such a message may be broadcast for reception by a managing device (e.g., a master node such as node 34110 a ) where the header of the message updates the managing device about the updated value of the broadcast setting of the node. For example, the header of the broadcasted message from the communication interface 375 of ID node 34120 a may include a flag or other data bit/byte or information related to the updated value (such as an updated value of the TX Power Level flag as shown in exemplary advertising package 700 in FIG. 7 ).
As discussed above, the node processing unit is operative to receive data related to the broadcast modification event as generated by the detector. Further detailed embodiments may provide further specificity on characteristics of different types of detectors that sense or detect broadcast modification events that, once detected, indicate it is time to self-adjust the broadcast setting. For example, in one embodiment the detector may be implemented as timer circuitry (such as timer 370 ), which operates to generate the data related to a time-based broadcast modification event. More specifically, such a time-based event may a detected end of a first time period where prior to the end of the first time period, the node processing unit is operative to cause the communication interface to operate in accordance with the current value of the broadcast setting before moving to the updated value after the end of the first time period. In another embodiment, the broadcast profile may define multiple time profile segments where the time-based broadcast modification event may be the end of a first of the time profile segments. As such, the node processing unit is operative to cause the communication interface to operate in accordance with the current value of the broadcast setting during the first time profile segment, and then self-adjust the broadcast setting to an updated value during the next of the time profile segments.
In another embodiment, the detector may be implemented with a sensor coupled to the node processing unit (or interface circuitry in communication with and logically considered part of the node processing unit). Such a sensor is generally operative to sense an environmental condition proximate to the node apparatus as the generated data related to the broadcast modification event. As such, a sensor-based broadcast modification event may be detected and relevant data is captured or generated by the sensor when the sensor detects a threshold change in the environmental condition. For example, as shown and discussed relative to ID node 34120 a , sensors 360 may be used as a type of detector that generate data related to a broadcast modification event, such as at least a threshold change in temperature, humidity, light, motion, impact, or other environmental condition relative to the node apparatus.
In still another embodiment where the node apparatus may be implemented with a master node (such as master node 34110 a ), the detector may be implemented with location circuitry (such as GPS circuitry 475 as shown and explained relative to FIG. 4 or other types of location circuits, proximity sensors, or distance detectors). Such location circuitry is generally coupled to the node processing unit and can determine a current location of the node apparatus as the generated data related to the broadcast modification event. In some embodiments, the data on the current location may be a coordinate location while other embodiments may generate data on the current location in terms of relative location (e.g., 5 feet from a wall, ground, ceiling, or other structure). In more detail, the broadcast modification event may be considered a location-based event detected when the node processing unit determines the node apparatus is located proximate to a structure based upon both context data maintained on the memory storage (a type of information about an anticipated operating environment for the node apparatus) and the current location of the node apparatus (a type of information about the actual operating environment for the node apparatus).
In some embodiments, the node apparatus may deploy multiple types of detectors (e.g., a timer, location circuitry, or sensors) so that a broadcast modification event may include a combination of at least two of a time-based event, a location-based event, and a sensor-based event. Thus, more complex embodiments may use different types of detectors to detect a relevant modification event as well as use multi-faceted broadcast profiles with broadcast settings having different types of values for different characteristics of how the communication interface may be self-adjusted to operate.
As described above, the node apparatus may be implemented as different types of node devices. For example, in one embodiment the node apparatus may be implemented as an ID node (such as ID node 34120 a ), which is capable of communicating directly with a master node (such as master node 34110 a ) as the second device over the communication interface but incapable of communicating directly with a server in the wireless node network. As such, the ID node apparatus may be at a low level of the wireless node network, with the master node at a middle level, and the server being at top level within the network.
In another embodiment, the node apparatus may be implemented as a master node. In this embodiment, the detector is implemented with location circuitry (such as GPS circuitry) coupled to the node processing unit and operative to determine a current location of the master node as the generated data related to the broadcast modification event. Thus, the detected broadcast modification event may be a location-based type of event when the node apparatus is implemented as a master node. In more detail, the node apparatus implemented as a master node may further include an additional communication interface. In particular, the node apparatus may include a server communication interface coupled to the node processing unit and operative to communicate directly with a server in the wireless node network over a network communication path (in addition to the communication interface that communicates with the second device in accordance with the broadcast profile). As such, the communication interface that communicates with the second device does so over a short range communication path with an ID node as the second device. Such a short range communication path is distinct from the network communication path used by the server communication interface.
›DESCRIPTION OF THE EMBODIMENTS · 53 of 71
Further still, an embodiment where the node apparatus may be implemented as a master node may be implemented with a fixed location master node at a mid-level of the wireless node network. Such a fixed location master node (while not requiring location circuitry) may also have a server communication interface coupled to the node processing unit and operative to communicate directly with a server in the wireless node network over a network communication path (similar to that described above).
And in still another embodiment, the node apparatus may be attached to or otherwise associated with a container used at least to temporarily maintain items (such as a container or ULD that may temporarily store package 34130 that includes ID node 34120 a and item 34150 ). As discussed in more detail below, such an exemplary container node may be implemented as the node apparatus as attached or associated with the container and having a server communication interface coupled to the node processing unit and operative to communicate directly with a server in the wireless node network over a network communication path (again, similar to that described above for the master node).
These different embodiments of an exemplary node apparatus that are each self-adjusting with respect to broadcast settings of its broadcast profile may be used or deployed within a system level embodiment. For example, an exemplary embodiment of an enhanced self-adjusting wireless node system may generally include at least two node apparatus devices that interact with each other in an unconventional and innovative manner. In particular, the first node apparatus in the system is operative to at least (a) self-adjust a broadcast setting for the first node apparatus to an updated value in response to a detected broadcast modification event and based upon its broadcast profile, and (b) broadcast a message in accordance with the updated value of the broadcast setting such that the message has at least header information reflecting the updated value. The first node apparatus may self-adjust the broadcast setting to the updated value without being prompted by the second node apparatus to adjust the broadcast setting.
The system's second node apparatus is then operative to receive the message from the first node apparatus and store data from the message associated with the first node apparatus as well as the updated value based upon the header information in the received message. Such header information allows the second node apparatus to become aware of the changed or self-adjustment made by the first node in response to the detected broadcast modification event.
In more detail, the broadcast setting of the first node apparatus in the exemplary system may be an RF transmission output power level setting, a frequency setting, and/or a timing setting identified as part of the broadcast profile of the first node apparatus. In other words, the updated value may be a change to the broadcast setting where the change comprising one or more from a group consisting of a modified RF transmission output power level setting for the first node apparatus as defined by the broadcast profile, a modified frequency setting for the first node apparatus as defined by the broadcast profile, and a timing setting for the first node apparatus as defined by the broadcast profile. Explained in with respect to still another embodiment, the updated value for the first node apparatus may be a change to the broadcast setting where the change may be implemented as a combination of two or more from a group consisting of a modified RF transmission output power level setting for the first node apparatus as defined by the broadcast profile, a modified frequency setting for the first node apparatus as defined by the broadcast profile, and a timing setting for the first node apparatus as defined by the broadcast profile.
Further, the updated value for the broadcast setting may be one of multiple broadcast setting values maintained as part of the broadcast profile for the first node apparatus, or may be implemented as an updated value within a range defined by the broadcast profile for the first node apparatus.
As explained above relative to method 3600 as well as embodiments of the exemplary node apparatus, an embodiment of the system may have the first node apparatus detecting specific types of broadcast modification events that are relevant enough to network operations to warrant self-adjustment of how the first node communicates. For example, the broadcast modification event may be a time-based event detected by the first node apparatus at an end of a first time period during which the first node apparatus broadcasts in accordance with a current value of the broadcast setting. In another example, the broadcast modification event may be an association-based event detected when the first node apparatus associates with a second device in a wireless node network (such as when the second device (e.g., an ID node) is the second node apparatus in a managing device approved association relationship with the first node apparatus).
In still another example where the first node apparatus includes location circuitry to self-determine location (e.g., when the first node apparatus is a master node, such as node 34110 a ), the broadcast modification event may be a location-based event. Such a location-based event may be detected when the first node apparatus moves and the location circuitry self-determines a present location of the first node apparatus to be proximate to an anticipated structure (such as a storage area, a conveyor system, a delivery vehicle, or a logistics receptacle).
In another example, the first node apparatus may include at least one sensor that monitors an environmental condition relative to an environment of the first node apparatus. As such, the broadcast modification event may be a sensor-based event detected when the sensor on the first node apparatus detects a change in the environmental condition (such as a change in temperature, humidity, light, etc.) relative to the first node apparatus.
›DESCRIPTION OF THE EMBODIMENTS · 54 of 71
Further still, a system embodiment may have the first node apparatus detecting the broadcast modification event as a combination of at least two from the group consisting of a time-based event, an association-based event, a location-based event, and a sensor-based event.
Specialized Container Node
As discussed above, embodiments of different elements of the exemplary wireless node networks allow for deployment of a hierarchical network of elements useful in enhanced shipping operations. Generally, the elements described above fall within a few different hierarchical levels of the networks—namely, with an ID node at a first level of the network and a server at the top level of the network while a master node may be deployed at a middle level of the network. However, in additional embodiments, an enhanced exemplary wireless node network may include a further type of node element integrated with, attached to, or otherwise associated with a type of logistics container (such as a ULD used when transporting items on an aircraft, a trailer capable of being moved by a truck, a train car capable of being moved on a railway system by a locomotive, an intermodal shipping container capable of being moved on at least two different types of transportation modalities, and the like). This further type of node element is generally referred to as a container node. Further embodiments may deploy such a container node to facilitate enhanced system scanning capabilities that leverage off using this type of container node in addition to fixed facility nodes, along with localized scanning, and more intelligent and efficient use of the hierarchy of network elements to accomplish scanning for package ID nodes in order to better handle the congestion issues anticipated. As explained below, FIGS. 37-39 illustrate exemplary systems that deploy one or more container nodes and illustrate further details of an exemplary container node while FIG. 40 illustrates steps from an exemplary method performed by such a container node when operating to help manage at least a part of a multi-level wireless node network.
In more detail, FIG. 37 is a diagram illustrating an exemplary enhanced logistics system for managing a multi-level wireless node network involving a plurality of packages in different containers in accordance with an embodiment of the invention. Referring now to FIG. 37 , exemplary system 3700 is illustrated as including server 100 connected to facility master node 37110 a through network 105 . Those skilled in the art will appreciate that facility master node 37110 a may be similarly constructed and programmed as explained above relative to master node 110 a (and as shown in FIG. 4 ). As shown in FIG. 37 , facility master node 37110 a is operative to wirelessly communicate with node-based elements within each of container A 37100 A, container B 37100 B, container C 37100 C, and container D 37100 D. Containers A and B are shown as being separate and distinct from each other, while containers C and D are shown in a nested relationship. Each of containers A-D typically maintain, at least temporarily, items or packages being shipped or other containers maintaining one or more items or packages. As shown, the containers A-D may be one or more types of logistics containers. In other words, the system 3700 as shown in FIG. 37 may include a homogenous mixture of containers or may be deployed with a diverse heterogeneous mixture of different types of containers that are each node-enabled and operative to communicate with facility master node 37110 a through their respective container nodes. And while further details of a particular exemplary container appears in FIG. 38 and further details of the node-based element disposed relative to that container appears in FIG. 39 , the principles of such an embodiment of a container node element as disposed and used relative to the particular container may apply to each of containers C and D in their further hierarchy and nested relationship.
As shown in FIG. 37 , the container node elements respectively disposed as part of containers A-D may separately communicate internally with node-enabled packages (or other node-enabled containers) respectively maintained therein while also being able to communicate with facility master node 37110 a . In this way, the container node element may operate as a node similar to a master node but that needs not know its location, and as such it can provide a further level within the hierarchy to help manage as well as allow for robust and improved ways of to communicate with the facility master node 37110 a.
FIG. 38 provides further details on an embodiment of system 3700 . In particular, FIG. 38 is a diagram illustrating an embodiment of exemplary enhanced logistics system 3700 for managing a multi-level wireless node network with further details regarding exemplary container 37100 A and a related exemplary container node 38000 shown with node-enabled packages 38100 A-D maintained within the container 37100 A in accordance with an embodiment of the invention. Referring now to FIG. 38 , container node 38000 is shown as an additional and intermediate node that helps to offload some of the node management responsibility normally incumbent upon facility master node 37110 . Container 37100 A is shown as at least temporarily maintaining packages 38100 A- 38100 D within an interior of the container 37100 A. And as shown in FIG. 38 , each of packages 38100 A- 38100 D is a node-enabled package that has a respectively related one of ID nodes 38120 A- 38120 D. In this manner, deployment of an ID node (such as nodes 38120 A- 38120 D) within a package (such as packages 38100 A- 38100 D) allows for monitoring and managing of the package via the related ID node as managed by container node 38000 . While the relevant ID node is shown in FIG. 38 as being disposed within an interior of the package, those skilled in the art will appreciate that principles of these container node related embodiments are also applicable if the package ID node is implemented as an ID node incorporated into the packaging material itself or an ID node simply attached to an item being shipped. Thus, for purposes of these container node related embodiments, an exemplary package ID node may be implemented with an ID node placed within a package being shipped, with an ID node attached to the package, with an ID node incorporated into the packaging material of the package (or its internal cushioning material), or with an ID node simply attached to the item being shipped without further physical packaging material.
›DESCRIPTION OF THE EMBODIMENTS · 55 of 71
As shown in FIG. 38 , exemplary container node 38000 is typically deployed as a container-centric intermediary node within the multi-level wireless node network system 3700 . Embodiments of exemplary container node 38000 may be disposed in a various physical configurations relative to container 37100 A. In general, container node 38000 may be disposed and considered part of container 37100 A. For example, one embodiment of container node 38000 may be integrated or incorporated into the structure of container 37100 A (e.g., built into the structure of container 37100 A, such as the ceiling, walls, floor, or doors that provide ingress and egress). Another embodiment of container node 38000 may still be part of the container but be simply attached to the container (e.g., attached to a surface within the interior of container 37100 A or attached to a surface on the exterior of container 37100 A).
Further embodiments of exemplary container node 38000 may include certain components (e.g., sensors, antennas in communication with ID nodes A-D 38120 A-D, etc.) exposed to the internal of the container 37100 A while other components (e.g., sensors, antennas in communication with facility master node 37110 a ) may be exposed to the exterior of the container 37100 A to enhance connectivity to internal node elements as well as external node elements. As will be explained in more detail below, enhanced system scanning capabilities may leverage off using this type of exemplary container node 38000 in addition to fixed facility master nodes (such as node 37110 a ), along with localized scanning and more intelligent & efficient use of the expanded hierarchy of nodes in the network to accomplish scanning for package ID nodes in order to better handle congestion issues with large volumes of packages and package ID nodes being handled in a given facility.
FIG. 39 provides even more detail about components making up an exemplary container node 38000 as an apparatus. In particular, FIG. 39 is a diagram illustrating further details of the exemplary container node 38000 deployed within a multi-level wireless node network 3700 as shown in FIG. 38 where the network operating environment for the container node includes a package ID node associated with a package, a facility master node associated with a facility, and a server in accordance with an embodiment of the invention. Referring now to FIG. 39 , those skilled in the art will appreciate that one embodiment of exemplary container node 38000 includes many of the same hardware, code, and data components as shown for exemplary master node 110 a of FIG. 4 , but simplified so as not to include location circuitry. As such, similar functionality exists for what is numbered the same and described above regarding exemplary master node 110 a of FIG. 4 . Thus, while master node 110 a shown in FIG. 4 includes processing unit 400 , memory storage 415 , volatile memory 420 , clock/timer 460 , sensors 465 , battery/power interface 470 , short range communication interface 475 , and medium/long range communication interface 480 , exemplary container node 38000 may use similar hardware components as shown in FIG. 39 including processing unit 38400 , memory storage 38415 , volatile memory 38420 , clock/timer 38460 , sensors 38465 , battery/power interface 38470 , short range communication interface 38475 , and medium/long range communication interface 38480 .
Notably, one embodiment of exemplary container node 38000 illustrated in FIG. 39 deploys container control and management code 38425 (as stored in memory storage 38415 and loaded for execution by processing unit 38400 in volatile memory 38420 ), which is similar in functionality to master node control and management code 425 described above in more detail. Essentially, container control and management code 38425 operates similar to that as described above for master node control and management code 425 but further includes program code for enhanced management of package ID nodes and interactions with facility master node as described in more detail below with respect to FIG. 40 . Thus, in the illustrated embodiment, such further program code is implemented as an integrated part of container control and management code 38425 , such as one or more programmatic functions or additional program modules within code 38425 . But in other embodiments, the further program code used to implement the method as described with respect to FIG. 40 may be implemented separately from code 325 .
Those skilled in the art will also appreciate that another embodiment of a container node (not shown) may be implemented similar to an ID node, such as ID node 120 a as shown and explained relative to FIG. 3 , but with the addition of a medium/long range communication interface and use of further program code as part of or in conjunction with node control and management code 325 for enhanced management of package ID nodes when interacting with the package ID nodes and a facility master node as described in more detail below with respect to FIG. 40 . Thus, this other type of embodiment of an exemplary container node would still have no location circuitry (as ID node 120 a does not typically include such circuitry) but would be able to communicate over the two different communication interfaces for short range communication (e.g., BLE type of low power and short range formatted communications) and longer range communication (e.g., higher power and longer range cellular or Wi-Fi formatted communications). According, those skilled in the art will appreciate that an embodiment of a container node based upon such modifications to a ID node platform essentially works similarly to a master node that either does not know its own fixed location or does not have the ability to self-determine its own location though its own components.
An embodiment of the exemplary control and management code 38425 that provides for enhanced management of package ID nodes via interactions with package ID nodes and a facility master node as described in more detail below with respect to FIG. 40 may also include rules for managing which of its two different communication interfaces to use when communicating with the facility master node. In some embodiments, container node 38000 may have node processing unit communicating with facility master node 37110 a over the medium/long range communication interface 38485 because the distance between the facility master node 37110 a and container node 38000 may be too far for effective communications using the short range communication interface 38480 . As such, range between the nodes may be a factor considered by the processing unit 38400 within container node 38000 when determining how to accomplish communicating with the facility master node 37110 a.
›DESCRIPTION OF THE EMBODIMENTS · 56 of 71
However, when the range between the container node 38000 and facility master node 37110 a is close enough to where the container node 38000 either interface may be used to established communications with the facility master node 37110 a , other factors may be considered when determining which interface on the container node to use, such as relative congestion of data communications on the short range modes of communication versus the longer range mode of communication.
In another embodiment, container node 38000 may depend upon the medium/long range communication interface 38480 when node-to-node communications may not be possible with the short range communication interface 38485 . For example, a ULD having a container node may be loaded on an aircraft where the vehicle master node or facility master node may not have an operating short range communication interface (or be implemented with a facility master node at a level in the network between the container node and a server, but where the facility master node implemented in this situation is not equipped with a short range communication interface). As such, container node 38000 is operative to determine which of the communication interfaces to use, and broadcast messages to and received messages from the facility master node using an appropriate one of the two communication interfaces onboard the container node 38000 .
In operation, such an exemplary container node 38000 may function in a particularly programmed and collectively unconventional manner to add a further management layer within an exemplary wireless node network. FIG. 40 explains an embodiment of this further with a flow diagram illustrating an exemplary method for managing a multi-level wireless node network having a plurality of package ID nodes at a first level of the network, a container node at a second level of the network, a facility master node at a third level of the network, and a server at fourth level of the network in accordance with an embodiment of the invention. Referring now to FIG. 40 , method 4000 begins at step 4005 with a container node detecting an advertising signal broadcast by each of the package ID nodes where the container node is part of a logistics container and each of the package ID nodes are respectively associated with one of a plurality of packages. For example, exemplary container node 38000 may perform step 4005 as shown in FIG. 38 by detecting advertising signals from each of ID nodes A-D 38120 A- 38120 D, which are respectively associated with each of packages 38100 A- 38100 D within container 37100 A (which may be temporarily maintained within a mobile or static facility associated with facility master node 37110 a ). Thus, exemplary container node 38000 may perform step 4005 as a way of dedicated but generally localized scanning specific to the container.
At step 4010 , method 4000 continues with the container node detecting an advertising signal broadcast by the facility master node as the container node approaches a facility associated with the facility master node. As such, an embodiment of method 4000 may have the container node at step 4010 detecting an advertising signal broadcast by the facility master node prior to when the container node arrives or is received at the facility associated with the facility master node. This advantageously allows for and facilitates enhanced management operations related to the packages being shipped within the container prior to arrival and reception at the facility.
At step 4015 , method 4000 continues with the container node offloading management control of each of the package ID nodes from the facility master node to the container node as part of managing the first level of the network. In a more detail embodiment, offloading management control of each of the package ID nodes may involve distributing scanning responsibility for the package ID nodes from the facility master node to the container node so that the facility master node is not burdened with such scanning responsibility on the first level of the network.
Further still, the management control offloaded to the container node as part of step 4015 may involve various control and managerial tasks to be performed by the container node. For example, the management control offloaded may be controlling a broadcast setting for at least one of the package ID nodes. In particular, such control of the broadcast setting may have the container node identifying a location for the one of the package ID nodes in response to a location request received from the server by the facility master node. In this way, the container node (rather than the facility master node) may interact with one or more of the package ID nodes to determine the location of one of the package ID nodes and free up the facility master node to handle other higher level tasks.
Further still, an embodiment where the container node offloads management control of each of the package ID nodes from the facility master node as part of step 4015 may be implemented in various degrees and, in some cases, depend upon a threshold level of node congestion within a part of the wireless node network normally serviced by the facility master node. For example, if there are less than 10 containers within the facility serviced by the facility master node 3711 , the container node 38000 may operate by taking on responsibility for a smaller subset of the tasks normally assigned to the facility master node when monitoring and communicating with package ID nodes (e.g., monitoring status, changing broadcast settings, gathering sensor data, determining relative location information, etc.). Likewise, if there are 10 or more, an embodiment of a container node may operate to offload a larger subset of the overall management control related to the package ID nodes from the facility master node so that the facility master node is less burdened from the relatively large number of containers serviced and monitored.
›DESCRIPTION OF THE EMBODIMENTS · 57 of 71
In a further detailed embodiment, offloading management control may have the container node communicating with each of the package ID nodes as part of monitoring and controlling the package ID nodes, receiving responses from the package ID nodes, and determining relevant node information (such as status information about at least one of the package ID nodes) from the responses received.
At step 4020 , method 4000 has the container node transmitting relevant node information to the facility master node, where the relevant node information provides information about at least one of the packages in the logistics container and where the provided information reflects status information to be sent to the server by the facility master node. In this manner, the container node may transmits the result of one or more of the offloaded management control tasks so that the facility master node may make use of such information without the typically incumbent management interaction and control of those nodes at the first level of the network. In a more detailed embodiment, transmitting the relevant node information may further involve formatting a message for transmission using a long range communication interface on the container node (such as communication interface 38485 ) where the message provides the relevant node information as an update for the server, and then sending the message to the facility master node using the long range communication interface on the container node.
Step 4020 may also be implemented in some embodiments with the transmitted relevant node information providing at least some information on the one of the package ID nodes to be to be forwarded to the server as package ID node update information by the facility master node without requiring the facility master node to directly interact with any of the package ID nodes. The relevant node information in some embodiments may provide information (e.g., one or more of location data, profile data, security data, association data, shared data, and sensor data) about one of the package ID nodes associated with the one of the packages in the logistics container. Such sensor data may be provided as relevant node information, for example, and be or include data collected from a sensor on one of the package ID nodes or, in more detail, where the sensor data relates to at least one condition of the one of the packages as detected by the sensor (such as sensors 38465 ). Such location data may be provided as relevant node information, for example, and be or include data identifying a location for the one of the package ID nodes in response to a location request passed to the container node from the facility master node.
Further embodiments of method 4000 may provide more detail regarding various steps by leveraging multiple communication interfaces on the container node. For example, in one further embodiment, the container node may adaptively detect the advertising signal broadcast by the facility master node and transmit the relevant node information to the facility master node using one of a plurality of communication interfaces on the container node depending on communication congestion within a part of the wireless node network normally serviced by the facility master node. Thus, which of the communication interfaces may be used by the container node communicating with the facility master node per method 4000 may be done adaptively based on node congestion levels. If the short range communication path is crowded because, for example, the container maintains a large number of broadcasting package ID nodes or there are an unusually large number of containers that collectively maintain such a large number of broadcasting package ID nodes that must communicate over the short range communication path, the container node may adaptively select the medium/long range communication interface and use that for communicating with the facility master node. Likewise, if the short range communication path is relatively clear (e.g., there are only a small number of package ID nodes that may or may not be broadcasting over the short range communication path), the container node may adaptively select the short range communication interface and use that for communicating with the facility master node. Use of the short range versus the long range communication interface may also be according to a profile of rules maintained as part of profile data 430 on container node 38000 where such rules define different situations where one communication interface is preferred over the other. Such a profile of rules may be deployed when selectively or adaptively detecting or transmitting as explained above.
In somewhat similar fashion, in another embodiment, the container node may adaptively detect the advertising signal broadcast by the facility master node and transmit the relevant node information to the facility master node using one of the multiple communication interfaces on the container node depending on the ability of the facility master node to handle communications formatted for the one of the plurality of communication interfaces. For example, facility master node 37110 a may be disposed at a location or position that is too far and out of range for the short range communication interface 38480 on container node 38000 . Thus, facility master node 37110 a may not be in a position to handle communications from container node 38000 formatted for the short range communication interface 38480 (e.g., BLE formatted communications) but may still be able to hand communications formatted for the medium/long range communication interface 38485 (e.g., Wi-Fi or cellular formatted communications).
In still further embodiments of method 4000 , localized scanning may be more specifically implemented as part of step 4005 . For example, in one embodiment, the container node may detect the advertising signal broadcast by each of the package ID nodes by localized scanning for each of the package ID nodes proximate to the logistics container using a short range communication interface on the container node (such as short range communication interface 38480 that can communicate over a specific short-range communication path using various types of short-range communication protocols (e.g., a Bluetooth® Low Energy (BLE) protocols, NFC protocols, ultra-wideband impulse radio communication protocols, ZigBee protocols, IEEE 802.15.4 standard communication protocols, and the like). In more detail. localized scanning may be implemented with the communication interface listening for the advertising signal broadcast from within the logistics container or proximate to an exterior of the logistics container.
›DESCRIPTION OF THE EMBODIMENTS · 58 of 71
Method 4000 as explained above focuses on the unconventional and advantageous operation of a container node that helps offload management control from the facility master node. Further embodiments of method 4000 may be implemented when the container node is used with different kinds of logistics container. For example, the logistics container as used in method 4000 may include, but is not limited to a unit load device (ULD) container capable of being transported within an airplane; a trailer capable of being moved by a truck; a train car capable of being moved on a railway system; or an intermodal shipping container capable of being moved on at least two different types of transportation modalities.
Those skilled in the art will appreciate that method 4000 as disclosed and explained above in various embodiments may be implemented on a container node (e.g., container node 38000 attached to a logistics container 37100 A used to temporarily maintain items or packages 38100 A- 38100 D) running one or more parts of container node control and management code (e.g., code 38425 ). Such code may be stored on a non-transitory computer-readable medium, such as memory storage 38415 on container node 38000 . Thus, when executing code 38425 , the container node's processing unit may be programmatically transformed to become unconventionally operative to perform operations or steps from the exemplary methods disclosed above, including method 4000 and variations of that method.
In more detail, an exemplary container node apparatus may be deployed within a multi-level wireless node network to help manage part of the network, which has at least a package ID node associated with a package, a facility master node associated with a facility, and a server (such as that shown in FIGS. 38 and 39 ). The container node in this detailed apparatus embodiment includes a node processing unit, a memory storage, and two different communication interfaces. The node processing unit is disposed as at least part of a logistics container—e.g., built as an integrated part of the logistics container, included part of a container node module to which the processing unit is attached or otherwise affixed and disposed relative to the logistics container, and the like. For example, an exemplary module having the container node's processing unit may be disposed as a part of the logistics container in a removable configuration so that the module may be temporarily secured to the logistics container and removed for service or use in another logistics container.
The memory storage and each communication interface are respectively coupled to the node processing unit of the container node. The memory storage is operative non-transitory memory that at least maintains container node management code for execution by the node processing unit (such as container control and management code 38425 as described in more detail above relative to FIGS. 39 and 40 ). The first communication interface coupled to the node processing unit operates to communicate with the package ID node over a first communication path in accordance with the container node management code. The second communication interface coupled to the node processing unit operates to communicate with the facility master node over a second communication path in accordance with the container node management code. In this manner, consistent with the exemplary container node 38000 as shown in FIG. 38 , the container node apparatus is disposed at a level in the multi-level wireless node network between the package ID node and the facility master node.
The node processing unit of the container node operates to execute the container node management code, which then causes the container node apparatus to become specially programmed to help manage and control part of the multi-level wireless node network as the container node perform the steps and operations as described above relative to method 4000 and variations of that method described above that collectively transform the container node apparatus in a non-conventional and innovative manner. More specifically, an embodiment may have the node processing unit of the container node apparatus being operative, when running the container node management code, to specially adapt the container node apparatus to become operative to detect, via the first communication interface, an advertising signal broadcast by the package ID node; detect, via the second communication interface, an advertising signal broadcast by the facility master node as the logistics container approaches the facility associated with the facility master node; control, via the first communication interface, the package ID node as part of managing the first level of the network and without direct communications between the package ID node and the facility master node to offload management responsibility for the package ID node from the facility master node; and cause the second communication interface to transmit relevant node information by the container node to the facility master node, where the relevant node information provides information about the package and reflects status information to be forwarded as an update to the server by the facility master node (which may be implemented as a mobile master node associated with a mobile facility capable of temporarily maintaining the logistics container).
Further embodiments of such a container node may interact with the package ID node through the first communication interface to offload management responsibility for the package ID node from the facility master node in various ways that delegate managing this first level of the network. For example, the node processing unit may be operative to control, via the first communication interface, the package ID node by being further operative to (a) communicate with the package ID node as part of monitoring and controlling the package ID node at least as the logistics container approaches the facility (e.g., prior to arrival at the facility or receipt at the facility) or as the logistics container remains within the facility; (b) receive, through the first communication interface, a message from the package ID node; and (c) determine relevant node information from the response. This relevant node information would include at least status information about the package ID node and provides at least some information on the package ID node to be forwarded to the server as package ID node update information by the facility master node without requiring the facility master node to directly interact with the package ID node.
›DESCRIPTION OF THE EMBODIMENTS · 59 of 71
In another example of offloading management responsibility, the node processing unit may be able use the first communication interface to control the package ID node by being further operative to send the package ID node a control message through the first communication interface, where the control message adjusts a broadcast setting for the package ID node. In this situation, the control message may be part of identifying a location of the package ID node in response to a location request received from the server by the facility master node and forwarded to the node processing unit over the second communication interface.
In yet another embodiment with further details on offloading management responsibility, the node processing unit may use the first communication interface to control the package ID node (instead of having the facility master node responsible for controlling the package ID node directly) based upon a threshold level of node congestion within a part of the wireless node network normally serviced by the facility master node.
In still further embodiments of the container node apparatus, different types of relevant node information may transmitted by the container node to the facility master node. For example, an embodiment may have the relevant node information providing information about the package ID node via at least one of location data, profile data, security data, association data, shared data, and sensor data. Such sensor data may include data collected from a sensor on the package ID node (wherein the sensor data relates to at least one condition of the package). Additionally, such location data may identify a location for the package ID node in response to a location request passed to the container node from the facility master node. Thus, various types of data may be used in embodiments as the relevant node information to be transmitted to the facility master node.
In some embodiments, detecting signals from the package ID node may be implemented with localized scanning. In particular, the node processing unit may be operative to use the first communication interface to detect the advertising signal broadcast by the package ID node by causing the first communication interface to conduct localized scanning proximate to the logistics container, and cause the second communication interface to transmit a message with the relevant node information gathered from the localized scanning. In more detail, such localized scanning proximate to the logistics container may have the node processing unit being further operative to command the first communication interface to listen for the advertising signal broadcast from the package ID node located within the logistics container or located proximate to an exterior of the logistics container. In such a way, the node processing unit of the container node may help manage the first level of the network by being responsible for scanning for the package ID node instead of having the facility master node scanning for the package ID node.
Further embodiments of the container node apparatus may be used with different kinds of logistics containers. For example, the logistics container may include, but is not limited to a unit load device (ULD) container capable of being transported within an airplane; a trailer capable of being moved by a truck; a train car capable of being moved on a railway system; or an intermodal shipping container capable of being moved on at least two different types of transportation modalities.
Additional embodiments of the container node apparatus may deploy rules for the node processing unit on what interface to use when communicating with the facility master node. For example, the node processing unit may be operative to detect the advertising signal broadcast by the facility master node by communicating with the facility master node over one of the first communication path and the second communication path depending on communication congestion within a part of the wireless node network normally serviced by the facility master node or depending on the ability of the facility master node to handle communications formatted for the one of the plurality of communication interfaces. The existing congestion level relative to particular communication paths may be gauged in order for the container node to apply such communication rules on how it may effectively communicate with the facility master node. Likewise, rules on communication ranges or confirmed communication links for particular paths may be used when applying such rules and using an appropriate communication interface on the container node to communicate with the facility master node.
In light of the above discussion relative to an exemplary container node apparatus (as shown in FIGS. 38 and 39 ) and methods where such an exemplary container node may be deployed to interact with a multi-level network to help manage at least part of the network (as explained via the flowchart shown in FIG. 40 ), a further system embodiment may be described with reference to FIGS. 38-40 . In particular, an exemplary enhanced logistics system for managing a multi-level wireless node network involving a plurality of packages may be described as follows. The exemplary system embodiment may include a server, a facility master node, a container node, and a plurality of package ID nodes respectively associated one of the packages. The server is disposed at a top level of the multi-level wireless node network and maintains information on additional node elements of the multi-level wireless node network. The facility master node, which is associated with a facility that can temporarily maintain the packages, is disposed at a second level of the multi-level wireless node network and deployed in operative communication with the server. The container node is disposed at a third level of the multi-level wireless node network and is deployed as part of a logistics container that currently maintains the plurality of packages (such as an integral, fixed, or removable part of the logistics container). The container node includes a long range communication interface providing access to a long range communication path and a short range communication interface providing access to a short range communication path distinct from the long range communication path. As such, the container node is in operative communication with at least the facility master node over the long range communication path using the long range communication interface. The package ID nodes are disposed at a fourth level of the multi-level wireless node network where each of the package ID nodes are respectively associated with one of the plurality of packages currently maintained with the logistics container as mentioned above. Each of the package ID nodes is in operative communication with the container node over the short range communication path via the short range communication interface of the container node.
›DESCRIPTION OF THE EMBODIMENTS · 60 of 71
As part of this exemplary enhanced systems embodiment, as the container node enters the facility associated with the facility master node (such as prior to when the container node has arrived or been received at the facility), the container node may operate to offload management responsibility for each of the package ID nodes from the facility master node when the container node uses the short range communication interface to control each of the package ID nodes without direct communication between the package ID node and the facility master node. In this way, the facility master node is not responsible for directly communicating with each of the package ID nodes. Further, the container node may also operate in the same situation to use the long range communication interface to transmit relevant node information to the facility master node. Such relevant node information is generally information about at least one of the packages that is gathered by the container node from at least one of the package ID nodes. Such relevant node information also reflects status information on at least one of the packages to be forwarded as an update by the facility master node to the server.
Controlling a package ID node is a way the system's container node may offload management responsibility from the facility master node. The container node may use the short range communication interface to control each of the package ID nodes by being further operative to send each of the package ID nodes a control message through the short range communication interface (e.g., via a BLE formatted short range wireless message), where the control message adjusts a broadcast setting for the respective package ID node. For example, the control message may be part of identifying a location of at least one of the package ID nodes in response to a location request received from the server by the facility master node and forwarded to the container node over the long range communication interface. As such, the control message from the container node may instruct the respective package ID node to vary its broadcast output power level as part of a locating technique deployed to locate the package ID node.
Further system embodiments may have the relevant node information providing information about the one of the package ID nodes, and further include at least one of location data, profile data, security data, association data, shared data, and sensor data related to the particular package ID node. Such sensor data may, for example, include data collected from a sensor on the one of the package ID nodes (where the sensor data may relate to at least one condition of the one of the packages—e.g., temperature, light, humidity/moisture, pressure, impact/shock, and the like related to an environment condition experienced by the particular package). And such location data, for example, may identify a location for the one of the package ID nodes in response to a location request passed to the container node from the facility master node.
The system's container node may also, in some embodiments, offload management responsibility for the package ID nodes from the facility master node when at least a threshold level of node communication congestion exists within a part of the wireless node network normally managed directly by the facility master node. For example, the container node may measure a level of node communication activity via one or both of its communication interfaces to establish a level of node communication congestion experienced by the facility master node. If the measured level exceeds a threshold level, the container node may be activated to further offload management and interactive tasks relating to the package ID nodes maintained within the container node's logistics container.
Further still, the system's container node may, in some embodiments, offload management responsibility by conducting localized scanning via the short range communication interface proximate to the logistics container to detect an advertising signal broadcast by each of the package ID nodes. In a further embodiment, the container node may conduct localized scanning via the short range communication interface proximate to the logistics container by using the short range communication interface to listen for the advertising signal broadcast from each of the package ID nodes located within the logistics container or located proximate to an exterior of the logistics container (e.g., as the logistics container is being loaded or unloaded and the package with the package ID node is not yet inside the container or has been unloaded to just outside the container). Thus, the system's container node may deploy its short range communication interface to accomplish interacting and interfacing with package ID nodes rather than have the facility master node be directly responsible for them. Stated another way, the system's container node may be responsible for using its short range communication interface to scan for each of the package ID nodes as part of managing the fourth level of the multi-level wireless node network while avoiding the overloading the facility master node with congested scanning responsibilities related to the plurality of package ID nodes and additional node devices in the wireless node network.
As with the container node embodiments and method embodiments described above, the container node in the exemplary enhanced system embodiment may be used with different kinds of logistics containers. For example, the logistics container may include, but is not limited to a unit load device (ULD) container capable of being transported within an airplane; a trailer capable of being moved by a truck; a train car capable of being moved on a railway system; or an intermodal shipping container capable of being moved on at least two different types of transportation modalities. Those skilled in the art will appreciate that use of the term “container” need not be a simple box-like structure, but itself may include a defined holding area on a transport or conveyance responsible for shipping items within the holding area (e.g., packaged items that have a package ID node that may be scanned by a container node attached to the transport or conveyance in or near the relevant holding area).
›DESCRIPTION OF THE EMBODIMENTS · 61 of 71
Additionally, the facility master node involved in this system embodiment may be associated with a mobile facility (as opposed to a fixed or stationary facility) that is capable of temporarily maintaining the logistics container. Example of such a mobile facility may be an airborne cargo hold capable of temporarily maintaining multiple ULD containers and having a mobile master node (such as airborne mobile master node 9415 shown in FIG. 21 ).
Those skilled in the art will appreciate that, in light of the details described above, other system embodiments may be deployed with fewer elements than described above. For example, a broader system embodiment may include the container node as described above along with a facility master node. The container node and facility master node in such an embodiment may operate and interoperate as described above, but the system embodiment need not necessarily include the package ID nodes being scanned or the server. Still another system embodiment may include the facility master node, container node, and at least one package ID node as described above without the explicit inclusion of a server at the top level of the network as an additionally required element of the particular system embodiment. Likewise, yet another system embodiment may include a server, facility master node, and container node as explicitly recited elements and as described above as operating and interoperating. Thus, the package ID nodes may not be expressly included as elements in this system embodiment, but the recited container node in the system would still operate to help manage those components on the lower level of the network.
Proactive Movement Notification Using Detectors on a Container Node
As explained above relative to FIGS. 38 and 39 , a container node may be deployed with a logistics container at one level of a wireless node network and used to help manage at least a portion of the network. However, a further embodiment of a container node may be deployed with particular hardware and software components used to sense movements relative to the container and respond to such detected movement in various ways as part of the wireless node network. For example, this type of aspect may have an exemplary container node using an accelerometer or other type of movement or motion sensor (e.g., an inertial type of device) to detect movement and respond by notifying other network elements (e.g., package ID nodes, facility master nodes, server, and the like) regarding such movement or altering a broadcast profile based on the movement. In such an example, if the container is sensed as staying put or coming to rest, relevant nodes associated with the container may not need to broadcast frequently or may go into a “sleep” mode until movement is detected and only then start broadcasting again.
FIG. 41 is a diagram illustrating an exemplary motion sensing container node in accordance with an embodiment of the invention. Referring now to FIG. 41 , exemplary motion sensing container node 41000 is shown similar to container node 38000 (which was earlier described as being similar in some embodiments to a master node of FIG. 4 without location circuitry). More specifically, those skilled in the art will appreciate that one embodiment of exemplary container node 41000 includes many of the same hardware, code, and data components as shown for exemplary master node 110 a of FIG. 4 , but simplified so as not to include location circuitry, as well as to that of exemplary container node 38000 illustrated in FIG. 39 . As such, similar functionality exists for what is numbered the same or similarly and described above regarding exemplary master node 110 a and exemplary container node 38000 . Thus, while master node 110 a shown in FIG. 4 is described as having processing unit 400 , memory storage 415 , volatile memory 420 , clock/timer 460 , sensors 465 , battery/power interface 470 , short range communication interface 475 , and medium/long range communication interface 480 , exemplary container node 38000 may use similar hardware components as shown in FIG. 39 . This includes processing unit 38400 , memory storage 38415 , volatile memory 38420 , clock/timer 38460 , sensors 38465 , battery/power interface 38470 , short range communication interface 38475 , and medium/long range communication interface 38480 . Likewise, exemplary motion sensing container node 41000 may use similar use similar hardware components as shown in FIG. 41 including processing unit 41400 , memory storage 41415 , volatile memory 41420 , clock/timer 41460 , battery/power interface 41470 , short range communication interface 38475 , and medium/long range communication interface 41480 .
Further, the embodiment of exemplary container node 41000 illustrated in FIG. 41 deploys container control and management code 41425 (as stored in memory storage 41415 and loaded for execution by processing unit 41400 in volatile memory 41420 ), which is similar in functionality to container control and management code 38425 as well as master node control and management code 425 described above in more detail. Such code, as previously described, generally controls the behavior of the node relating to communications (with a node advertise and query logic manager), information management (with an information control and exchange manager), power management (with a node power manager that interacts with the various communication interfaces, for example, to manage power consumption and broadcast power aspects at a low level), and association management (with an association manager). As such, container control and management code 41425 essentially operates similar to that as described above for container node control and management code 38425 (and master node control management code 425 but without the need for a location aware/capture module) but further includes motion-based management program code 41500 for motion-based management of a logistics container as described in more detail below with respect to the method described relative to FIG. 43 . Thus, an embodiment of motion-based management program code 41500 may be implemented as an integrated part of container control and management code 41425 , such as one or more programmatic functions or additional program modules that may be called within code 41425 . However, in other embodiments, the motion-based management program code 41500 used to implement the method as described with respect to FIG. 43 may be implemented separately from code 41425 in a way that allows code 41500 to call some of the programmatic functions or program modules described as part of code 425 to implement the steps as laid out in the method of FIG. 43 and variations of that method as described herein.
›DESCRIPTION OF THE EMBODIMENTS · 62 of 71
In general, exemplary motion-based management code 41500 adapts container node 41000 such that the node detects motion-based events and responds in a way that intelligently alters a broadcast profile that is being currently used by the container node 41000 . An exemplary broadcast profile may include a collection of one or more operating parameters used by the container node 41000 when broadcasting over one of the communication interfaces 41480 , 41485 . Such operating parameters, for example, may include parameters related to a broadcast output power level to use when communicating with other nodes or the frequency with which the relevant communication interface broadcasts (or whether it is to remain silent for a set duration). In some embodiments, a single broadcast profile for node 41000 may be maintained as part of profile data 460 . In other embodiments, such as that shown in FIG. 41 , container node 41000 maintains multiple broadcast profiles 41330 resident in profile data 460 of memories 41420 / 41415 . Typically, motion-based management code 41500 determines which communication profile to use (e.g., indoor broadcast profile, congested landscape broadcast profile, an outdoor broadcast profile, an airborne broadcast profile, and the like), and the selected communication profile from broadcast profiles 41330 may then be altered accordingly in response to motion-based events as described in more detail below. Those skilled in the art will appreciate that the availability of multiple different broadcast profiles to use allows for a proactive selection of a desired communication profile to fit with a particular type of node operating environment.
As a measuring front end component for such motion-based management involving a logistics container, exemplary motion sensing container node 41000 includes various sensors, such as motion sensor 41465 as a sensor or detector with one or more sensing elements that can collectively detect a motion status relative to that which it is attached (e.g., a logistics container or part thereof). An exemplary implementation of motion sensor 41465 (or other sensors 41467 ) may include additional hardware (e.g., local sensor memory, battery backup, multiplexing hardware interfaces when using multiple sensing elements) and/or program/firmware features to manage the collection, storage, and sharing of the captured motion-related sensor data (such as motion status information). In some embodiments, motion sensor 41465 may be implemented with several types of motion sensors or motion/movement detectors, such as an inertial sensor, a shock detector, an accelerometer, a microelectromechanical (MEMS) sensor, and the like. And while sensor 41465 is explicitly shown in FIG. 41 as a motion sensor, those skilled in the art will appreciate that an embodiment of container node 41000 may also include other types of sensors or detectors 41467 , such as one or more magnetic sensors (e.g., a magnetometer, gyroscopic sensor, etc.), electronic sensors (e.g., a voltage sensor, current sensor, electronic power sensor, etc.), and environmental sensors (e.g., pressure, light, temperature, humidity, magnetic field, altitude, attitude, orientation, proximity, etc.).
Exemplary container node 41000 as shown in FIG. 41 may be deployed alone or as part of various system embodiments providing node-implemented motion-based management of a logistics container, such as that shown in FIG. 42 . In particular, FIG. 42 is a diagram illustrating an exemplary motion-based management system 4200 for an exemplary logistics container 37110 A that uses an exemplary motion sensing container node 41000 in accordance with an embodiment of the invention. Referring now to FIG. 42 , container node 41000 is shown attached to logistics container 37100 A.
In general, the illustrated embodiment of logistics container 37100 A is a box-like container made with a structural housing 37200 surrounding and defining an interior storage area within the housing 37200 capable of maintaining multiple items and/or packages. The container's door 37205 generally secures the interior storage area when in a closed position relative to the housing 37200 and provides access to the interior storage area through an opening or entrance when in an open position relative to the housing 37200 . In the illustrated embodiment of FIG. 42 , door 37205 is movably coupled to the housing portion via a set of one or more hinges as part of the door 37205 and attached to the housing 37200 . Other embodiments of container 37100 A may have different types of doors or other movable panels that may be configured to secure the interior storage area of a container.
The exemplary motion-sensing container node 41000 shown in FIG. 42 (and shown in greater detail in FIG. 41 ) is disposed as part of system 4200 and has an exterior housing 41600 that contains and protects the electronic hardware and components of the node 41000 (such as those shown in FIG. 41 ). As such, the housing 41600 of motion-sensing container node 41000 may be fixed or removably held in an attached position relative to the logistics container 31700 A. In more detail, an embodiment the housing 41600 of motion-sensing container node 41000 may be disposed entirely within the housing 37200 of container 31700 A, while another embodiment may have the housing 41600 of motion-sensing container node 41000 attached to the logistics container in such a manner where a portion of the housing 41600 for node 41000 is exposed to the interior storage area defined within housing 37200 of container 37100 A while another portion of housing 41600 is exposed outside of the container 37100 A. For example, an embodiment of node 41000 may use a 41600 housing that allows for one or more antennas of the node 41000 to be exposed outside of the container 37100 A while allowing for one or more sensors (such as motion sensing elements 41465 a - 41465 c that collectively implement an exemplary motion sensor 41465 as shown in FIG. 41 ) of the node 41000 to be exposed and deployed within the interior storage area of the container 37100 A.
›DESCRIPTION OF THE EMBODIMENTS · 63 of 71
Within housing 41600 , the exemplary motion-sensing container node 41000 includes at least a node processing unit (such as unit 41400 ) and a memory storage (such as memory storage 41415 and/or volatile memory 41420 ). The memory storage and the node processing unit are typically disposed within the housing 41600 . The memory storage is coupled to the node processing unit and maintains at least motion-based management code (such as motion based management code 41500 ) for execution by the node processing unit 41400 and a broadcast profile (such as at least one of broadcast profiles 41330 ) defining at least one operational communication parameter for the container node 41000 . The container node 41000 further includes at least a communication interface coupled to the node processing unit 41400 and operative to communicate with a second node over a communication path in accordance with the broadcast profile maintained in the memory storage. Those skilled in the art will appreciate that the communication interface may include transceiver hardware and firmware suitable for transmitting and receiving relevant messages in a format and paradigm corresponding to the communication path used to communicate with the second node.
As noted above, node 41000 further includes a motion sensor coupled to the node processing unit, where the motion sensor operates to detect a motion status of the logistics container and report the detected motion status to the node processing unit. Such a motion status may include, depending on the implementation, a moving status, a stationary status, an accelerating status, and/or a decelerating status of the logistics container. For example, if logistics container 31700 A is being moved, but is on a transport or conveyance that is slowing down, one or more of motion sensors 41465 a - c as shown in FIG. 42 will detect a decelerating motion status for container 31700 A and report this to the node processing unit within container node 41000 . In another example, where door 37205 is being opened, motion sensor 41465 a sense movement of the door 37205 and will report a moving status (e.g., logistics container door movement) to the node processing unit as the detected motion status of the container 31700 A
In general, the motion sensing container node collectively operates to provide information about the container's motion status back to the container node's processing unit so that such information may be used to alter how the container node communicates with other nodes within a wireless node network (such as package ID nodes or master nodes). In particular, the node processing unit 41400 of node 41000 , when executing the motion-based management code 41500 maintained on the memory storage 41415 / 41420 , becomes specially programmed and thus operative to perform a series of unconventional and innovative functions as part of monitoring and reporting on the logistics container's motion status. Specifically, an embodiment of processing unit 41400 becomes operative, under control of at least the motion-based management code 41500 , to receive the detected motion status from the motion sensor; store the detected motion status in the memory storage as a first motion status for the logistics container (e.g., stored as part of sensor data 450 ); receive a subsequent detected motion status from the motion sensor; compare the subsequent detected motion status to the first detected motion status for the logistics container; identify a changed motion condition for the logistics container based upon the comparison of the subsequent detected motion status and the first detected motion status; alter one or more operational communication parameters defined in the broadcast profile based upon the identified changed motion condition; and causing the communication interface to communicate with the second node in accordance with the altered operational communication parameter. Thus, an embodiment of exemplary container node 41000 has enhanced motion-based functionality to adapt how it communicates based on detection of the container's motion status.
The broadcast profile maintained on the memory storage may be implemented as one of several communication mode profiles (such as one of broadcast profiles 41330 ). As such, each of the communication mode profiles may define respectively different variations of the operational communication parameter used by the relevant communication interface on the container node when broadcasting a signal in an attempt to communicate with the second node. For example, revising an operational communication parameter may involve changing broadcast profiles such that an exemplary container node with a ULD container may essentially choose a “sleep/stationary” broadcast profile that broadcasts less frequently over a “moving” broadcast profile that may broadcast more frequently given a changed motion condition identified by the container node related to the ULD's motion status. However, in an embodiment using a single broadcast profile, an exemplary embodiment having a container node within a ULD container may be enabled to alter its broadcast profile by revising an operational communication parameter to broadcast less frequently when stationary or broadcast more frequently when moving given the changed motion condition identified by the container node related to the ULD's motion status.
In a more detailed embodiment, the node processing unit may alter the operational communication parameter by revising the operational communication parameter of the broadcast profile stored in the memory storage, where the revised operational communication parameter relates to how the container node communicates with the second node in accordance with the identified changed motion condition for the logistics container. Such a second node, in this more detailed embodiment, may be implemented with a server (e.g., server 100 ) managing a wireless node network that includes the container node apparatus; a facility master node (e.g., facility master node 37110 a ) managing the container node and in communication with a server managing a wireless node network that includes the container node apparatus and the facility master node; and/or a package ID node (e.g., ID node A 38120 A) associated with a package maintained within the logistics container.
›DESCRIPTION OF THE EMBODIMENTS · 64 of 71
In even more detail, the revised operational communication parameter of the broadcast profile may be implemented in an embodiment to change a power level of a signal broadcast by the communication interface. In other embodiments, the revised operational communication parameter of the broadcast profile may change how frequently the node processing unit causes the communication interface to communicate with the second node. For example, when the changed motion condition indicates the logistics container is at least stationary or decelerating, the revised operational communication parameter of the broadcast profile may decrease how frequently the node processing unit causes the communication interface to communicate with the second node. In another example, after (a) the changed motion condition previously indicated the logistics container was stationary or decelerating and (b) a current changed motion condition indicates the logistics container is now moving or accelerating, the node processing unit may change the revised operational communication parameter to increase how frequently the container node communicates with the second node. And in yet another example, when the changed motion condition indicates the logistics container is at least one of moving or accelerating, the revised operational communication parameter of the broadcast profile may increase how frequently the node processing unit causes the communication interface to communicate with the second node. Thus, various embodiments may be deployed to adaptively change how the container node communicates with other nodes and based upon different types of changed motion conditions.
In a further embodiment, the communication interface on the container node apparatus may respond to input or instructions from the node processing unit by transmitting a message to the second node where the message is related to the changed motion condition of the logistics container. In this further embodiment, the second node may be implemented with at least one or a server, a master node, and a package ID node associated with a package maintained within the logistics container. Further still, the communication interface may be implemented as a long range interface (e.g., medium/long range communication interface 41485 ) operative to provide access to a server as the second node or a short range interface (e.g., short range communication interface 41480 ) operative to provide access to a package ID node as the second node, where such a package ID node is associated with a package maintained within the logistics container (e.g., such as package ID Node A 38120 A associated with package 38100 A maintained within logistics container 37100 A).
When the communication interface is implemented as the short range interface (such as short range communication interface 41480 that may communicate using BLE formatted signals), the node processing unit may be further operative to cause the short range interface to transmit a control message to the package ID node. Such a control message may provide instructional input to the package ID node that alters operation of the package ID node based upon the identified changed motion condition of the logistics container. Thus, detected motion status related to the container may be used by multiple nodes to change not only the communication operation of the container node attached to the logistics container, but also to a package ID node within a package maintained with the same logistics container.
As shown in FIGS. 42 and 41 and described above, exemplary motion-sensing container node 41000 may be operational as an apparatus itself in an embodiment where the node is attached to a logistics container, such as container 37100 A. FIGS. 41 and 42 also illustrate a further embodiment that focuses on using exemplary motion-sensing container node 41000 as a component of an exemplary motion sensing container apparatus. Such an embodiment of an exemplary motion sensing container apparatus generally includes both a logistics container (e.g., container 37100 A) and a container node (e.g., node 41000 ) together where the container node is attached to the logistics container (e.g., fixed to, integrated as part of, or temporarily mounted to the container).
In this container apparatus embodiment, the logistics container maintains a plurality of packages (e.g., packages 38100 A- 38100 D) within a housing portion having an opening that may be secured by a door portion movably coupled to the housing portion. In particular, the housing defines an interior storage area capable of maintaining the packages. The door secures the interior storage area when in a closed position relative to the housing, and provides access through the opening to the interior storage area when the door is in an open position relative to the housing.
An exemplary logistics container may be in a variety of forms in this container apparatus embodiment. For example, the logistics container may, in more detail, be implemented using a ULD container that may be specially designed and configured to be shipped on aircraft; an intermodal shipping container that is, for example, specially outfitted to be transported on a container ship and be transferred as a loaded unit for further transport on another mode of transportation (e.g., via railway or highway conveyance); a trailer that may be designed to be pulled behind a truck; a delivery vehicle that may be loaded and from which deliveries are made over land, air, and water; a secure drop box logistics receptacle; and a secure locker container. Each of such exemplary types of logistics container may be exposed to different motion stimulus, which may allow for a highly tuned and adaptive way of altering how an exemplary container node attached to or associated with the container may autonomously operate to change a communication profile when communicating with other nodes.
The exemplary container node attached to such a logistics container as part of this motion-sensing container apparatus embodiment may be a first node in a wireless node network. Consistent with what is explained above with respect to exemplary container node 41000 , the container node in the motion-sensing container apparatus embodiment includes at least a motion sensor that detects a motion status of the logistics container, and a communication interface operative to allow the container node to communicate with a second node in the wireless node network in accordance with the container node's motion-dependent broadcast profile based upon the motion status detected by the motion sensor.
›DESCRIPTION OF THE EMBODIMENTS · 65 of 71
In more detail, the motion sensor in such a motion-sensing container apparatus embodiment may be implemented with different types of motion sensors, such as an inertial sensor, a shock detector, an accelerometer, and a microelectromechanical (MEMS) sensor. The detected motion status from the motion sensor in this apparatus embodiment may include a moving status, a stationary status, an accelerating status, and/or a decelerating status of the container.
The motion sensor in such a motion-sensing container apparatus embodiment may also be implemented with one or more similar or differing motion sensing elements. Thus, when the exemplary motion sensor in this container apparatus embodiment uses multiple sensing elements, at least one of the motion sensing elements may deployed relative to the door portion of the logistics container to sense movement of the door portion (such as when logistics personnel or other personnel open or close the door). Motion-based detection of access to within the logistics container (based on one of the motion sensing elements attached to the container's door in one embodiment) provides a self-detected stimulus that can be advantageously used by the container apparatus' container node to at least change how it broadcasts.
Further embodiments may have one of the motion sensing elements deployed to sense movement of the door in more specific ways. For example, various embodiments of such a motion sensing element may be implemented as an inertial sensor sensitive to inertial motion of the door; an optical sensor sensitive to light from outside the logistics container when the door is in the open position; a proximity sensor sensitive to a detected distance to the door so that opening the door results in a different detected distance to the door; an infrared sensor sensitive to motion of the door portion; a microwave sensor sensitive to motion of the door; an ultrasonic sensor sensitive to motion of the door; or an image sensor operative to capture image information over time of the door and, based upon analysis of the captured image over time, to detect motion of the door.
As noted above, the communication interface of the motion-sensing container apparatus embodiment's container node allows the container node to communicate via the motion-dependent broadcast profile with a second node. Examples of such a second node may include a server (e.g., server 100 as shown in FIG. 42 ) managing the wireless node network that includes the container node; a facility master node (e.g., facility master node 37110 a as shown in FIG. 42 ) managing the container node and in communication with a server managing the wireless node network that includes the container node and the facility master node; or a package ID node (e.g., ID node A 38120 A associated with package 38100 A as shown in FIG. 42 ) associated with at least one of the packages maintained within the interior storage area of the logistics container.
Further embodiments of the motion-sensing container apparatus include more details of the motion-dependent broadcast profile. For example, the motion-dependent broadcast profile may be implemented as an operational node profile that changes how frequently the communication interface communicates with the second node based upon the motion status detected by the motion sensor. In another example, the motion-dependent broadcast profile may be implemented to decrease how frequently the communication interface communicates with the second node when the motion status detected by the motion sensor indicates the logistics container is at least one of stationary or decelerating. Furthermore, the motion-dependent broadcast profile may be implemented to increase how frequently the communication interface communicates with the second node when the motion status detected by the motion sensor indicates the logistics container is at least one of moving or accelerating. And in yet another embodiment, the motion-dependent broadcast profile may be implemented so as to change a power level of a signal broadcast by the communication interface based upon the motion status detected by the motion sensor.
The container node's communication interface in the motion sensing container apparatus may also take different forms in various embodiments. In one embodiment, the communication interface comprises a long range interface (such as medium/long range communication interface 41485 ) operative to provide access to a server as the second node. Such a long range interface may provide such access via a longer range communication protocol, such as with communications using Wi-Fi or cellular formats. However, in another embodiment, the communication interface may be a short range interface (such as short range communication interface 41480 ) operative to provide access to a package ID node as the second node, where the package ID node is associated with at least one of the packages maintained within the interior storage area of the logistics container. In more detail, such an embodiment of the short range interface may transmit a control message to the package ID node according to a short range communication protocol (such as BLE) based upon the motion status detected by the motion sensor in accordance with the motion-dependent broadcast profile. As such, the control message may provide an instructional input or command to the package ID node so as to alter operation of the package ID node.
The exemplary container node may also be deployed as a component in an exemplary motion-based management system for a logistics container maintaining a plurality of packages within the logistics container. This exemplary system embodiment essentially includes a plurality of package ID nodes and a container node associated with the logistics container. Each of the package ID nodes (e.g., ID nodes A-D 38120 A-D) is associated with a different one of the packages (e.g., packages 38100 A-D) maintained within the logistics container. The container node in this system embodiment comprises at least a motion sensor and a communication interface. The motion sensor of the container node operates to detect a motion status of the logistics container, while the communication interface operates to allow the container node to communicate with at least one of the package ID nodes in accordance with a motion-dependent broadcast profile based upon the motion status detected by the motion sensor. Thus, this particular system embodiment focuses on the hierarchy of a motion-sensitive container node and the package ID nodes as disposed within a logistics container.
›DESCRIPTION OF THE EMBODIMENTS · 66 of 71
In this systems embodiment, the motion sensor may be configured similar to that described above relative to the motion-sensing container apparatus embodiment where the detected motion status for the logistics container may be at least one of a moving status, a stationary status, an accelerating status, and a decelerating status. In particular, such a motion sensor of the container node may be implemented as, for example, an inertial sensor, a shock detector, an accelerometer, and a microelectromechanical (MEMS) sensor. And such a motion sensor may be implemented with one sensing element or multiple sensing elements. In one embodiment where at least one of the motion sensing elements is deployed relative to an access door on the logistics container to sense movement of the access door, the motion sensor may detect the motion status by detecting movement from the door-deployed sensing element(s). Such motion sensing element or elements deployed to sense movement of the access door may, for example be implemented as at least one of an inertial sensor sensitive to inertial motion of the access door; an optical sensor sensitive to light from outside the logistics container when the access door is in the open position; a proximity sensor sensitive to a detected distance to the access door; an infrared sensor sensitive to motion of the access door; a microwave sensor sensitive to motion of the access door; an ultrasonic sensor sensitive to motion of the access door, and an image sensor operative to capture image information over time of the access door to detect motion of the access door.
Further embodiments of the motion-based management system may include more details of the motion-dependent broadcast profile. For example, the motion-dependent broadcast profile in such a system embodiment may be implemented as an operational node profile that can change how frequently the communication interface communicates with one of the package ID nodes based upon the motion status detected by the motion sensor. In another example, the motion-dependent broadcast profile in such a system embodiment may decrease how frequently the communication interface communicates with one of the package ID nodes when the motion status detected by the motion sensor indicates the logistics container is at least one of stationary or decelerating. In still another example, the motion-dependent broadcast profile may increase how frequently the communication interface communicates with one of the package ID nodes when the motion status detected by the motion sensor indicates the logistics container is at least one of moving or accelerating. Additionally, a further embodiment may have the container node being operative to transmit a control message to one of the package ID nodes based upon the motion status detected by the motion sensor in accordance with the motion-dependent broadcast profile. Such a control message provide instructional input to the package ID node so as to alter the operation of the package ID node (e.g., having the package ID node shift to a “sleep” mode to converse battery life while the system's container node detects a stationary motion status).
Further embodiments of the motion-based management system may also include more details of the communication interface on the system's container node. For example, the communication interface may also be operative to allow the container node to communicate with a higher level node apparatus (in addition to communicating with a package ID node). This may be implemented with two different communication interfaces (such as interfaces 41480 and 41485 ); with a single communication interface that logically includes one interface to communicate with a package ID node and another interface to communicate with the higher level node apparatus (such as a facility master node); or a single communication interface that may communicate with both a package ID node and the higher level node apparatus over the same communication path (e.g., using BLE communications for container node's interface 41480 to communicate with both ID node A 38120 A and facility master node 37110 a when container node 41000 and facility master node 37110 a are close enough for such communications).
Further embodiments of this motion-based management system for a logistics container may also provide more detailed implementations on the motion-dependent broadcast profile of the system's container node. For example, the motion-dependent broadcast profile may change a power level of a signal broadcast by the communication interface based upon the motion status detected by the motion sensor. In another example, the motion-dependent broadcast profile of the system's container node may also change how frequently the communication interface communicates with the higher level node apparatus based upon the motion status detected by the motion sensor (e.g., may decrease how frequently the communication interface communicates with the higher level node apparatus when the motion status detected by the motion sensor indicates the logistics container is at least one of stationary or decelerating or may increase how frequently the communication interface communicates with the higher level node apparatus when the motion status detected by the motion sensor indicates the logistics container is at least one of moving or accelerating.
A further embodiment may implement the higher level node apparatus with a server in direct communication with the container node via the communication interface. Another embodiment may implement the higher level node apparatus with a facility master node in direct communication with the container node via the communication interface, where the facility master node is managed by a server on a still higher level of the network. Thus, the communication interface recited in the system's container node may be implemented to communicate with various types of higher level node apparatus devices.
Expanding further, additional embodiments of an exemplary motion-based management system as explained above may expressly include a server in direct communication with the container node via the communication interface and/or a facility master node in direct communication with the container node via the communication interface, where the facility master node is also in communication with a server and managed by the server.
›DESCRIPTION OF THE EMBODIMENTS · 67 of 71
As described above, an exemplary container node (such as node 41000 illustrated in FIGS. 41 and 42 ) may operate as a component in various apparatus as well as more complex systems of components that implement devices used for motion-based management of a logistics container. FIG. 43 is a flow diagram illustrating an exemplary method more explicitly focused on the operation of such an exemplary container node when performing motion-based management of a logistics container in accordance with an embodiment of the invention. Referring now to FIG. 43 , exemplary method 4300 begins at step 4305 with monitoring the logistics container using a motion sensor of the container node. More detailed embodiments may implement the motion sensor used in step 4305 with, for example, an inertial sensor, a shock detector, an accelerometer, or a microelectromechanical (MEMS) sensor. Such a motion sensor, as noted previously, may comprise one or multiple sensing elements (of the same type of sensing element or of a diverse mixture of different types of sensing elements suitable for the particular part of the logistics container being monitored).
At step 4310 , method 4300 continues with detecting a motion status for the logistics container by the container node's motion sensor. Such a motion status may be reflected a movement detected (or no longer detected) to indicate and reflect a moving status, a stationary status, an accelerating status, or a decelerating status for the logistics container. In a more detailed embodiment where at least one sensing element is attached to a door portion of the logistics container to sense movement of the door portion, the motion sensor may detects the motion status by detecting movement from at least the door related sensing element.
At step 4315 , method 4300 stores the current detected motion status for the logistics container within memory storage of the container node. For example, node processing unit 41400 may store the current detected motion status information received from motion sensor 41465 as part of sensor data 450 within its memory structures (e.g., memory storage 41415 and/or volatile memory 41420 ) as well as prior motion status information for the logistics from previous movement events related to the logistics container detected with the motion sensor. In another example, the motion sensor itself may implement a type of memory storage that is operative to locally store the current detected motion status information as well as prior motion status information.
At step 4320 , method 4300 proceeds to have the container node comparing the detected motion status to a prior motion status for the logistics container maintained in the memory storage of the container node. This may, for example, be performed by the container node's processing unit (e.g., unit 41400 ). However, in another embodiment, this step may be performed locally within a motion sensor that may implement a local type of memory storage, as noted above, and have onboard logic that can locally compare different detected motion-related information (e.g., measurement values commensurate and corresponding to movement experienced by the logistics container).
At step 4325 , method 4300 continues with the container node identifying a changed motion condition for the logistics container based upon the comparison of the detected motion status and the prior motion status. In a more detail embodiment of step 4325 , when the current detected motion status information changes by a threshold amount when compared to prior motion status information, then the container node may identify a changed motion condition (which will depend upon the particular currently detected motion status and the prior detected motion status). For example, logistics container 31700 A may initially be stationary, but may be picked up and placed on a moving conveyor system. The container node 41000 attached to logistics container 31700 A may compare (as part of an example of step 4325 ) a detected motion status related to the container (i.e., a moving status reflected by the motion sensor 41465 on container node 41000 ) to a previously detected and prior motion status for the same container (i.e., a stationary status reflected by the same motion sensor 41465 ).
At step 4330 , method 4300 proceeds with altering a broadcast profile for the container node based upon the changed motion condition for the logistics container. In this particular way, the container node and its various components may operate according to method 4300 to yield a technical result that autonomously has the container node responsively changing aspects of its own broadcast profile using its own motion-based monitoring without relying upon a higher level node or server to cause such changes. In a further embodiment of step 4330 , method 4300 may have the container node revising at least one parameter of the broadcast profile to change how the container node communicates with a second node (such as a server managing a wireless node network that includes the container node; a facility master node managing the container node and in communication with a server managing a wireless node network that includes the container node and the facility master node; or a package ID node associated with a package maintained within the logistics container). The revised parameter may, in some embodiments, change how frequently the container node communicates with the second node based upon the revised parameter of the broadcast profile. For example, the revised parameter may cause the container node to decrease how frequently the container node communicates with the second node when the changed motion condition indicates the logistics container is at least one of stationary or decelerating. In more detail, the revised parameter may cause the container node to increase how frequently the container node communicates with the second node after the changed motion condition previously indicated the logistics container is at least one of stationary or decelerating but a current changed motion condition indicates the logistics container is at least one of moving or accelerating. In still another example, the revised parameter may cause the container node to increase how frequently the container node communicates with the second node when the changed motion condition indicates the logistics container is at least one of moving or accelerating. And in yet another example, the revised parameter may cause the container node to change a power level of a signal broadcast by the container node based upon the revised parameter of the broadcast profile.
›DESCRIPTION OF THE EMBODIMENTS · 68 of 71
As previously described with respect to other above-described embodiments, further embodiments of step 4330 in method 4300 may involve more than one stored broadcast or communication mode profiles (e.g., such as broadcast profiles 41330 ). As such, altering the broadcast profile may be implemented in such an embodiment by selecting from multiple communication mode profiles (e.g., broadcast profiles 41330 ) based upon the changed motion condition when the container node identifies the changed motion condition. Each of the communication mode profiles defines a different set of operational parameters used by the container node when broadcasts a signal in an attempt to communicate with a second node, such as parameters that may be used when the container is airborne, when the container is being unloaded, and other logistics-oriented situations.
An embodiment of method 4300 may proceed directly from step 4330 back to step 4305 to begin monitoring again for another movement type of event (e.g., a drop, shock, impact, vibration, acceleration, deceleration, door opening, door closing, movement, or simply a lack of movement). However, a further embodiment of method 4300 may, at step 4335 , have the container node notify a second node in a wireless node network (e.g., a server, a master node, and/or a package ID node associated with a package maintained within the logistics container) with a message related to the changed motion condition of the logistics container before proceeding back to step 4305 .
In more detail, another embodiment of method 4300 may have the container node operating to specifically transmit a control message to a package ID node associated with a package maintained within the logistics container. The control message provides, in this embodiment, instructional input (e.g., commands, data, or other relevant operational information) to the package ID node that changes a communication profile for the package ID node relative to the identified changed motion condition of the logistics container. Thus, an expanded method 4300 may leverage the container node as both altering its own broadcast profile but also being able to alter a communication profile for one or more of the package ID nodes being managed by the container node and as disposed within packages maintained within the logistics container.
While FIGS. 37, 38, and 42 describe aspects of an exemplary logistics container 37100 A that may be accessible by a door or other re-sealable or opening/closing structure so as to seal off the interior of the container, FIGS. 44-53 illustrate aspects of another type of logistics container that may also be used with an exemplary container node as described above. In general, the type of logistics container described in FIGS. 44-53 involves a node-enhanced base platform that supports packages and/or unpackaged items being transported and a cover for the base platform. Collectively as an assembled unit, the node-enhanced base and cover hold and maintain packages together in a secure manner. Such a two-part container essentially functions similar to a ULD type of logistics container in that both types of container hold and maintain packages for transport. However, as discussed in more detail below, this alternative type of logistics container (i.e., a base platform type of logistics container) may use a particular type of container node with further sensors on it.
In more detail, FIG. 44 is a diagram illustrating an exemplary base platform used as part of an alternative embodiment of a logistics container in accordance with an embodiment of the invention. Referring now to FIG. 44 , exemplary base platform 4400 is illustrated in perspective to show a central support surface 4405 surrounded by rail type of edge structure 4410 on the periphery of the base platform 4400 . As explained further and shown in FIGS. 52 and 53 , the base platform 4400 (via its central support surface 4405 ) is capable of supporting multiple packages via its central support surface 4405 . In one embodiment, the central support surface 4405 may be implemented as a rigid skid such that the rail structure 4410 is disposed along its periphery as a foundation to which multiple base attachment points may be installed and deployed. Further embodiments of base platform 4400 may be implemented as pallet-based platforms that may be configured to nest or stack, and made from a variety of materials (e.g., metal, wood, plastic, etc.) of sufficient strength to support what is targeted to be shipped on its central support surface while allowing for base attachment points along its periphery that mate with parts of a cover (e.g., grommet-lined edges of a cargo net or connection clips used at dispersed points of the cover's edge).
The exemplary rail edge structure 4410 is shown having respective channels 4415 a - 4415 d within its rail structure between each of the corners 4420 a - 4420 d . The channels 4415 a - 4415 d essentially provide a grooved slot-like location outside the central support base surface 4405 and near the periphery of the base platform. In this embodiment, it is within such channels 4415 a - 4415 d where base attachment points may be mounted in various ways (such as those shown in FIGS. 48-49 ) and where an exemplary container node may be mounted (as shown in more detail in FIGS. 45, 50 and 51 ). In other embodiments, the rail structure itself may incorporate integrated base attachment points (such as eye-like holding points shown in FIGS. 48-49 ). Likewise, in other embodiments, the container node may be integrated as part of the base platform itself.
FIG. 45 is a close up diagram illustrating further details of a corner of the exemplary base platform 4400 shown in FIG. 44 in accordance with an embodiment of the invention. Referring now to FIG. 45 , the rail edge structure 4410 on the periphery of the base platform 4400 shows where an exemplary container node 44200 may be attached within one of the channels 4415 c . In some embodiments, the entire container node 44200 (including all sensors and antennas) is localized to a small single location within a part of the base platform (such as being attached within channel 4415 c next to corner 4420 c ). However, in other embodiments, container node 44200 may be deployed having a central housing located and attached to one part of the base platform (e.g., within channel 4415 c next to corner 4420 c ) and multiple sensors and/or antenna elements dispersed at other parts of the base platform 4400 . For example, an embodiment of container node 44200 may have one or more sensors and/or one or more antenna elements that may be, for example, disposed within each of channels 4415 a - 4415 c , disposed proximate each of corners 4420 a - 4420 c , and/or integrated into the central support base surface 4405 so as to provide a more robust reception field relative to the base platform 4400 capable of localizing signals nearby (e.g., within node-enabled packages supported by surface 4405 ).
›DESCRIPTION OF THE EMBODIMENTS · 69 of 71
As deployed relative to base platform 4400 , exemplary container node 44200 is used as a node in a wireless node network of devices (similar to container node 4100 within the wireless node network of devices shown in FIG. 42 ). Container node 44200 (as shown on FIGS. 45, 50 and 51 ) is similarly configured to exemplary container node 41000 (as shown and explained relative to FIG. 41 ) and has at least a motion sensor and a communication interface. The motion sensor of node 44200 (similar to motion sensor 41465 of node 41000 ) may have one or more sensing elements and operates to detect a motion status of the logistics container made up of the base platform and a cover secured in place relative to the platform. The communication interface that operates to allow the container node 44200 to communicate with a second node in the wireless node network in accordance with a motion-dependent broadcast profile (such as one or more of broadcast profiles 41330 ) based upon the motion status detected by the motion sensor of node 44200 (e.g., whether the container using base platform 4400 is detected as having a moving status, a stationary status, an accelerating status, or a decelerating status).
As noted with container node 41000 , exemplary container node 44200 may also include further sensors (such as the other sensors 41467 described with node 41000 shown in FIG. 41 ) that are operatively coupled to the node's processing unit. Thus, in one embodiment, container node 44200 may include a magnetometer type of additional sensor (e.g., sensor 41467 ) that measures a magnetic field strength proximate the logistics container (i.e., the combined base platform and its secured cover). In such an embodiment, the communication interface may also allow the wireless container node to communicate with the second node in accordance with the motion-dependent broadcast profile further based upon the measured magnetic field strength. Stated another way in more detail, the container node may communicate with the second node via the communication interface in accordance with the motion-dependent broadcast profile and further based upon a change in magnetic field strength as measured by the magnetometer over a period of time. Thus, an embodiment of container node 44200 that deploys a magnetometer in addition to the motion sensor provides a type of motion and magnetic sensing container apparatus that is autonomously responsive to movement (via detected acceleration) and changes in the magnetic field exposed to the container.
FIGS. 46 and 47 show different configurations for typical channels in the base platform's rail structured periphery. In particular, FIG. 46 is a diagram illustrating a cross-sectional view of a first exemplary type of periphery edge piece from the exemplary base platform shown in FIG. 44 in accordance with an embodiment of the invention. Referring now to FIG. 46 , the illustrated A-A′ sectional view relative to FIG. 45 is shown in cross-section with channel 4415 b as a straight slot-like channel structure that has periodically disposed holes 4430 through the bottom of the channel 4415 b . FIG. 47 shows a cross-sectional view of a second exemplary configuration for periphery edge structure 4410 where the channel 4415 b ′ is configured with a retaining style slot channel structure with periodically disposed holes 4430 through the bottom of channel 4415 b ′. Such a retaining style slot channel structure includes captive overhanging flanges 4435 that operate to hold items placed within the channel 4415 b′.
In general, the channels on periphery 4410 allow for insertable base attachment points (e.g., movable eye structures that may be selectively secured in place) to be used along the periphery 44100 so that a cover may be secured in place with such attachment points. FIGS. 48 and 49 show different configurations of exemplary base attachment points as disposed and attached relative to these different configurations of channels 4415 b , 4415 b ′ of base platform 4400 . For example, FIG. 48 shows a cross-sectional view of an exemplary base attachment point as mated to channel 4415 b as shown in FIG. 46 . This embodiment of exemplary base attachment point is shown with an eyelet 4440 and base 4445 that fit within channel 4415 b . Attached to base 4445 is a post 4450 and securing hardware 4455 that allow post 4450 to be kept within the relative hole 4430 within the channel 4415 b . In some embodiments, post 4450 and securing hardware 4455 may be implemented as a threaded bolt and nut combination. In still other embodiments, hole 4430 may be threaded to receive a threaded version of post 4450 (which then may not require further securing hardware 4455 ). Those skilled in the art will appreciate that other embodiments may implement post 4450 and securing hardware 4455 via other types of mechanically captive structure that secures eyelet 4440 and base 4445 in place relative to the periphery 4410 of base platform 4400 .
FIG. 49 is a diagram illustrating a cross-sectional view of another exemplary base attachment point used with the second exemplary type of periphery edge piece from the exemplary base platform shown in FIG. 47 in accordance with an embodiment of the invention. Referring now to FIG. 49 , a similar eyelet and base 4455 is shown configured with an attachment flange 4460 and post 4465 , which mate with the configuration of channel 4415 b ′ including overhanging flanges 4435 and hole 4430 . In this embodiment, post 4465 may be spring loaded to retract within base 4445 such that the attachment flange structure 4460 may selectively slide within channel 4415 b ′ to a desired position, where post 4465 may then extend into hole 4430 as another exemplary way to secure the eyelet 440 in place relative to the periphery 4410 of base platform 4400 .
In like manner, FIGS. 50 and 51 show how container node 44200 may be attached to base platform 4400 via the differently configured channels. As shown in perspective in FIG. 45 , exemplary container node 44200 is attached to base platform 4400 within channel 4415 c near corner 4420 c . FIG. 50 is a diagram illustrating a cross-sectional view of exemplary container node 44200 as attached via a threaded screw 4470 within the configuration of channel 4415 c (similar to that shown as channel 4415 b in FIG. 46 ). While node 44200 is shown attached to base platform 4400 , other embodiments may have node 44200 attached in other ways (e.g., glued, clamped, etc.) that may be permanent or temporary so that node 44200 may be removed or replaced. Further embodiments may have node 44200 configured with base platform 4400 in a more integrated manner where the node 44200 is built into the platform's structure. In other words, exemplary container node 44200 may be removably secured to the base platform or, in some embodiments, be integrated as part of the base platform. Likewise, exemplary container node 44200 may be implemented using an attachment flange 4460 and post 4470 as shown in the configuration of the base platform's channel (similar to that shown and explained relative to FIG. 47 ).
›DESCRIPTION OF THE EMBODIMENTS · 70 of 71
FIG. 52 is a diagram illustrating how a plurality of exemplary packages may be disposed relative to the base platform 4400 shown in FIG. 44 when the base platform 4400 is part of an exemplary motion sensing container in accordance with an embodiment of the invention. Referring now to FIG. 52 , exemplary packages 5200 a - 5200 e are shown loaded or otherwise disposed on top of the central support surface 4405 of base platform 4400 . Once in this configuration, an exemplary cover 5300 may be deployed over the packages 5200 a - 5200 e as shown in FIG. 53 . In general, the cover 530 operates as a type of cargo restraint system that is attached to the base platform. As shown in FIG. 53 , exemplary cover 5300 includes multiple cover attachment points that can be at least temporarily secure to base attachment points on edges of the base platform. For example, and as shown in FIG. 53 , cover 5300 is deployed as a flexible cover (e.g., a cargo net, webbing, braided net, reinforced tarp, and the like) with multiple tie-down straps 5305 (used as cover attachment points) that connect to base attachment points deployed within channels 4415 a - 4415 d along the entire edge of base platform 4400 . When secured to the base attachment points via such straps 5305 , the cover 5300 is capable of securing the plurality of packages 5200 a - 5200 e to the base platform 4400 .
As assembled and shown in FIG. 53 , the alternative embodiment of a logistics container (i.e., base platform 4400 and flexible cover 5300 secured with straps 5350 ) may be deployed with exemplary container node 44200 (as shown in FIG. 45 ) to make up an embodiment of a motion sensing container apparatus able to communicate with other nodes. Examples of such other nodes may include a server managing the wireless node network that includes the container node 44200 ; a facility master node managing the container node 44200 and in communication with a server managing the wireless node network that includes the container node 44200 and the facility master node; or a package ID node associated with at least one of the packages 5200 a - 5200 e supported by the base platform 44200 of the logistics container and secured in place with the flexible cover 5300 of the logistics container.
Like container node 41000 as shown and explained above relative to FIGS. 41 and 42 , the container node 44200 deployed as part of this embodiment of a motion sensing container apparatus may have its motion-dependent broadcast profile changing how frequently the communication interface of node 44200 communicates with the second node based upon at least one of the motion status detected by the motion sensor and the magnetic field strength measured by the magnetometer. In more detail, the motion-dependent broadcast profile may decrease how frequently the communication interface of node 44200 communicates with the second node when at least one of the motion status detected by the motion sensor and the magnetic field strength measured by the magnetometer indicates the logistics container is at least one of stationary or decelerating. The motion-dependent broadcast profile for node 44200 may also increase how frequently the communication interface of node 44200 communicates with the second node when at least one of the motion status detected by the motion sensor and the magnetic field strength measured by the magnetometer indicates the logistics container is at least one of moving or accelerating. In a further embodiment, the motion-dependent broadcast profile of node 44200 may change a power level of a signal broadcast by the node's communication interface based upon the motion status detected by the motion sensor and/or the magnetic field strength measured by the magnetometer.
As deployed as part of this embodiment of a motion sensing container apparatus, an embodiment of the communication interface used in container node 44200 may be a long range interface (such as interface 41485 ) that provides access to a server, or may be a short range interface (such as interface 41480 ) operative to provide access to a package ID node associated with at least one of the packages 5200 a - 5200 e supported on the base platform 4400 of the logistics container. Such a short range interface may be used in node 44200 to transmit a control message (in accordance with the motion-dependent broadcast profile) to the package ID node based upon one of the motion status detected by the motion sensor; the magnetic field strength measured by the magnetometer; or a combination of the detected motion status and magnetic field strength. Such a control message may provide instructional input via, for example, a command or instruction to the package ID node to alter operation of the package ID node (such as having the control message causing the package ID node increase how frequently it transmits an advertising signal so that the container node 44200 receives more frequent updates from the package ID node).
Enhanced Package Placement Tracking Using a Motion-Sensitive Container Node
While an exemplary container node may be deployed, as explained above, for motion-based (e.g., detected physical movement, detected changes in magnetic fields) changes to how the container node communicates in various embodiments, additional embodiments may use an exemplary container node with a motion sensor (such as an accelerometer) to enhance determinations on whether a package has been placed within a particular logistics container. In general, a container node (as deployed with a logistics container) may detect a broadcast signal from an approaching package's ID node as the package is being loaded into the logistics container having the container node. However, this may happen while other container nodes placed within other neighboring logistics containers also detect the broadcast signal from the package's ID node. Thus, at times, simply detecting a close signal from a package's ID node may not be sufficiently accurate to conclusively determine if a package has been placed within a particular logistics container. Accordingly, in some embodiments, a logistics container receiving the package may also sense a bump or other impact force through sensors on the onboard container node. The detected or sensed bump or impact represents placement of the package within that particular container. Thus, detection of the broadcast signal from the package's ID node may be coupled with the detection of such a bump or impact and, collectively, used as a “tie breaker” when automatically monitoring and managing loading operations. As such, this technology-driven enhanced monitoring solution yields a technical effect, for example, of improving how package placement may be tracked in a logistics container using a specially configured and programmed container node. Stated another way, while detected information from a node-enabled and broadcasting package may be captured by a neighboring group of container nodes in respective logistics containers, the combined use of the detected impact/bump by one of the logistics containers automatically increases the confidence level of that package having been placed within that particular logistics container.
›DESCRIPTION OF THE EMBODIMENTS · 71 of 71
FIG. 54 is a diagram illustrating an embodiment of an exemplary motion sensing container node configured for use when improved tracking of packages placed within a logistics container in accordance with an embodiment of the invention. Referring now to FIG. 54 , exemplary motion sensing container node 54000 is shown similar to container nodes 38000 and 41000 (which were earlier described as being similar in some embodiments to a master node of FIG. 4 without location circuitry). More specifically, those skilled in the art will appreciate that one embodiment of exemplary container node 54000 includes many of the same hardware, code, and data components as shown for exemplary master node 110 a of FIG. 4 , but simplified so as not to include location circuitry, as well as to that of exemplary container node 38000 illustrated in FIG. 39 and container node 41000 illustrated in FIG. 41 . As such, similar functionality exists for what is numbered the same or similarly and described above regarding exemplary master node 110 a and exemplary container nodes 38000 or 41000 . Thus, while master node 110 a shown in FIG. 4 is described as having processing unit 400 , memory storage 415 , volatile memory 420 , clock/timer 460 , sensors 465 , battery/power interface 470 , short range communication interface 475 , and medium/long range communication interface 480 , exemplary container node 54000 may use similar hardware components as shown in FIG. 54 . This includes processing unit 54400 , memory storage 54415 , volatile memory 54420 , clock/timer 54460 , sensors 54465 and 5467 , battery/power interface 54470 , short range communication interface 54475 , and medium/long range communication interface 54480 .
Further, the embodiment of exemplary container node 54000 illustrated in FIG. 54 deploys container control and management code 54425 (as stored in memory storage 54415 and loaded for execution by processing unit 54400 in volatile memory 54420 ), which is similar in functionality to container control and management code 38425 , container control and management code 41425 , and master node control and management code 425 described above in more detail. Such code, as previously described, generally controls the behavior of the node relating to communications (with a node advertise and query logic manager), information management (with an information control and exchange manager), power management (with a node power manager that interacts with the various communication interfaces, for example, to manage power consumption and broadcast power aspects at a low level), and association management (with an association manager). As such, container control and management code 54425 essentially operates similar to that as described above for container node control and management code 38425 and code 41425 (and master node control management code 425 but without the need for a location aware/capture module) but further includes motion-based package tracking program code 54500 for improved and enhanced motion-based tracking of package placement within a logistics container as described in more detail below with respect to methods described relative to FIGS. 56-58 . Thus, an embodiment of motion-based package tracking program code 54500 may be implemented as an integrated part of container control and management code 54425 , such as one or more programmatic functions or additional program modules that may be called within code 54425 . However, in other embodiments, the motion-based package tracking program code 54500 used to implement the methods as described with respect to FIGS. 56-58 may be implemented separately from code 54425 in a way that allows code 54500 to call some of the programmatic functions or program modules described as part of code 425 to implement the steps as laid out in the methods of FIGS. 56-58 and variations of those methods as described herein.
In general, exemplary motion-based package tracking code 54500 adapts the operation of container node 54000 such that the node detects motion-based events (and in many embodiments also detecting signals broadcast by a node-enabled package) and, based upon such detected items, responds in an unconventional way that automatically determines whether a package was placed within the logistics container associated with container node 54000 so that the container node 54000 may proactively report this determination up to a managing node in the network. As such determinations are made, an embodiment of container node 54000 running exemplary motion-based package tracking code 54500 may also update an inventory of the related logistics container. Such current inventory information related to the logistics container may be kept as inventory data 54600 within container node
Claims as granted
86 claimsLog in to read the claims of this application.
Log in to unlockClassifications
17 codes- G06Q10/08
- G08B25/08
- G08B21/18
- H04W4/029
- H04W4/02
- H04W4/80
- H04W36/08
- H04W64/00
- H04W84/18
- H04L29/06
- H04L29/08
- H04W76/11
- H04W28/02
- H04W52/32
- H04L12/26
- H04W36/30
- H04W76/15
Claim changes
SoonSee which claims were amended, added or cancelled during examination, with every added and removed word marked.
The published claims of this application are not paired with the granted ones in what we hold.
File wrapper
See the full prosecution history — every USPTO and applicant action on this file, in order.
Log in to unlockDocuments
Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.
Log in to unlockChain of title
See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.
Log in to unlock