Event monitoring of event candidates associated with ID nodes in a wireless node network

By introducing an improved system into the wireless node network, and using the independent communication interface of the master node to identify and report event candidates, monitoring and management problems in the prior art are solved, and efficient network communication and real-time component status monitoring are achieved.

CN113543092BActive Publication Date: 2025-05-13FEDERAL EXPRESS CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110572114.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2015-07-08
Filing Date
2016-05-31
Publication Date
2025-05-13
Estimated Expiration
2036-05-31

AI Technical Summary

Technical Problem

The prior art is difficult to effectively monitor and manage event candidates in wireless node networks, resulting in excessive network communication load and lack of real-time monitoring and response capabilities for individual component status.

Method used

An improved system is adopted, including a server, an ID node and a master node. The master node communicates with the ID node and the server through an independent communication interface, and runs event detection engine code to identify event candidates and report them to the server, reducing server load.

Benefits of technology

It realizes efficient monitoring and management of event candidates in wireless node networks, reduces network communication load, and improves real-time monitoring and response capabilities for individual component status.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113543092B_ABST
    Figure CN113543092B_ABST
Patent Text Reader

Abstract

Systems, devices, and methods for enhanced monitoring of event candidates in a wireless node network are described. Such a system may, for example, include: a server, disposed at a top level in the wireless node network; an ID node, disposed at a low level in the wireless node network; and a master node, disposed at an intermediate level in the wireless node network. The master node (which communicates separately with the server and the ID node and runs event detection code stored on its memory storage device) is operable to detect first and second announcement signals broadcast by the ID node through a communication path with the ID node, compare observed parameters (e.g., signal strength) of each of the first and second announcement signals, identify event candidates based on the comparison, and report the identified event candidates to the server using a second communication path.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Priority and related applications

[0002] This PCT international application claims priority to related U.S. Provisional Patent Application No. 62 / 189,911, filed on July 8, 2015, and entitled “Methods and Systems for Enhanced Monitoring for an Event Candidate and Adaptive Management of a Wireless Node Network Based Upon the Event Candidate.”

[0003] The subject matter of this PCT application is also related to the following U.S. nonprovisional patent applications, each of which claims priority to the same U.S. provisional patent applications: (1) Nonprovisional patent application No. __ / ______, entitled “Systems, Apparatus, and Methods of Event Monitoring for an Event Candidate within a Wireless Node Network Based Upon Sighting Events, Sporadic Events, and Benchmark Checkpoint Events”; (2) Nonprovisional patent application No. __ / ______, entitled “Systems, Apparatus, and Methods of Time Gap Related Monitoring for an Event Candidate Related to an ID Node within a Wireless Node Network”; (3) Nonprovisional patent application No. __ / ______, entitled “Systems, Apparatus, and Methods of Enhanced Monitoring foran Event Candidate Associated with Cycling Power of an ID Node within a Wireless Node Network”; and (4) Nonprovisional patent application No. __ / ______, entitled “Systems, Apparatus, and Methods of Checkpoint Summary Based Monitoring for an Event Candidate Related to an ID Node within a Wireless Node Network”; (5) Non-provisional patent application No. __ / ______, entitled “Systems, Apparatus, and Methods of EnhancedCheckpoint Summary Based Monitoring for an Event Candidate Related to an IDNode within a Wireless Node Network”; (6) Non-provisional patent application No.__ / ______, titled "Systems, Apparatus, and Methods of Enhanced Management of a Wireless NodeNetwork Based Upon an Event Candidate Related to Elements of the WirelessNode Network." . Technical Field

[0004] The present disclosure relates generally to systems, devices, and methods in the field of tracking items (e.g., objects, packages, people, pieces of equipment) using elements of a wireless node network, and more specifically to various aspects of systems, devices, and methods for enhanced monitoring of event candidates related to the status of elements of the wireless node network and adaptive management of the wireless node network based on the event candidates. Background Art

[0005] Asset management has always been a vital part of business, and the ability to identify items and locate their whereabouts can 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's a company tracking inventory for sale in its stores or a package delivery provider tracking packages shipped through its delivery network. To provide quality service, organizations often create and maintain highly organized networks for tracking their items—packages, people, objects, etc. Effective management of such networks allows for lower costs, reduced delivery times, and enhanced customer service. Effective deployment of these networks also helps manage costs.

[0006] In addition to tracking packages, the parties shipping and receiving packages may also require information regarding the condition of the package, such as its temperature and humidity. For example, a customer pre-ordering a case of wine may wish to monitor the temperature of the case's contents to determine if the temperature and / or humidity exceed or fall below set ranges. Similarly, the party shipping the package may also wish to monitor the condition of the package to ensure that the contents arrive in proper condition.

[0007] Conventionally, this tracking functionality can be provided by a variety of known mechanisms and systems. Machine-readable barcodes are one way organizations track items. For example, retailers may use barcodes on items in their inventory. For example, each item for sale in a retailer's store may be labeled with a different machine-readable barcode. To track inventory, retailers typically scan or otherwise capture an image of the barcode on each item, allowing the back-end portion of the retailer's operations to track incoming and outgoing goods from suppliers. Additionally, when an item is sold to a customer, the barcode for that item is scanned or captured to track sales and inventory levels.

[0008] Similarly, package delivery providers can utilize machine-readable barcodes by associating barcodes with packages to be delivered to recipients. For example, a package may have a barcode corresponding to that package's tracking number. The package's barcode can be scanned each time the package passes through a transit checkpoint (e.g., when the carrier initially takes possession of the package, when the package is temporarily placed in a storage facility while moving from the pickup point to the delivery location, and when the package is delivered to the recipient). However, a disadvantage of barcodes is that employees must manually scan each barcode for each item in order to effectively track the item.

[0009] Radio frequency identification (RFID) tags are another known mechanism for tracking items. In contrast to barcodes, RFID tags typically do not require manual scanning. For example, in a retail context, RFID tags on inventory items may be able to communicate with an electronic reader that detects the items in a shopping cart and adds the cost of each item to the customer's bill. RFID tags typically transmit an encoded number when queried or prompted by a reader. RFID tags are also used to track items such as livestock, railroad cars, trucks, and even airline luggage. These tags typically only allow basic tracking but do not provide a way to improve asset management using information about the environment in which the item is tracked.

[0010] Sensor-based tracking systems are also known, which can provide more information than RFID systems. Carriers, shippers, recipients, and other parties often want to understand the location, condition, and integrity of shipments before, during, and after transportation to meet quality control goals, satisfy regulatory requirements, and optimize business processes. However, such systems are often expensive given the complexity of the sensors and can provide irrelevant and redundant item information.

[0011] An additional challenge facing tracking systems may be how to monitor and follow what is happening at the low levels of the network without overloading or straining communications with back-end servers (which operate to manage the elements of the networked system). Monitoring of nodes in a network of wireless nodes can generate large amounts of data - for example, time series scan data broadcast by a particular node about the things being detected. The state of a node typically changes over time, and therefore the data generated when monitoring a node will be dynamic and change over time to reflect this node behavior and changing state. Therefore, monitoring systems are often faced with the challenge of how to effectively identify, report, and respond to relevant changes in relative nodes within this huge amount of data. In addition, conventional tracking systems typically do not monitor the state of individual elements to gain a common understanding of what is being monitored so that it can identify that what is happening can be linked to known, expected, or new node relevant activity.

[0012] To address one or more of these challenges, there is a need for a wireless node-based system that can monitor data related to objects (e.g., shipping items, personnel, or equipment) and effectively expand visibility of such objects. There remains a need for improved systems that can provide more extensive and robust identification, tracking, and management of objects via different types of wireless nodes and management backend servers, and do so in a cost-effective manner. Specifically, there remains a need for systems, devices, and methods for enhanced monitoring of event candidates associated with elements of a wireless node network and adaptive management of the wireless node network based on the event candidates. Summary of the Invention

[0013] In the following description, certain aspects and embodiments are generally directed to providing technical solutions for enhancing logistics monitoring operations, which monitor event candidates associated with elements of a wireless node network (which has low-level ID nodes, master nodes that communicate with the ID nodes at the middle level of the network, and servers that communicate with the master nodes at the high level of the network). It should be understood that the aspects and embodiments in their broadest sense can be implemented without one or more features of these aspects and embodiments. It should be understood that these aspects and embodiments are merely exemplary.

[0014] For example, one aspect of the present disclosure focuses on an improved system for identifying event candidates in a wireless node network. The system generally includes: a server, disposed at a top level in the wireless node network; an ID node, disposed at a lower level in the wireless node network; and a master node, disposed at an intermediate level in the wireless node network. In more detail, the master node also includes a master node processing unit (e.g., a processor or a processor-based controller), a memory storage device, and two different communication interfaces. Each of the memory storage device and the communication interface is coupled to the master node processing unit. A first of the communication interfaces is configured and operable to communicate with the ID node via a first communication path, wherein the second communication interface is configured and operable to communicate with the server via a second communication path (which is different from the first communication path). Thus, the communication interface of the master node provides independent access to distinct and different communication paths to different elements of the wireless node network (e.g., a server and one or more ID nodes).

[0015] In addition, the memory storage device retains event detection engine code for execution by the master node processing unit. Therefore, and when executing this event detection engine code, the master node processing unit is programmable to transform into being non-conventionally operable as part of the system to interact with the first communication interface so as to detect a first announcement signal broadcast by the ID node via the first communication path, and then detect a second announcement signal broadcast by the same ID node after the ID node broadcasts the first announcement signal. The master node processing unit is also operable to compare an observed parameter of each of the first announcement signal and the second announcement signal, identify an event candidate based on the comparison of the observed parameters of each of the first announcement signal and the second announcement signal, and then cause the second communication interface to report the identified event candidate to the server via the second communication path as part of limiting the load on the system's server and improving the overall operation of such monitoring system.

[0016] In another aspect of the present disclosure, a master node device (similar to the master node element of the system) for enhanced monitoring of event candidates in a wireless node network (which has multiple ID nodes and servers) is described. The master node generally has a node processing unit (e.g., a processor or a processor-based controller), a memory storage device, and two different communication interfaces. Each of the memory storage device and the communication interface is coupled to the node processing unit. A first of the communication interfaces is configured and operable to communicate with at least one of the ID nodes via a first communication path, wherein the second communication interface is configured and operable to communicate with the server via a second communication path (which is different from the first communication path). Thus, the communication interface of the master node device provides independent access to distinct and different communication paths to different elements of the wireless node network (e.g., a server and an ID node).

[0017] In addition, the memory storage device retains event detection engine code for execution by the node processing unit of the master node device. Therefore, and when this event detection engine code is executed, the node processing unit of the device is programmable to transform into being unconventionally operable and configured to use the first communication interface to detect a first announcement signal broadcast by the ID node via the first communication path, and then detect a second announcement signal broadcast by the same ID node after the ID node broadcasts the first announcement signal. The node processing unit is also operable to compare the observed parameters of each of the first announcement signal and the second announcement signal, identify event candidates based on the comparison of the observed parameters of each of the first announcement signal and the second announcement signal, and then cause the second communication interface to report the identified event candidates to the server via the second communication path as part of limiting the load on the server of the system via such improved operation of monitoring the master node device.

[0018] In yet another aspect of the present disclosure, a master node implementation method for enhanced monitoring of event candidates in a wireless node network having multiple ID nodes, a master node that communicates with the ID nodes, and a server that communicates with the master node is described. Generally speaking, the method begins with the master node receiving a first announcement signal broadcast by a first of the ID nodes, and then receiving a second announcement signal broadcast by the first ID node after the first ID node broadcasts the first announcement signal. The method proceeds with the master node identifying event candidates based on a comparison of node observation parameters of the first announcement signal and the second announcement signal, and then reporting the event candidates relative to the first ID node. Thus, the method enables the master node to perform intermediate monitoring and helps improve the operation of the wireless node network via minimized reporting of identified event candidates that are only relevant to the first ID node.

[0019] Each of these aspects respectively realizes an improvement in the technology of server management network of wireless nodes, which can be deployed, for example, in logistics applications, where nodes are monitored and tracked in the middle by various elements of the wireless node network (e.g., master nodes), enabling the intermediate elements to operate more quickly and efficiently while monitoring and reporting important node-related events all the way to the management server of the wireless node network. Additional advantages of this and other aspects of the disclosed embodiments and examples will be set forth in part in the following description, and in part will be obvious from this description or can be understood by practice of the invention. It is to be understood that the above general description and the following detailed description are exemplary and illustrative only and are not limitations of the invention as claimed. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] 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 present invention and, together with the description, serve to explain one or more principles of the present invention. The drawings include:

[0021] Figure 1 is a simplified diagram of an exemplary wireless node network according to an embodiment of the present invention;

[0022] Figure 2 is a more detailed diagram of an exemplary wireless node network according to an embodiment of the present invention;

[0023] Figure 3 is a more detailed schematic diagram of an exemplary ID node device according to an embodiment of the present invention;

[0024] Figure 4 is a more detailed schematic diagram of an exemplary master node apparatus according to an embodiment of the present invention;

[0025] Figure 5 is a more detailed schematic diagram of an exemplary server according to an embodiment of the present invention;

[0026] Figure 6 is a simplified diagram illustrating the structure or format of an exemplary announcement data packet according to an embodiment of the present invention;

[0027] Figure 7 is a simplified diagram illustrating sample contents of an exemplary announcement data packet according to an embodiment of the present invention;

[0028] Figure 8 is a state diagram illustrating exemplary states and transitions between states as part of operations performed by an exemplary node in a network of wireless nodes in accordance with an embodiment of the present invention;

[0029] Figure 9 is a simplified diagram illustrating exemplary components of a wireless node network during an exemplary master-to-ID node association according to an embodiment of the present invention;

[0030] Figure 10 is a simplified diagram illustrating exemplary components of a wireless node network during an exemplary ID-to-ID node association according to an embodiment of the present invention;

[0031] Figure 11 is a simplified diagram illustrating exemplary components of a wireless node network during an exemplary ID-to-master node query according to an embodiment of the present invention;

[0032] Figure 12 is a simplified diagram illustrating exemplary components of a wireless node network during an exemplary alert announcement mode according to an embodiment of the present invention;

[0033] Figure 13 is a simplified diagram illustrating exemplary position determination using master node announcements according to an embodiment of the present invention;

[0034] Figure 14 is a simplified diagram illustrating exemplary location determination using ID Node Advertisements according to an embodiment of the present invention;

[0035] Figure 15 is a simplified diagram illustrating exemplary position determination by triangulation according to an embodiment of the present invention;

[0036] Figure 16 is a simplified diagram illustrating exemplary position determination by link triangulation according to an embodiment of the present invention;

[0037] Figure 17 is a simplified diagram illustrating an example logistics operation using exemplary components of a wireless node network according to an embodiment of the present invention;

[0038] Figure 18 is a flow chart illustrating an example method for managing shipment of items using a network of wireless nodes, according to an embodiment of the present invention;

[0039] Figure 19is a flow chart illustrating another example method for managing the shipment of an item using a network of wireless nodes according to an embodiment of the present invention;

[0040] Figure 20 is a simplified diagram illustrating an exemplary node package located in an exemplary vehicle environment according to an embodiment of the present invention;

[0041] Figure 21 is a simplified diagram illustrating an exemplary mobile storage unit, such as a ULD, used as a container to assist in shipping a node package in an exemplary air transport environment in accordance with an embodiment of the present invention;

[0042] Figures 22A-22C is a simplified diagram illustrating exemplary stages of movement of an ID node through portions of an exemplary transit path while associated with different master nodes in accordance with an embodiment of the present invention;

[0043] Figure 23 is a flow chart illustrating an example method for association management of a network of wireless nodes according to an embodiment of the present invention;

[0044] Figure 24 is a flow chart illustrating another example method for association management of a network of wireless nodes according to an embodiment of the present invention;

[0045] Figure 25 is a flow chart illustrating yet another example method for association management of a network of wireless nodes according to an embodiment of the present invention;

[0046] Figure 26 is a flow chart illustrating an exemplary method for context management for a network of wireless nodes according to an embodiment of the present invention;

[0047] Figure 27 is a flow chart illustrating an exemplary method for locating a node in a network of wireless nodes based on observed signal patterns and characteristic indications during a time period in accordance with an embodiment of the present invention;

[0048] Figure 28 is a flow chart illustrating an exemplary method for location determination by varying power characteristics of a node in a wireless node network, according to an embodiment of the present invention;

[0049] Figure 29 is a flow chart illustrating an exemplary method for position determination using one or more associations of nodes in a wireless node network, according to an embodiment of the present invention;

[0050] Figure 30 is a flow chart illustrating another exemplary method for position determination using one or more associations of nodes in a wireless node network according to an embodiment of the present invention;

[0051] Figure 31 is a flow chart illustrating yet another exemplary method for position determination using one or more associations of nodes in a wireless node network according to an embodiment of the present invention;

[0052] Figure 32 is a flow chart illustrating an exemplary method for position determination of a first node in a wireless node network based on context data according to an embodiment of the present invention;

[0053] Figure 33 is a flow chart illustrating an exemplary method for determining position using link triangulation for one of a plurality of nodes in a wireless node network with a server in accordance with an embodiment of the present invention;

[0054] Figure 34 is a simplified diagram of an exemplary wireless node network providing event detection and event candidate processing characterization according to an embodiment of the present invention;

[0055] Figure 35 According to an embodiment of the present invention, the operation is performed to monitor event candidates Figure 34 A more detailed diagram of another exemplary master node in the illustrated network;

[0056] Figure 36 According to an embodiment of the present invention, the present invention operates to receive event candidates and manage a network based on the event candidates. Figure 34 a more detailed diagram of another exemplary server in the illustrated network;

[0057] Figures 37A-37M is a series of graphical illustrations showing exemplary timelines of detected signals and identified different types of exemplary event candidates over time, in accordance with an embodiment of the present invention;

[0058] Figure 38 is a flow chart illustrating an exemplary method for monitoring event candidates in a network of wireless nodes based on receipt of first and second announcement signals broadcast by an ID node, in accordance with an embodiment of the present invention;

[0059] Figure 39 is a flow chart illustrating an exemplary method for monitoring event candidates in a network of wireless nodes over time based on the receipt of multiple announcement signals broadcast by ID nodes, in accordance with an embodiment of the present invention;

[0060] Figure 40 is a flow chart illustrating an exemplary method for enhanced monitoring of event candidates in a network of wireless nodes based on the receipt of multiple signals from an ID node and multiple time gaps between prompt signals of the detection signal in accordance with an embodiment of the present invention;

[0061] Figure 41is a flow chart illustrating an exemplary method for enhanced monitoring of event candidates in a wireless node network based on reception of multiple signals from an ID node and detecting whether the ID node broadcasts using a cyclic broadcast RF power profile setting, in accordance with an embodiment of the present invention;

[0062] Figure 42A -D is a detailed flow chart illustrating a portion of an exemplary method for enhanced monitoring of event candidates in a network of wireless nodes according to an embodiment of the present invention;

[0063] Figure 43 is a flow chart illustrating an exemplary method for enhanced management of a network of wireless nodes based on receipt of event candidates processed in accordance with an embodiment of the present invention;

[0064] Figure 44 is a flow chart illustrating another exemplary method for enhanced management of a network of wireless nodes based on receipt of event candidates processed in accordance with an embodiment of the present invention;

[0065] Figure 45 is a flow chart illustrating an exemplary method for enhanced monitoring of event candidates in a network of wireless nodes based on checkpoint summary points representing groupings or aggregations of detected signals, in accordance with an embodiment of the present invention; and

[0066] Figure 46 is a flow chart illustrating another exemplary method for enhanced monitoring of event candidates in a network of wireless nodes based on checkpoint summarization, according to an embodiment of the present invention. DETAILED DESCRIPTION

[0067] Reference will now be made in detail to exemplary embodiments.Where possible, the same reference numerals are used in the drawings and the description to refer to the same or like parts.

[0068] Generally speaking, various embodiments of a context-aware hierarchical wireless node network are described below, which can be managed, operated, and applied using the principles described herein. Generally speaking, embodiments of a wireless node network may include one or more low-level devices or nodes (e.g., ID nodes) that rely on short-range communications with a higher-level device or node (e.g., a master node). The higher-level device or node is operable to communicate with a server via different communication paths, while the lower-level nodes cannot communicate directly with the server. Those skilled in the art will understand that this hierarchical structure of different functional communication network components (generally referred to as network devices) can be characterized as a network of nodes. Those skilled in the art will understand that in some embodiments, a wireless node network may include servers as well as different wireless nodes, despite the fact that the servers may not be dedicated wireless components. In other embodiments, the network may include similar types of wireless nodes or different types of wireless nodes.

[0069] Furthermore, those skilled in the art will appreciate that the various embodiments described herein implement improvements to specific technologies, such as monitoring and node management technologies for adaptive context-aware wireless node networks using node elements. Each embodiment describes specific technology applications operating in one or more nodes of such wireless node networks, wherein the specific technology applications improve or otherwise enhance such technology areas, as described and supported by the following disclosure.

[0070] Those skilled in the art will appreciate from the following detailed description that nodes can be associated with items (e.g., objects, packages, people, pieces of equipment) and can be used to identify and locate items while being dynamically programmed during operation of the network and while the items are moving along a projected path (e.g., a transit path from an origin to a destination). Various embodiments of wireless node networks, exemplary methods for managing components of wireless node networks, exemplary methods for better determining the location of components of wireless node networks, and application of wireless node networks to enhance logistics operations (which rely on wireless node networks) are further described below. Specifically, Figure 1-33 Provides simplified diagrams and flow charts regarding the basic operation of various types of network elements deployed in embodiments of wireless node networks, and Figure 34-44 More details are provided regarding embodiments of systems, devices, and methods for enhanced monitoring of event candidates associated with elements of a wireless node network and adaptive management of the wireless node network based on the event candidates.

[0071] Wireless Node Network

[0072] Figure 1 A basic simplified diagram of an exemplary wireless node network according to an embodiment of the present invention is shown. Figure 1The exemplary network shown includes a server 100 connected to a network 105, which is further operatively connected to various network components, such as a master node 110a, and indirectly connected to an ID node 120a via the master node 110a. The master node 110a is typically connected to the ID node 120a via short-range wireless communication (e.g., Bluetooth® formatted communication). The master node 110a is typically connected to the server 100 via long-range wireless communication (e.g., cellular) and / or medium-range wireless communication (e.g., wireless local area data network or Wi-Fi) via the network 105. The ID node 120a is typically a low-cost device that can be easily placed in a package, integrated as part of the packaging, or otherwise associated with an item to be tracked and located (e.g., a package 130, a person, or an object (e.g., a vehicle, etc.)). Generally speaking, the ID node is able to communicate directly with the master node but not directly with the server, while the master node is able to communicate directly with the server and, separately, with other nodes (e.g., an ID node or another master node). The ability to deploy a hierarchy of nodes in an exemplary wireless node network so as to distribute tasks and functions at different levels in an efficient and economical manner helps facilitate a wide range of adaptive positioning, tracking, management and reporting applications using such networks of nodes, as discussed in more detail below.

[0073] Generally speaking, the lower cost, lower complexity ID node 120a is managed by the higher complexity master node 110a and server 100 as part of tracking the location of the ID node 120a (and associated items), thereby providing intelligent, robust and extensive visibility into the location and status of the ID node 120a. In a typical embodiment, the ID node 120a is first associated with an item (e.g., a package 130, a person, or an object). As the ID node 120a moves with the item, the ID node 120a becomes associated with the master node 110a, and the server 100 is updated with this information. Further movement of the ID node 120a and the item may cause the ID node 120a to disengage from the master node 110a and switch to becoming associated with another master node (not shown), thereafter again updating the server 100. Thus, the server 100 generally operates to coordinate and manage information associated with the ID node 120a as the item physically moves from one location to another. Additional details of the architecture and functionality of exemplary ID node and master node embodiments are provided below with respect to Figure 3 and Figure 4 More detailed description, and the exemplary server 100 is below for Figure 5 Describe in more detail.

[0074] Although the server 100 is shown as being connected via the network 105, those skilled in the art will appreciate that the server 100 may have access to Figure 1Other components shown, such as a more direct or dedicated connection to the master node 110a, depend on the implementation details and the intended communication path. In addition, those skilled in the art will understand that the exemplary server may include a database ( Figure 1 In other embodiments, multiple databases maintained on multiple server platforms or network storage servers may be used to maintain such a collection of information. Furthermore, those skilled in the art will appreciate that the database may be implemented using cloud technology, which essentially provides networked storage of a collection of information that is directly accessible to a device (e.g., master node 110a).

[0075] The 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, in embodiments of the present invention, such exemplary networks or paths may be implemented using hardwired structures (e.g., LANs, WANs, 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 on the interconnected servers 100 and Figure 1 The other components shown are the intended implementation of the network.

[0076] Master node 110a and ID node 120a are types of nodes. A node is generally a component or device that is part of a network and is used to perform one or more tasks. Embodiments of a node may have a unique identifier (e.g., an Internet Protocol version 6 (IPv6) identifier), such as a Media Access Control (MAC) address or an address assigned to a hardware radio. In some embodiments, the node's unique identifier may be correlated with a shipment identifier (e.g., a shipment tracking number in one example), or may itself be a shipment tracking reference.

[0077] ID nodes, such as ID node 120a, are generally low-cost active wireless devices. 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) to provide power to the circuitry of the ID node. For example, the physical implementation of an exemplary ID node can be small and thus amenable to integration into a package, tag, container, or other type of object. In some implementations of the ID node, the node is rechargeable, while other implementations do not permit recharging of the power source of the ID node. In other implementations, the ID node is environmentally isolated or sealed to enable robust and reliable operation under a variety of environmentally harsh conditions.

[0078] A master node, such as master node 110a, generally functions as an intelligent bridge between ID node 120a and server 100. Accordingly, a master node is generally more complex than an ID node. In an example embodiment, an exemplary master node is a device having a processing or logic unit, a short-range radio (which may have variable RF characteristics) for communicating with other nodes (ID nodes and other master nodes), a medium-range and / or long-range radio for communicating with server 100, a 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) to provide power to the circuitry of the master node. An exemplary master node, such as master node 110a, may be positioned at a known fixed location, or alternatively may be a mobile unit having dedicated position location circuitry (e.g., GPS circuitry) to allow the master node to self-determine its location.

[0079] Although Figure 1 The illustrated embodiment shows only a single master node and a single ID node, but those skilled in the art will appreciate that a wireless network consistent with embodiments of the present invention may include a large number of similar or different master nodes (each of which communicates with the server 100 and / or other master nodes) and a large number of similar or different ID nodes. Figure 1 The exemplary network shown is a basic embodiment, and Figure 2 The exemplary network shown is a more detailed exemplary network of wireless nodes according to another embodiment of the present invention.

[0080] Now refer to Figure 2 , shows another exemplary wireless node network including server 100 and network 105. Here, master nodes 110a, 110b, 110c are deployed and connected to network 105 (and to server 100 through those respective connections), as well as to each other. ID nodes 120a, 120b, 120e are shown as being connectable or operable to communicate via different paths to the various master nodes. However, ID nodes 120c and 120d are shown as being connectable or operable to communicate via different paths to the various master nodes. Figure 2 120d are shown as connected to ID node 120b but not to any master node. This may be the case if, for example, ID nodes 120b, 120c, 120d are associated with different items (e.g., packages) in a large container 210 (or grouped together on a pallet). In such an example, only ID node 120b may remain within wireless communication range of any master node. This may be due, for example, to the position of the different ID nodes in the container relative to the nearest master node, to adverse RF shielding caused by the container, to adverse RF shielding caused by the packaging of the items, or to adverse RF shielding caused by other nearby materials which interfere with radio transmissions (e.g., several packages of metal items between the ID nodes and any master nodes outside the container). Thus, in Figure 2In the illustrated configuration of the exemplary network shown, ID nodes 120c and 120d may be out of range of the master node, yet still have an operational communication path to the master node through ID node 120b.

[0081] In fact, in one example, the ID node 120b may actually be a master node before being placed in the container 210, but the changing RF environment when it is placed in the 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 communication and data sharing with other ID nodes in the container 210.

[0082] User access devices 200, 205 are also Figure 2 Nodes are shown as being able to connect to the network 105, the master node, and the ID node. Generally speaking, the 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, the user access devices 200, 205 may be implemented using a desktop computer, a laptop computer, a tablet (e.g., an Apple iPad® touch screen tablet), a personal area network device (e.g., a Bluetooth® device), a smartphone (e.g., an Apple iPhone®), a smart wearable device (e.g., a Samsung Galaxy Gear™ smart watch device or a Google Glass™ wearable smart optics device), or other such devices that are capable of communicating with the server 100 via the network 105 via a wired or wireless communication path to the master node and the ID node. Thus, the exemplary user access device may be a mobile type device that is intended to be easily moved (e.g., a tablet or smartphone), and may be a non-mobile type device that is intended to be operated from a fixed location (e.g., a desktop computer).

[0083] like Figure 2 As shown, user access devices 200, 205 are coupled to and in communication with network 105, but each of them can also communicate 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, a dedicated connection, or other communication paths).

[0084] In one example, a user access device, such as device 200 or 205, may facilitate associating an ID node (e.g., ID node 120a) with a tracking number for a package at the beginning of the shipping process, coordinate with server 100 to check the status and / or location of the package and the associated ID node during transit, and potentially retrieve data from a master node or ID node associated with the shipped package. Thus, those skilled in the art will appreciate that a user access device, such as devices 200 and 205, is essentially an interactive communication platform through which a user can initiate the shipment of an item, track the item, determine the status and location of the item, and retrieve information related to the item.

[0085] In various embodiments, as discussed in more detail below, a demonstration user access device, such as device 200 or 205, may include sufficient hardware and code (e.g., an app or one or more other program code segments) to operate as a master node or ID node. For example, device 200 may be implemented as a mobile smart phone and functionally operate as a demonstration ID node (which broadcasts announcement group 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 smart phone and operates as a demonstration master node (which communicates and associates with ID nodes and other master nodes, as described herein) and communicates with server 100. Therefore, those skilled in the art will understand that Figure 3 Demonstration ID nodes in and Figure 4 The exemplary master nodes and their corresponding components, codes and program modules in FIG. 3 and FIG. 4 may be implemented using a suitably programmed user access device, such as device 200 or 205. Figure 3 The demonstration ID node and Figure 4 The following description of the exemplary master node in will be applicable to user access devices operating as either an ID node or a master node, respectively.

[0086] ID Node

[0087] Figure 3 is a more detailed diagram of an exemplary ID node device according to an embodiment of the present 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), a memory accessible by the processing unit, a timer operatively coupled to the processing unit, and a power source (e.g., a battery) to provide power to the circuitry of the ID node. Now referring to Figure 3In a more detailed embodiment of the exemplary ID node 120a, the exemplary ID node 120a is shown as including a processing or logic unit 300 coupled to a variable power short-range communication interface 375, a memory storage device 315, a volatile memory 320, a timer 370, and a battery 355. Those skilled in the art will appreciate that the processing unit 300 is logic, such as a low-power consumption microcontroller, that generally performs calculations on data and runs operational and application code and other program modules or segments in the ID node 120a. Thus, the exemplary processing unit 300 operates as the transceiver-based processing core of the ID node 120a.

[0088] Those skilled in the art will also appreciate that the exemplary ID node 120a is a hardware-based component that can be implemented using a single processor or logic unit, such as unit 300. In one embodiment, the processing unit 300 can be implemented using an Intel® 8051 CPU Core and associated peripheral circuitry as dictated by the needs of a particular application. Less complex microcontrollers or discrete circuits can be used to implement the processing unit 300 as well as more complex and sophisticated microprocessors. In addition, the exemplary processing unit 300 can be integrated into a single-chip transceiver that serves as the core of the ID node 120a.

[0089] The variable power short-range communication interface 375 of the ID node 120a is typically a programmable radio and an omnidirectional antenna coupled to the processing unit 300. In other embodiments, the interface 375 may utilize antennas with different antenna profiles when directionality is desired. Examples of the variable power short-range communication interface 375 may include other interface 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).

[0090] In one embodiment, various RF characteristics of the radio's transceiver (e.g., RF output power and / or RF receiver sensitivity) may be dynamically and programmably changed under the control of the processing unit 300. In other embodiments, other RF characteristics of the radio's transceiver (e.g., frequency, duty cycle, timing, modulation scheme, spread spectrum hopping aspects, etc.) may be programmably changed as needed to flexibly adjust the RF output signal based on the intended implementation and projected use of the ID node 120a. As will be explained in more detail below, some embodiments may utilize a broadcast profile having parameters that may be programmably changed or adjusted. In other words, embodiments of the ID node 120a (or any other ID node) may have programmably adjustable RF characteristics (e.g., adjustable RF output signal power, adjustable RF receiver sensitivity, the ability to switch to different frequencies or frequency bands, etc.).

[0091] The battery 355 of the ID node 120a is a type of power source that generally powers the circuitry that implements the ID node 120a. In one embodiment, the battery 355 may be a rechargeable power source. In other embodiments, the battery 355 may be a non-rechargeable power source that is intended to be disposed of after use. In some embodiments of the ID node, the power source may involve alternative energy generation, such as a solar cell.

[0092] The timer 370 of the ID node 120a generally provides one or more timing circuits used in applications such as time delay, pulse generation, and oscillator. In embodiments where the ID node 120a conserves power by entering a sleep or hibernation state for predetermined periods of time as part of an overall power conservation technique, the timer 370 assists the processing unit 300 in managing timing operations. Additionally, embodiments may allow the ID nodes to share data to synchronize different nodes relative to the timer 370 and a common timing reference between the nodes and a server.

[0093] Embodiments may implement the ID node 120a to optionally include a basic user interface (UI) 305 that indicates status and allows basic interactions, such as start / stop. In one embodiment, the UI 305 may be implemented using a status light, such as a multi-mode LED. Different colors of the light may indicate different states or modes of the ID node 120a (e.g., announcement mode (broadcast), scan mode (listening), current power state, battery charge state, association state, error, sensed condition (e.g., temperature threshold exceeded, humidity threshold exceeded, etc.)). Other embodiments of the ID node may implement the UI 305 in a more sophisticated manner, such as using a graphical display, in which such status or mode information may be displayed along with one or more prompts.

[0094] In another embodiment, a demonstration status light used as part of the UI 305 of the ID node may also indicate the shipping status. In more detail, the demonstration shipping status may include the status of the shipping item or the status of the current shipping journey of the item from the origin to the destination.

[0095] Embodiments may also implement the ID node 120a 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 sensors 360 may include one or more environmental sensors (e.g., pressure, movement, light, temperature, humidity, magnetic field, altitude, spatial orientation, orientation, acceleration, etc.) and dedicated location sensors (e.g., GPS sensors, IR sensors, proximity sensors, etc.). Those skilled in the art will understand that additional types of sensors that measure other characteristics are contemplated for use as sensors 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 captured sensor data.

[0096] Embodiments may also implement the ID node 120a to optionally include one or more magnetic switches 365. Magnetic switches 365, such as reed switches, generally operate to close or open a circuit or connection in response to an applied magnetic field. In other words, the magnetic switch 365 is actuated by the presence or removal of a magnetic field. As discussed in the embodiments described in more detail below, various applications may involve the operation of an ID node 120a having a magnetic switch 365.

[0097] conform to Figure 3 In the illustrated embodiment, the exemplary ID node 120a may be implemented based on a Texas Instruments CC2540 Bluetooth® Low Energy (BLE) system-on-chip that includes various peripherals (e.g., timer circuits, USB, USART, general purpose I / O pins, IR interface circuits, DMA circuits) to operate as an ID node and, if desired, to interface with different possible sensors and other circuits (e.g., additional logic chips, repeaters, magnetic switches) that make up the ID node.

[0098] In additional embodiments, those skilled in the art will appreciate that similar functionality in an ID node may be implemented using other types of hardware. For example, the ID node 110a may be implemented using specially optimized hardware (e.g., a specific application-specific integrated circuit (ASIC) having the same operational controls and functionality as the node control and management code, as described below, discrete logic, or a combination of hardware and firmware, depending on the requirements of the ID node, such as power, processing speed, adjustable levels of RF characteristics, number of memory storage units coupled to the processor(s), cost, space, etc.).

[0099] As described above, ID node 120a includes memory accessible by 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. Figure 3In the illustrated embodiment, memory storage 315 holds a plurality of program codes (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, etc.). Memory storage 315 is a tangible, non-transitory computer-readable medium on which information (e.g., executable code / modules, node data, sensor measurements, etc.) may be stored in a non-volatile and non-transitory manner. Examples of such memory storage 315 may include a hard drive, ROM, flash memory, or other media structures that allow for 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 ID node 120a. When ID node 120a is powered on, volatile memory 320 may be loaded with operating programs (e.g., node control and management code 325) or specific program modules that help facilitate specific operations of ID node 120a. And during the operation of the ID node 120a, the 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, etc.) generated when the ID node 120a executes instructions programmed or loaded from the memory storage device 315. However, those skilled in the art will understand that this is not the case. Figure 3 All data elements shown must be present in both memory storage 315 and volatile memory 320 .

[0100] Node control and management code

[0101] Generally speaking, embodiments of node control and management code 325 are a collection of software features implemented as programmed functions or program modules that generally control the behavior of a node, such as ID node 120a. In embodiments, the functionality of code 325 may be generally similar to that implemented in different types of nodes, such as master nodes, ID nodes, and sensor nodes. However, those skilled in the art will appreciate that while some operating principles are similar across these types of nodes, other embodiments may employ a degree of specialization or implement functionality in a different manner depending on the intended application and use of the node.

[0102] In a general embodiment, the exemplary node control and management code 325 may generally include several programming functions or program modules, including: (1) a node advertisement and inquiry (scanning) logic manager (also referred to herein as a node communication manager), which manages how and when nodes communicate; (2) an information control and exchange manager, which manages whether and how information can 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, which focuses on how a node associates with other nodes. The following is a description of various embodiments of these basic program modules used by a node.

[0103] Node Communication Manager - Announcements and Scanning

[0104] In the exemplary embodiment, the node advertisement and query (scan) logic manager governs how and when a node should advertise (transmit) its address or query (scan) for the addresses of neighboring nodes. Announcements are typically made using messages, which can contain different information in various parts (e.g., headers, fields, flags, etc.). Messages can be single or multiple packets.

[0105] In an exemplary embodiment, an "advertise" mode (as opposed to an "inquiry" or "scan" mode) is the default mode for an ID node and causes the node to broadcast or transmit a message with its address and associated metadata about the node. For example, in one embodiment, the exemplary metadata may include information such as RF output power level, reference number, status flag, battery charge, and the node's manufacturer name.

[0106] Figure 6 is a simplified diagram illustrating the structure or format of an exemplary announcement data packet according to a general embodiment of the present invention. Figure 6 , shows the structure of an exemplary announcement data packet 600 broadcast as a signal or message from an ID node, such as ID node 120a. Packet 600 appears at increasing levels of detail, showing exemplary metadata and the format of separately holding different 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.

[0107] Figure 7 is a diagram illustrating sample contents of an exemplary announcement data packet according to an embodiment of the present invention. Figure 7, an exemplary announcement data packet 700 is shown with exemplary metadata, including displaying sample information such as RF output power level (e.g., "TX Power Level"), a reference number (e.g., "FDX ID' (ASCII abbreviation)"), a status flag (e.g., "Status Flag Value (indicating 'Ack Requested')"), a battery level (e.g., "Battery Level Value (indicating 73% charge)"), and the manufacturer name of the node (e.g., "Company Identifier (currently undefined for FedEx)"). In one embodiment, those skilled in the art will appreciate that the reference numbers may be omitted or obfuscated for security purposes.

[0108] In one embodiment, the exemplary announcement data packet may include the RF output power level (as described above in Figure 7 ), which can be a way to help identify the type of node broadcasting and the location of the broadcasting node. However, if the broadcast RF output power level is fixed and known according to the node type, the node type only needs to be identifiable from the exemplary announcement data packet, such as packet 700.

[0109] Regarding how nodes communicate, the demonstration node can be in one of several different communication modes. A node in the announcement (or transmit or broadcast) mode is visible to any other node in the query (or scan or listen) mode. In embodiments, the frequency and length of announcements can be application and power dependent. For example, in normal operation, the demonstration node will generally announce in a periodic manner and will be expected to actively connect to another node at certain intervals (which can be dictated by conditions set by the server 100). In embodiments, such conditions can be set individually for each node by the server or a higher-level node in the network.

[0110] If a demonstration node has not received an acknowledgment of an announcement packet within a specified period, it may enter one or more Alert Phases. For example, if a demonstration node has not received an acknowledgment of an announcement packet broadcast by the demonstration node from another node within a specified time period (also known as an Alert Interval), the demonstration node will enter Alert Phase 1 state. This prompts the demonstration node to send a subsequent announcement packet with one or more components changed to indicate the Alert Phase 1 state. More specifically, this demonstration subsequent announcement packet may have a different announcement alert header, instructing nearby nodes to send a SCAN_REQ message upon receiving the announcement packet.

[0111] If the model node does not receive an acknowledgment from the master node for the announcement packet broadcast by the model node within another time period (e.g., an active connection request from the master node and a successful connection), it will enter another alert phase, such as Alert Phase 2. This prompts the model node to send a subsequent announcement packet with one or more components modified to indicate the Alert Phase 2 state. More specifically, this subsequent announcement packet may have a different announcement alert header, instructing nearby master nodes to send a SCAN_REQ message upon receiving the announcement packet.

[0112] If the demonstration node has data to be uploaded to the backend, another type of alarm phase may also be entered. In one embodiment, for example, if the demonstration node has sensor data collected by the demonstration node (or received from one or more other nodes communicating with the demonstration node), and the data needs to be uploaded to the server 100, the demonstration node may enter an update alarm phase, such as alarm phase 3. This prompts the demonstration node to send a subsequent announcement packet in which one or more parts are changed to indicate the alarm phase 3 state. In more detail, this demonstration subsequent announcement packet may have a different announcement alarm header, instructing the nearby master node to connect to the demonstration node so that data (e.g., sensor data 350) can be transmitted from the demonstration node (e.g., ID node 120a) to the nearby master node (e.g., master node 110a). The transmitted data can 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 device 415. After that storage operation, the nearby master node passes the data (e.g., sensor data 450) to the server 100.

[0113] like Figure 7 As shown and explained above in the description of the alert level phase, in one or more embodiments, the status flag in the header of the exemplary announcement data packet is a field used in the association logic. For example, in one embodiment, the presence of the status flag in the announcement data packet allows a first node to communicate its status to a second node, and for the second node to report that status to a backend server, such as server 100, without requiring an active direct connection from the first node to the server. In other words, the status flag helps facilitate passive interactions (e.g., passive association) between nodes.

[0114] In a more detailed embodiment, several exemplary state types are established with respect to communications with other nodes. For example, the exemplary state types may include the following:

[0115] • Alarm level 0 - no problem, normal operation;

[0116] • Alert Level 1 – The advertising node is requesting any available node to acknowledge receipt of its announcement packet;

[0117] • Alert Level 2 – The advertising node is requesting any available master node to acknowledge receipt of its advertising packet;

[0118] • Alert Level 3 – Data Available for Upload – The node has captured data available for upload via the master node; and

[0119] • Synchronize – The advertising node requests a connection with a device or sensor that can synchronize data such as timers or location information.

[0120] By broadcasting the status via, for example, a portion of the header in an announcement data packet, one or more nodes within range of the broadcasting node can determine the status of the node and initiate an active connection if requested in the status message.

[0121] In some embodiments, the request for more information from the advertising node may take the form of a SCAN_REQ message. Generally speaking, 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, an alert status bit may indicate to the scanning master node, for example at the application layer, whether the advertising node is in a mode that will or will not accept SCAN_REQs. In one embodiment, the non-connectable and non-discoverable modes of the advertising node comply with the Bluetooth® Low Energy (BLE) standard.

[0122] In another embodiment, a node may have different modes of operation while scanning or listening for other nodes. For example, a node's inquiry or scanning mode may be active or passive. When a node is scanning and passive, it will receive announcement packets but will not acknowledge or send a SCAN_REQ. However, when a node is scanning and active, it will receive announcement packets and acknowledge receipt by sending a SCAN_REQ. More detailed embodiments may provide both passive and active modes of scanning or inquiry in accordance with the Bluetooth® Low Energy (BLE) standard.

[0123] In an embodiment, an exemplary node performs a scan while listening for other wireless nodes broadcasting over a short-range radio. The exemplary scanning node may capture, for example, the MAC address of the advertising node, the 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 performs a scan can be varied. For example, queries can be limited. In other words, the scope of things that a node is particularly interested in and listening for can be focused or otherwise limited. In this case, for example, the information collected can be limited to specific information from a target group of short-range wireless nodes that perform the advertising; but the information collection can be considered "open," where information is collected from any advertising device.

[0124] When a node is advertising or scanning, embodiments may further utilize status flags and additional modes when advertising or scanning as part of how the node communicates and can be managed. In one example, when a scanning (listening) node receives an advertising data packet with a status flag indicating an alarm level 1 or 2 state and the scanning node is in "passive" scanning mode, the node will switch to "active" scanning mode for a certain interval. However, when the scanning node in this situation is already in "active" scanning mode, the node will send a SCAN_REQ message and receive a SCAN_RSP from the advertising node (e.g., a message providing additional information requested from the advertising node). The scanning node will then switch back to "passive" scanning mode.

[0125] In another example, when an advertising (broadcasting) node receives a SCAN_REQ from a scanning node, the advertising node considers its advertising data packet to be acknowledged. Furthermore, the advertising node resets its "alarm" status flag back to an alarm level 0 state. This allows the advertising node to actually receive an acknowledgement of its advertisement without ever making a connection to the scanning node, which advantageously and significantly saves power consumption.

[0126] In yet another example, when a scanning node receives an advertising data packet with the Alert Level 3 status flag set, the scanning node will attempt to connect to the advertising device. Once connected, the advertising device will attempt to upload its data to the connected device.

[0127] Thus, embodiments of the node advertisement and query (scan) logic manager of code 325 may rely on one or more status flags, advertisement modes, and scan modes as nodes communicate with each other in various advantageous ways.

[0128] Node Information Control and Exchange Manager

[0129] In an exemplary embodiment, the information control and exchange manager portion of the node control and management code 325 determines whether and how information can be exchanged between nodes. In an exemplary embodiment, the information control and exchange manager establishes different states of node operation, wherein information can change according to the expected paradigm of the state. In more detail, an embodiment of the information control and exchange manager may operate in a "non-connectable announcement" state or mode of operation, a "discoverable announcement" state or mode, and a "general announcement" state or mode of operation to establish different levels of information exchange between nodes. When a node is in a "non-connectable announcement" mode, node information exchange is restricted. For example, an announcing node may broadcast information captured by one or more querying (scanning) nodes, but no two-way exchange of information occurs.

[0130] When a node is in "discoverable announce" mode and a scanning node is in "active" mode, the nodes exchange information in a bidirectional manner. For example, the announce node sends an announce packet, and in response, the scanning node sends a SCAN_REQ packet. After the announce node receives the SCAN_REQ packet requesting additional information, the announce node sends a SCAN_RSP packet with the requested information. Thus, in "discoverable announce" mode, there is a bidirectional exchange of information, but no active connection is established between the two nodes exchanging information.

[0131] Finally, for advanced two-way information exchange, active connections can be used between nodes, and information can be exchanged bidirectionally to / 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 an active connection. Once authenticated and thereafter actively connected to each other, nodes can safely share information back and forth. In one example, a sensor node that uploads previously captured environmental information to a master node may be in this mode or state. In another example, an ID node that uploads the stored results of a node scan operation to a master node may be in this mode or state. In yet another example, a master node that shares timer and / or location information with a corresponding node may be in this mode or state.

[0132] Node Power Manager

[0133] In an exemplary embodiment, the node power manager portion of the node control and management code 325 focuses on managing power consumption and beneficial use in the node (e.g., adjustable RF output signal power levels). Generally, nodes are powered by a battery (e.g., battery 355 in an ID node) or through an interface to an external power source (e.g., battery / power interface 470 in a master node). In some embodiments, examples of external power sources may include power provided from an outlet or power connection in a facility or power generated on a vehicle (e.g., a car, truck, train, aircraft, boat, etc.). Those skilled in the art will understand that the interface to the external power source will generally be referred to as a "wired" power connection, and the node power manager may be informed as to whether the node is wired or powered off a battery, such as battery 355. Other embodiments may employ wireless power transfer, such as via an inductive coil, to implement the interface to the external power source.

[0134] In one embodiment, a node can manage the power used when performing a task. For example, a node can manage the power used to determine which node should perform a specific task. More specifically, the collective power consumption of a group of devices can be managed by selecting wired nodes (when feasible or desired) to complete a specific task and reserving battery-powered nodes for other less energy-intensive or heavy tasks. In another embodiment, historical data can inform the system about the power required to perform a specific task, and the system can determine which node should complete a specific task based on such historical data. In other embodiments, profile data can also be used to inform the system about the power required to complete a specific task (e.g., a sensor profile that describes the power requirements for the operation of a sensor node that collects sensor data during a time period and under certain conditions). The system can also determine which node should complete a specific task based on such profile data.

[0135] In another example, an exemplary node power manager can manage power when determining how best to use and adjust power to more accurately accomplish a specific task. In one embodiment, an RF signal output by a slave node (e.g., a short-range RF output signal from an ID node) can periodically move through a range of output powers or switch between two or more settings that differ in a detectable manner. As disclosed in more detail below, the variability and dynamic adjustment of the RF output signal power can allow other nodes (e.g., one or more master nodes) to see nodes at the upper end of the RF output signal power range, while only seeing nodes physically close to the advertising node at the lower end of the signal power range.

[0136] In another example, when a node is associated with a physical location or another node via context data (e.g., context data 560 and association logic utilizing that type of information), an exemplary node power manager may cause a change in characteristics of its RF output signal power. In one embodiment, a node may be instructed to change the frequency with which the node communicates and / or the characteristics of its RF output power to conserve power.

[0137] In yet another example, all advertising nodes can cause their respective node power managers to periodically broadcast at maximum RF output signal power levels to ensure they remain within range of the scanning ID node or master node. This increases the chance of being within communication range and allows individual nodes to be properly located and managed within the network. The broadcast duration can be set or dynamically changed to allow pairing to occur when needed.

[0138] Rather than adjusting the RF output signal power level, the exemplary node power manager may, in some embodiments, adjust the node's RF receiver sensitivity. This allows for adjustable reception range (as opposed to only adjustable broadcast range), which can be used similarly as described herein to manage power and enhance location determination.

[0139] In yet another embodiment, a combined approach can be used, wherein the node power manager can concurrently and individually adjust more than one RF characteristic of a node. For example, an exemplary node power manager can adjust the RF output signal power level and also adjust the node's RF receiver sensitivity as the node is located and associated with other nodes. Those skilled in the art will appreciate that this can be particularly useful in areas with an unusually dense concentration of nodes and a combination of varying RF output signal power levels.

[0140] An exemplary node manager embodiment may refer to a power profile (eg, exemplary type of profile data 330, 430) in adjusting power characteristics of a node (eg, power consumption, power usage, output signal frequency, output signal duty cycle, timing, power level, etc.).

[0141] Node Association Manager

[0142] In the exemplary embodiment, the node association manager portion of the node control and management code 325 focuses on how a node can integrate with and consistently associate with other nodes in conjunction with the server-side association manager in code 525, as discussed in more detail below. Thus, the exemplary node association manager, when executed on a node, directs the node on how to associate with one or more other nodes (e.g., enter active connection mode) using input from a server.

[0143] An exemplary node association manager for a node may indicate via a status flag whether the node requires confirmation or connection or whether it has information available for upload to the backend. Thus, although a node may not yet be associated or actively connected to another node, the state of the node may be inferred from, for example, state information in the node's broadcast header.

[0144] Regarding connections between nodes, there are generally secure connections and unsecure connections. Although embodiments may allow unsecure connections between one or more sets of nodes, other embodiments rely on secure connections or authenticated pairing of nodes. In one embodiment, for a node to be paired with another node, the demonstration node association manager first identifies the node to be associated and transmits an association request to the server. The request may include a specific request to pair the nodes and request corresponding pairing credentials from a server, such as server 100. Server 100 can obtain pairing credentials for a particular node based on information indicating that the node is within wireless proximity and that pairing may occur in the future. Visibility of node relationships can be determined through scan-announcements or third-party data indicating that the node is currently within proximity or in the future, such as barcode scan information.

[0145] When connected or disconnected to exchange information in the above exemplary node information exchange mode, the node generally operates in multiple states, which constitute the exemplary announcement cycle of the exemplary ID node. Figure 8 And this exemplary advertisement loop for a node is further described in conjunction with and consistent with the server-side association manager in code 525, as discussed in more detail below.

[0146] Air transport mode program module

[0147] In one embodiment, the node control and management code 325 may also include an air transport mode program module (not shown). In another embodiment, the air transport mode program module may be implemented as part of the node power manager program module of the code 325. The exemplary air transport mode program module generally operates to manage the output power of the variable power short-range communication interface 375 of the ID node when the ID node is operating in an aircraft. In some cases, operating a wireless device in an aircraft may have unintended effects on other electronic systems on the aircraft. More specifically, embodiments of the air transport mode program module may operate to transition the ID node from different states or modes based on specific operations and / or operating conditions of the aircraft. For example, the exemplary air transport mode program module may operate to transition the ID node from one state or mode (e.g., normal mode before takeoff, disabled mode during takeoff, air transport mode while in the air, disabled mode during landing, and normal mode after landing) based on detected environmental conditions (e.g., pressure, altitude) and / or flight details information associated with the aircraft. In this way, the ID node may be allowed to operate normally while onboard an aircraft, in some cases completely disabled, and capable of operating in an aircraft mode that allows sensing and sensor data capture, but limits the transmission of RF output signals to avoid interference with the aircraft's onboard electronics. Additional information related to methods of managing wireless devices (e.g., ID nodes) 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 incorporated herein by reference.

[0148] Node data

[0149] As previously described, volatile memory 320 may also include certain data (e.g., profile data 330, security data 335, association data 340, shared data 345, sensor data, etc.) generated when ID node 120a executes instructions programmed therein or loaded from memory storage 315. Generally speaking, data used on a node, such as an ID node, may be received from other nodes or generated by the node during operation.

[0150] In one embodiment, profile data 330 is a type of data that defines the general behavior of the ID node, such as a broadcast profile (discussed in more detail below). In another embodiment where ID node 120a is a BLE device, profile data 330 may include Bluetooth®-compatible profiles related to battery services (displaying the status of the battery in the device), proximity between BLE devices, or messaging between BLE devices. Thus, exemplary profile data 330 may be present in volatile memory 320 and / or memory storage 315 as a type of data that defines parameters for node behavior.

[0151] In one embodiment, it may be desirable to allow secure pairing of nodes. As will be described in greater detail below, as part of the secure pairing of nodes, a request for pairing credentials is generated and sent to the server 100. Thus, exemplary security data 335 (e.g., PIN data, security credentials, keys, etc.) may be present in the volatile memory 320 and / or the memory storage device 315 as a type of data associated with providing a secure relationship between nodes (e.g., the requested security credentials).

[0152] Association data, such as association data 340, generally identifies connected relationships between nodes. For example, ID node 120a may become associated with master node 110a when ID node 120a moves within range of master node 110a and after the server directs the two nodes to associate (using authorization). Thus, information identifying the relationship between ID node 120a and master node 110a may be provided to server 100 and may be provided to each of ID node 120a and master node 110a at some point. Thus, exemplary association data 340 may exist in volatile memory 320 and / or memory storage device 315 as a type of data identifying an association between nodes.

[0153] Shared data 345 may exist in volatile memory 320 and / or memory storage 315 as a type of data exchanged between nodes. For example, contextual data (eg, environmental data) may be a type of shared data 345 .

[0154] Sensor data 350 may also be present in volatile memory 320 and / or memory storage 315 as a type of data recorded and collected from onboard sensors or from another node. For example, sensor data 350 may include a temperature reading from a temperature sensor on an ID node and / or a temperature reading from another ID node (e.g., from a sensor such as a Figure 2 Humidity readings from a humidity sensor in another of the ID nodes in the container 210 shown.

[0155] Therefore, an ID node (such as Figure 3 The node 120a) shown is a low-cost wireless node that communicates with other ID nodes and master nodes via a short-range radio with variable RF characteristics, can associate with other nodes, broadcast to other nodes and scan for other nodes, associate with other nodes, and exchange / store information with other nodes.

[0156] Master Node

[0157] Master nodes, such as Figure 4 The master node 110a, shown in greater detail, shares many of the ID node features, but generally extends them to function as a bridge to the server 100. Generally speaking, while the ID node is a type of low-level node in the exemplary wireless node network, the master node is a type of high-level node. The exemplary master node may be in a fixed location or otherwise stationary, while other example master nodes may be implemented as transportable and mobile devices.

[0158] Now refer to Figure 4 , the exemplary master node 110a includes a processing or logic unit 400, which is coupled to a short-range communication interface 480, a memory storage device 415, a volatile memory 420, a clock / timer 460, and a 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 understand that the processing unit 400 is logic, such as a microprocessor or a processor-based microcontroller, which generally performs calculations on data and runs operating and application code and other program modules in the master node 110a.

[0159] Generally speaking, those skilled in the art will understand that Figure 4 The description of the hardware of the ID node 110a is applicable to similar hardware and software features found in each type of node, including master nodes. Those skilled in the art will understand that the exemplary master node 110a is a hardware-based component that can implement the processor 400 using a single processor or logic unit, a more powerful multi-core processor, or multiple processors (depending on the intended implementation). In one embodiment, the processing unit 400 can be implemented using a low-power microprocessor and associated peripheral circuits. Less complex microcontrollers or discrete circuits can be used to implement the processing unit 400 as a type of processor as well as more complex and sophisticated general-purpose or special-purpose processors.

[0160] In yet another embodiment, the 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 the core of the exemplary master node 110a and includes a secure digital memory card slot and a flash memory card operating as a memory storage device 415, a 512-megabyte RAM memory storage device operating as a volatile memory 420, an operating system (e.g., Linux) stored on the memory storage device 415 and running on the volatile memory 420, and peripherals implementing a clock / timer 460 and a power supply operating as a power interface 470.

[0161] Similar to the short-range interface 375 in the ID node 120a, the exemplary master node 110a includes a short-range communication interface 480 that is coupled to the processing unit 400 and is a programmable radio and omnidirectional antenna. 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, the interface 480 may use antennas with different antenna profiles when directionality is desired. Examples of the 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 that communicates at 2.4 GHz). Although BLE is used to implement a short-range communication protocol in one embodiment, the variable power short-range interface 480 may be implemented using other low-power short-range communication protocols (e.g., an ultra-low power communication protocol used in conjunction with ultra-wideband pulse radio communication, a ZigBee protocol, an IEEE 802.15.4 standard communication protocol, etc.).

[0162] In one embodiment, various RF characteristics of the radio's transceiver (e.g., RF output power and RF receiver sensitivity) can be dynamically and programmably altered under the control of processing unit 400. In other embodiments, other RF characteristics of the radio's transceiver (e.g., frequency, duty cycle, timing, modulation scheme, spread spectrum hopping aspects, etc.) can be programmably altered as needed to flexibly adjust the RF output signal as needed based on the intended implementation and intended use of the exemplary master node 110a. In other words, embodiments of master node 110a (or any other master node) can have programmably adjustable RF characteristics (e.g., adjustable RF output signal power, adjustable RF receiver sensitivity, the ability to switch to different frequencies or frequency bands, etc.).

[0163] In addition to the short-range communication interface 480, the exemplary master node 110a also includes a medium-range and / or long-range communication interface 485 to provide a communication path to the server 100 via the network 105. Those skilled in the art will appreciate that in some embodiments, the exemplary communication interfaces deployed may be considered to embody a short-range communication interface (e.g., interface 480) or a medium-range / long-range communication interface (e.g., interface 485). However, in more general embodiments, reference to a communication interface may include interfaces that collectively implement multiple different exemplary data communication interfaces, but still be generally referred to as a "communication interface" or "wireless communication interface."

[0164] In one embodiment, communication interface 485 may be implemented using 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 using a long-range radio in the form of a cellular radio. In yet another embodiment, both the Wi-Fi transceiver and the cellular radio may be used when best available or prioritized (e.g., attempting to use the Wi-Fi transceiver first when available due to its potential low cost, and relying on the cellular radio if unavailable). In other words, embodiments may rely on the long-range cellular radio portion of interface 485 as an alternative to the medium-range Wi-Fi transceiver radio, or when the medium-range radio is unreachable from a connected infrastructure radio in network 105. Thus, in these embodiments, the medium-range 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.

[0165] The battery / power interface 470 of the master node 110a generally provides power to the circuitry that implements the master node 110a. In one embodiment, the battery / power interface 470 can be a rechargeable power source. For example, the master node can have a rechargeable power source in conjunction with a solar panel that charges the power source to help facilitate the deployment of a master in a remote location. In another embodiment, the battery / power interface 470 can be a non-rechargeable power source that is intended to be discarded after use. In yet another embodiment, the battery / power interface 470 can be a power interface connector (e.g., a power source line on the master node 110a and an internal power supply). Thus, when the exemplary master node is in a fixed or stationary configuration, it can be powered by a power source line connected to an electrical outlet (which is coupled to an external power source). However, other mobile master nodes can use an internal power source, such as a battery.

[0166] The clock / timer 460 of the master node 110a generally provides one or more timing or counting circuits used in applications such as counters, time delays, pulse generation, and oscillators. In embodiments where the master node 110a conserves power by entering a sleep or hibernation state for predetermined periods of time as part of an overall power conservation technique, the clock / timer 460 assists the processing unit 400 in managing the timing or counting operations.

[0167] Optionally, the embodiment may also implement the master node 110a to include one or more sensors 465 (deployed on the sensor node based on the ID node and described above). Figure 3 ). Additionally, embodiments of the master node 110a may also provide a user interface 405 to indicate status and allow basic interaction with the node and server 100 for viewing captured node data. In one embodiment, the user interface 405 may provide a display, interactive buttons or soft keys, and a pointer device to facilitate interaction with the display. In other embodiments, a data entry device may also be used as part of the user interface 405. In other embodiments, the user interface 405 may take the form of one or more lights (e.g., status lights), auditory input and output devices (e.g., a microphone and speaker), or a touch screen.

[0168] As previously described, exemplary master nodes, such as master node 110a, may be located at a known fixed location, or alternatively include dedicated location positioning circuitry 475 (e.g., GPS circuitry) to allow the master node to determine its location autonomously or independently. In other embodiments, alternative circuitry and technologies may be relied upon for positioning circuitry 475 (instead of GPS), such as positioning 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 ultrasonic-based positioning systems.

[0169] With respect to memory storage 415 and volatile memory 420, both are operatively coupled to processing unit 400 in exemplary master node 110a. The memory components both provide program elements used by processing unit 400 and hold and store data elements accessible to processing unit 400 (similar to the possible data elements stored in memory storage 315 and volatile memory 320 of exemplary ID node 120a).

[0170] exist Figure 4In the illustrated embodiment, memory storage 415 holds various executable program codes (e.g., master control and management code 425), data similar to the data stored in memory storage 315 of the ID node (e.g., profile data 430, security data 435, association data 440, shared data 445, sensor data 450, etc.), and other data more specific to the operation of master node 110a (e.g., location data 455, which is related to the location of a particular node). Similar to memory storage 315, memory storage 415 is a tangible, non-transitory computer-readable medium on which information (e.g., executable code / modules, node data, sensor measurements, etc.) can be stored in a non-volatile and non-transitory manner.

[0171] Similar to the volatile memory 320 in the ID node 120a, the volatile memory 420 is typically a random access memory (RAM) structure used by the processing unit 400 during operation of the master node 110a. When the master node 110a is powered on, the volatile memory 120 may be loaded with operating programs (e.g., main control and management code 425) or specific program modules that help facilitate specific operations of the master node 110a. And during operation of the master node 110a, the volatile memory 420 may also include certain data generated when the master node 110a executes instructions programmed or loaded from the memory storage device 415 (e.g., profile data 430, security data 435, association data 440, shared data 445, sensor data 450, etc.).

[0172] Master control and management code

[0173] Generally speaking, an embodiment of the master control and management code 425 is a collection of software features implemented as programming functions or program modules that generally control the behavior of a master node, such as master node 110a. In one embodiment, the master control and management code 425 generally includes several programming functions or program modules, including: (1) a node advertisement and inquiry (scanning) logic manager that manages how and when nodes communicate; (2) an information control and exchange manager that manages whether and how information can be exchanged between nodes; (3) a node power manager that manages power consumption and aspects of RF output signal power and / or receiver sensitivity for variable short-range communications; (4) an association manager that focuses on how a node associates with other nodes; and (5) a location awareness / acquisition module that determines node location.

[0174] Master node program module and ID node module

[0175] In the exemplary embodiment, the program modules (1)-(4) of the master node control and management code 425 are generally the same as those described above for Figure 3The functionality of the similarly named program modules (1)-(4) of the node control and management code 325 is identical. Additionally, since the control and management code 325 may also include an airborne mode program module, those skilled in the art will recognize and understand that the master node control and management code 425 may also include an airborne mode program module of similar functionality to allow for the advantageous operation of the master node while airborne. However, and consistent with the examples described below, such modules may have some differences when located in the master node as compared to the modules of the control ID node.

[0176] Position sensing / capture module

[0177] In addition to the exemplary program modules (1)-(4) of code 425, exemplary embodiments of master node control and management code 425 will also include an exemplary location awareness / acquisition module associated with node location (more generally referred to as a location manager module of the master node). Generally speaking, the exemplary location awareness / acquisition module deployed in an exemplary master node can determine its own location and, in some embodiments, the location of connected nodes. Embodiments of the exemplary location awareness / acquisition module can work in conjunction with location manager program code resident and operating in a server (e.g., as part of server control and management code 525) in determining the node location of other nodes, as discussed in more detail herein.

[0178] In one embodiment, the master node may be located at a known fixed location. In such an embodiment, the exemplary location awareness / capture module may know that the master node location is a known fixed location, which may be defined in a fixed, preset, or preprogrammed portion of the memory storage device 415 (e.g., information in the location data 455 maintained in the memory storage device 415). Examples of various location information may include conventional location coordinates or other descriptive details that identify the location of the master node. In another embodiment where the master node may not always be at an inherently known or fixed location (e.g., for a mobile master node), the exemplary location awareness / capture module may communicate with positioning circuitry, such as GPS circuitry 475 on the master node, to determine the current location of the master node.

[0179] In an embodiment, the location of the master node may be communicated to a server, which may use this location information as part of managing and tracking nodes in a wireless node network. For example, if the exemplary master node is mobile and a new current location is determined using positioning circuitry 475, the master node may provide the server with that new current location of the master node. Additionally, when the exemplary location awareness / acquisition module of the master node determines the location of a node associated with the master node, the master node may also provide the server with the location of that node associated with the master node.

[0180] server

[0181] Figure 3 and Figure 4 The hardware and software details of the exemplary ID node and the exemplary master node are shown respectively. Figure 5 A more detailed diagram of an exemplary server according to an embodiment of the present invention is provided, which can operate as part of an exemplary wireless node network. In an exemplary embodiment, the server 100 can be referred to as an Association and Data Management Server (ADMS), which manages the nodes, collects information from the nodes, stores the collected information from the nodes, maintains or has access to contextual data related to the environment in which the nodes operate, and can provide information related to the nodes (e.g., status, sensor information, etc.) to requesting entities. Additional details regarding various embodiments utilizing this functionality are described below. Those skilled in the art will understand that node density, geographic installation characteristics, and network connectivity are all examples of factors that can affect the ultimate architecture contemplated for embodiments of the wireless node network.

[0182] Now refer to Figure 5 The exemplary embodiment 100 is shown as a networked computing platform capable of connecting to and interacting with at least a wireless master node. In other embodiments, the exemplary server 100 can also connect to and interact with one or more user access devices. Those skilled in the art will appreciate that the exemplary server 100 is a hardware-based component that can be implemented in a variety of ways. For example, the server 100 can utilize a single processor or be implemented as one or more portions of a multi-processor component that communicates with devices (e.g., user access devices 200, 205) and wireless nodes (e.g., master node 110a).

[0183] In general, those skilled in the art will also appreciate that server 100 may be implemented as a single computing system, a distributed server (e.g., a standalone server for independent server-related tasks), a hierarchical server (e.g., a server implemented using multiple levels, where information may be maintained at different levels and tasks performed at different levels, depending on the implementation), or a server cluster (which logically allows multiple different components to function as a single server computing platform device from the perspective of a client device (e.g., device 200, 205 or master node 110a). In some regional deployments, the exemplary servers may include servers dedicated to specific geographic regions, as information collected in different regions may include and be subject to different regulatory controls and requirements implemented for the corresponding regional servers.

[0184] Likewise, although Figure 5The illustrated embodiment shows a single memory storage device 515, but the exemplary server 100 may employ more than one memory storage medium. And the memory storage medium may take different non-transitory forms (e.g., conventional hard drives, solid-state memory (e.g., flash memory), optical drives, RAID systems, cloud storage configuration storage, network storage devices, etc.).

[0185] At its core, Figure 5 The exemplary server 100 shown includes a processing or logic unit 500 that is coupled to a network interface 590 that facilitates and enables operational connection and communication with one or more master nodes and, in some embodiments, with user access devices, such as devices 200 and 205, via network 105. In one embodiment, the server 100 may include a medium-range and / or long-range communication interface 595 for more direct communication with one or more master nodes. Using these communication pathways and program code or program modules (e.g., server control and management code 525), the server 100 generally operates to coordinate and manage information related to the ID nodes as items associated with the ID nodes are physically moved from one location to another.

[0186] As a computing platform, the processing unit 500 of the demonstration server 100 is operationally coupled to a memory storage device 515 and a volatile memory 520, which together store and provide various executable program codes (such as server control and management code 525), data similar to the data stored in the corresponding memory storage device of the master node or ID node (such as profile data 530, security data 535, association data 540, shared data 545, sensor data 550, location data 555), and contextual data 560 related to the environment in which the node operates (such as information generated from the wireless node network and information created outside the wireless node network).

[0187] Similar to memory storage device 315 and storage device 415, memory storage device 515 is a tangible, non-transitory 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 about the node's contextual environment (e.g., context data 560) can be stored in a non-volatile and non-transitory manner.

[0188] Those skilled in the art will understand that the above identification of specific program code and data is not exhaustive and that embodiments may include other executable program code or modules and other data relevant to the operation of processing-based devices (e.g., ID nodes, master nodes, and servers).

[0189] Contextual data

[0190] As described above, the server 100 may access context data 560 as part of managing nodes in a wireless node network. According to an embodiment, the exemplary server 100 may include a collection of such context data 560 in a context database 565. Figure 5 As shown, the exemplary context database 565 is a single database accessible to the processing unit 500 within the server 100. Those skilled in the art will readily appreciate that other configurations for providing an accessible collection of context data 560 are possible and are contemplated to fall within the scope and principles of the embodiments of the present invention. For example, the context database 565 may be an externally accessible database (or multiple databases), such as a storage device accessible external to the server 100 via a dedicated interface or a network storage device (or a network-attached storage (NAS) unit). In yet another embodiment, the context database may be maintained separately by an external database server (not shown) distinct from the server 100, but accessible via a communication path from the server 100 to the independent database server (e.g., via the network 105). Furthermore, those skilled in the art will appreciate that the context database 565 may be implemented using cloud technology, which essentially provides distributed, networked storage of a collection of information (e.g., context data 560, sensor data 550, shared data 545, etc.) accessible to the server 100.

[0191] In context database 565, an exemplary embodiment of a collection of context data 560 may be maintained, which generally relates to the environment in which the node operates or is expected to operate. More specifically, context data 560 may generally relate to things that similar nodes encounter in environments similar to things that a given node currently encounters or is expected to encounter when moving.

[0192] In a general example, the environment in which a node may actually or expected to operate may include different types of environments—for example, an electronic communications environment (e.g., an RF environment that may be interfered with by signals or include materials or structures that may block or otherwise shield RF communications), a physical environment (e.g., temperature, humidity, safety, and other physical characteristics) along with the expected path of movement of the identified node, a transportation environment related to the manner in which the node may move or is expected to move (e.g., speed and other parameters of trucks, aircraft, transport systems), and a density environment related to the density of nodes in the area near a particular node (e.g., how many nodes are expected to occupy an aisle (e.g., Figure 22AThe structure 2200 shown is or is intended to be a storage facility through which a particular ID node is transported on a shipping path).

[0193] Based on these various aspects of the node's operating environment, exemplary context data 560 can provide information related to various structures and conditions associated with the movement of items (e.g., specific types of carrier devices, vehicles, facilities, shipping containers, etc.). This information can be generated by an entity operating the wireless node network, such as a shipping company. Additionally, exemplary context data 560 can include third-party data generated external to the wireless node network. Thus, according to embodiments of the present invention, context data, such as data 560, can include a large amount of data that generally relates to the environment in which the node operates and can be used to advantageously provide enhanced node management capabilities.

[0194] Generally speaking, Figure 5 Exemplary types of context data 560 are shown as being maintained in database 565 and 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 in lieu of maintaining such information in a database. Figure 5 As shown, exemplary types of contextual data 560 may include, but are not limited to, scan data 570 , historical data 575 , shipping data 580 , layout data 585 , RF data 587 , and third-party data.

[0195] Scan data 570 generally refers to data collected for a specific item associated with an event. For example, when an item is placed in a package (e.g., package 130), a label may be generated and placed on the outside of the package. The label may include a visual identifier that, when scanned by a suitable scanning device capable of capturing the item, identifies the package. Information generated in response to scanning an identifier (a type of event) can be considered a type of scan data. Other scan data 570 may include, for example, general inventory data generated during manual entry of package-related information, package custody control data captured, and barcode scan data.

[0196] Historical data 575 is generally data that has been previously collected and / or analyzed that is related to a common characteristic. Historical data 575 embodies operational knowledge and technical knowledge of specific characteristics that are relevant to the operation of the wireless node network. For example, the common characteristic may be a specific event (e.g., the movement of an item from an outdoor environment to a specific enclosed environment, such as a building), a type of item (e.g., a type of package, a type of shipped contents, a location, a shipping path, etc.), a success rate for a specific item (e.g., a successful shipment), etc. Another example of historical data 575 may include handling information associated with how an item has been historically handled when moved from one location to another (e.g., when moving within a specific facility, the handling information may indicate that the item is on a specific transporter and may include information about the transporter (e.g., speed and how long the item is expected to be on the transporter)).

[0197] Shipping data 580 is generally data related to items moved from one location to another. In one embodiment, shipping data 580 may include tracking numbers, content information of the items shipped, address information related to the origin and destination locations, and other characteristics of the items moved.

[0198] Layout data 585 generally refers to data related to the physical area of ​​one or more portions of the projected route. For example, an embodiment of layout data 585 may include a building diagram and physical dimensions of the portion of a building where nodes can be transported. Embodiments may also include density information associated with the physical areas to be transported and the projected number of potential nodes in those areas as types of layout data. In another example, an embodiment of layout data may include how a group of packages may be assembled on a pallet and placed into a shipping container, such as a unit load device (ULD), which facilitates the movement of a collection of items in various forms of single-mode or intermodal transport.

[0199] RF data 587 is generally signal degradation information related to the 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 of an otherwise optimal signal path environment for that type of node. For example, RF data may include shielding effects when using particular packaging or locations, shielding effects when packages are in particular types of containers or assembled as part of palletized shipments, shielding effects when shipping particular contents, and other physical and electronic interference factors.

[0200] Third-party data 589 is an additional type of contextual data 560 that generally includes data generated externally to the network. For example, third-party data may include climate information associated with a particular area to be transported as the item moves from one location to another along the projected route. Those skilled in the art will appreciate that other types of third-party data related to the physical and environmental conditions faced by items moving from one location to another may also be considered contextual data 560.

[0201] The use of contextual data, such as the contextual data 560 described above, advantageously helps the server 100 better manage the movement of items, provide better location determination, enhance intelligent operation and management of different levels of the wireless node network, and provide enhanced visibility into the current location and status of items during operation of the wireless node network. In one embodiment, the server control and management code 525 can provide this functionality, which enables the wireless node network to be context-aware and responsive.

[0202] Server control and management code

[0203] Generally speaking, the server control and management code 525 controls the operation of the exemplary server 100. In an embodiment, the server control and management code 525 is a collection of software features implemented as programming functions in code or separate program modules that generally control the behavior of the server 100. Thus, the exemplary server control and management code 525 may be implemented using several programming functions or program modules, including but not limited to: (1) a server-side association manager that provides a framework for more robust and intelligent management of nodes in a wireless node network; (2) a context-based manager that enhances the management of nodes in a wireless node network based on contextual data; (3) a security manager that manages security team aspects of node management; (4) a node update manager that provides updated or different programming for a particular node and shares information with the node; (5) a location manager that determines and tracks the location of nodes in the network; and (6) an information update manager that services requests for information related to the current state of a node or generally provides information related to or collected from a node.

[0204] Server-side Association Manager

[0205] The server-side association manager (also referred to as the server-side association management function) is generally a program module in the demonstration code 525 that is responsible for intelligently managing nodes in a wireless node network using a secure information framework. In an embodiment, this framework can be implemented as a context-driven learning sensor platform. The framework can also enable a way to securely share information (such as RF scans, location, date / time, and sensor data) across nodes, a way to change the behavior of a node, and a way to let a node know that it is considered "missing". The framework established during the operation of the server-side association manager allows the network of nodes to be managed as a system with enhanced and optimized accuracy in determining the physical location of each ID node. Additional information related to specific embodiments of this association management framework and method is described in more detail below.

[0206] Context-based association manager

[0207] The context-based node manager is generally a program module in the exemplary code 525 that is responsible for incorporating contextual data as part of management operations to provide an enhanced data base that can provide visibility of nodes. In some embodiments, the context-based node manager can be implemented as part of a server-side association manager, while other embodiments can implement the context-based node manager as a separate program module.

[0208] In one embodiment, the enhanced data foundation relies on contextual data, such as contextual data 560 (e.g., scan data 570, historical data 575, shipping data 580, layout data 585, and other third-party contextual data that provides information about the conditions and environment surrounding items and ID nodes moving from one location to another). Such contextual data (e.g., knowledge of network technology, building layouts, and operational knowledge of nodes and shipping paths used with the wireless node network) can provide enhanced building blocks that allow the server 100 to manage the tracking and positioning of nodes in a robustly rich contextual environment. In an embodiment, context-based management provides visibility into the system through data analysis of when and how nodes should be expected to be associated as they traverse the wireless node network. In other embodiments, it can provide a basis for better understanding RF signal degradation (which can be caused by the operating environment, packaging, package contents, and / or other packages associated with the item and its ID node).

[0209] Security Manager

[0210] The security manager module (which may be implemented separately or as part of the association manager module in the exemplary server control and management code 525) helps associate two nodes in a wireless node network by managing aspects of secure pairing of the nodes. In one embodiment, the security manager module provides appropriate pairing credentials to allow a node to securely connect to another node. Therefore, when a node desires to connect to another node, embodiments require that appropriate pairing credentials be generated by the server, provided to the node, and observed in the node to allow the nodes to successfully connect or associate.

[0211] In operation, a node (e.g., master node 110a) identifies the address of a node (e.g., ID node 120a) to which it desires to connect. Using this address, the node prepares a pairing request and sends it to server 110. Server 110, operating under the control of the security manager module of the association manager, determines whether the requesting node should connect or associate with another node. If not, the server does not issue the requested security credentials. If so, and in accordance with the intended association management paradigm set by the association manager (code 525), the server provides the requested credentials necessary for successful wireless pairing and establishment of secure communications between the associated nodes.

[0212] Node Update Manager

[0213] The exemplary server control and management code 525 may include a node update manager module that provides updated programming information to nodes in 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 an association manager in the exemplary server control and management code 525.

[0214] Providing updates to node programming can facilitate and enable the allocation of node functions, saving power and better managing the nodes as a system. For example, one embodiment can change the functional responsibilities of different nodes based on context or contextual conditions by temporarily offloading the responsibility of a specific function from one node to another. Typically, a server directs other nodes to change functional responsibilities. However, in some embodiments, a master node can direct other nodes to change functional responsibilities.

[0215] Sharing information between nodes and with the server (e.g., via an exemplary node update manager) facilitates collecting information from nodes and sharing information with other nodes as part of the association management function of the server 100. For example, one embodiment may collect and share RF scan data (one type of shared data 545), information related to node location (one type of location data 555), system information related to date / time (another type of shared data 545), and sensor measurements collected from sensor nodes (one type of sensor data 550).

[0216] Location Manager

[0217] The exemplary server control and management code 525 may include a location manager module that assists in determining and tracking node locations. In a general embodiment, the location of a node may be determined by the node itself (e.g., the ability of a master node to determine its own location via positioning circuitry 475), by nodes associated with that node (e.g., where the master node can determine the location of an ID node), by the server itself (using location information determined by one or more techniques implemented as part of the code 525), and by a combined effort of the master node and the server.

[0218] In general, the exemplary ID node may depend directly or indirectly on the master node to determine its actual physical location. Embodiments may use one or more methods to determine the node location. For example, and as described in detail below, possible methods for determining the node location may involve controlling the RF characteristics of the node (e.g., RF output signal level and / or RF receiver sensitivity level), determining relative proximity, considering association information, position adjustment considering contextual information and RF environment, linking triangulation, and hierarchical and adaptive methods that combine various positioning methods. Additional information and examples about how the exemplary location manager module can determine the node location according to such exemplary techniques are provided in more detail below.

[0219] Additionally, those skilled in the art will appreciate that it is also possible to determine what constitutes an actionable location versus an actual location based on contextual information related to the tracked item. For example, larger items may require less location accuracy than smaller items, making operational decisions and status updates easier to implement using contextual knowledge. 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 enables the use of lower location accuracy, a stronger signal and, therefore, a wider scan area can be employed, which can be helpful in situations where RF interference or shielding are an issue.

[0220] Information Update Manager

[0221] The exemplary server control and management code 525 may include an information update manager module that provides information related to the operation of the wireless node network and the status of the nodes. This information may be provided in response to a request from a device external to the wireless node network (e.g., user access device 200). For example, a person shipping an item may query the item's current status via their laptop or smartphone (a type of user access device) that connects to server 100 and requests this information. In response, the information update manager module may service this request by determining which node is associated with the item, collecting status information related to the item (e.g., location data, etc.), and providing the requested information in a format that is targeted, timely, and useful to the querying entity.

[0222] In another example, the user access device may connect to the server 100 and request specific sensor data from a specific node. In response, the information update manager may coordinate with the node update manager and provide the requested collected sensor data 545 to the user access device.

[0223] Node Filter Manager

[0224] Embodiments of the exemplary server control and management code 525 may optionally include a node filtering manager that facilitates managing node traffic using a multi-level filtering mechanism. Filtering essentially establishes rules that limit potential associations and communications. Examples of such node filtering management may define different filtering levels or modes for a master node (e.g., which ID nodes can be managed by the master node as a way to limit the communication and management burden on the master node).

[0225] In one example, a "local" mode may be defined in which the ID-Node communicates only when the last wireless node has contacted back to the server 100 and / or when third-party data indicates that the assigned master node and the ID-Node are in physical and wireless proximity and are managed by the assigned master node. Thus, for the "local" mode of traffic filtering, only the assigned master node passes and processes information from the assigned ID-Node in close proximity.

[0226] Moving to a less restrictive filtering mode, a "regional" filtering mode can be defined, wherein an ID-node can communicate in the location where the ID-node was last reported back to the server 100 and / or third-party data indicates it is located, and is managed by any master node. Thus, for a "regional" mode of business filtering, any master node in the vicinity of an ID-node can pass on and process information from that ID-node. This can be useful, for example, when it is desired to restrict associations and group pairs to specific facilities.

[0227] In the least restrictive filtering mode, the "global" filtering mode can be defined as essentially system-wide communication, in which ID nodes are allowed to communicate and are managed by any master node. In other words, the "global" mode of traffic filtering allows any ID node in the wireless node network to pass information through a specific master node in the vicinity of the ID node, and can pass and process information from the ID node.

[0228] Thus, through this type of exemplary filtering mode, an ID-node in a certain condition (e.g., address, adverse environmental condition, adverse condition of a node, etc.) can signal a need to bypass any filtering mechanisms in place by using an "alert" status flag to help manage communications and associations. In such an example, this would operate to override any filtering rules set at the master node level in order to allow the ID-node to be "discovered" and connect to another node.

[0229] Thus, the exemplary server 100, when running code 525 and having access to the aforementioned data types, is operable to manage nodes, collect information from nodes, store collected information from nodes, maintain or have access to contextual data related to the environment in which the nodes operate, and provide information related to the nodes (e.g., status, sensor information, etc.) to requesting entities.

[0230] Node communication and association examples

[0231] To better illustrate how exemplary management and communication principles may be implemented in an exemplary network of wireless nodes, Figure 8-12 Demonstration is provided regarding how components of a network of wireless nodes in various embodiments may generally communicate (advertise and scan), associate, and exchange information during different types of operations. Figure 22A -C also provides a more detailed application of such exemplary association and communication activities in an embodiment when the exemplary ID node moves along a transit path (e.g., through an aisle) and is tracked and managed by different master nodes and servers.

[0232] Node announcement loop example

[0233] As generally described above, a node may have several different types of announcement states, in which the node may be connectable to other nodes and may communicate with other nodes. And as a node moves in a wireless node network, the state of the node's announcements and connections may change as the node detaches from a previously connected node, associates with a new node, or finds itself not associated with other nodes. In some cases, a node may be good and not connected or associated with another node in normal operation. However, in other cases, a node may cause potential loss issues when it has not connected to any other node for a long period of time. Therefore, a node may go through different types of announcement states in these different operating conditions.

[0234] Generally speaking, a node may be in a state in which it is not connectable to other nodes during a time period (also known as an unconnectable interval). However, later in another state, the node may wish to be connected for a defined connectable period (also known as a connectable interval) and announce so. When a node announces that it wants to be connected, the node can expect to be connected at some point. In other words, there may be a selectable time period in which the node is expected to be connected to another node. However, if the node does not connect to another node within that time period (known as an alarm interval), the node may need to take specific or emergency actions depending on the circumstances. For example, if a node has not connected to another node in 30 minutes (such as the example alarm interval), the node may internally change its operation to "try harder" to find other nodes to connect to. More specifically, the node may change its status flag from alarm level 0 (no problems, operating normally) to alarm level 2 in order to request any available master node to confirm receipt of the announcement packet broadcast by the node seeking to connect.

[0235] Figure 8 is a simplified diagram illustrating exemplary advertising states (or information exchange and node connectability states) and factors involved in transitioning between states of an exemplary ID node in a wireless node network according to an embodiment of the present invention. Referring now to Figure 8 , three exemplary states of a node are shown as part of an exemplary announcement cycle for the node - namely, the ID Node Unconnectable Announcement State 805, the ID Node Discoverable Announcement State 815, and the ID Node General Announcement State 830. Transitions between these states will depend on factors related to the expiration of the interval types described above. In an embodiment, the duration of each of these intervals will depend on the system implementation and the context in which the ID Node operates. Such time intervals may be set, for example, by the server 100 as part of data (e.g., profile data, association data, context data) provided to the node when updating the node and managing the operation of the node.

[0236] Reference Figure 8 In the example shown, the exemplary ID node may have an alert interval set at, for example, 30 minutes, and be in the ID node unconnectable advertising state 805, where the unconnectable interval is set at 5 minutes. In state 805, the ID node may be broadcasting or advertising, but is unconnectable and will not receive SCAN_REQ messages (a type of request for more information sent from another node to the advertising node). Thus, in this example, the ID node in state 805 may be advertising as unconnectable for at least 5 minutes, but is expected to be connected within 30 minutes.

[0237] If the warning interval (factor 810) has not yet passed and the unconnectable interval is still ongoing (factor 825), the ID node simply stays in state 805. However, if the warning interval (factor 810) has not yet passed but the unconnectable interval (factor 825) has passed, the ID node will enter a mode in which it hopes to try to connect to another node during a time period (e.g., a 1 minute connectable interval) and will Figure 8 Announcement loop transitions to the ID Node General Announcement State 830. In state 830, the ID Node will remain in this state as long as the Connectable Interval persists, in which it can connect to another node and will receive requests of the SCAN_REQ type from other nodes in response to the Announcement Packets being broadcast by the ID Node. However, when the Connectable Interval (e.g., a 1 minute period) passes or expires (factor 835), the ID Node returns to the Unconnectable Announcement State 805 the next time the Unconnectable Interval passes (and the ID Node again attempts to connect in state 830) or the Alert Interval finally passes (and the ID Node finds itself in a situation in which it has not yet connected to another node despite its attempts to connect in state 830).

[0238] When the alarm interval finally expires (factor 810), the ID node transitions to the ID Node Discoverable Announcement state 815. Here, the ID node is not yet connectable, but will receive SCAN_REQ-type requests from other nodes in response to the announcement packets being broadcast by the ID node. In this state 815, the exemplary ID node may change its status flag to indicate and reflect that its alarm interval has expired and the node is no longer in normal operation. In other words, the ID node may change its status flag to a type of alarm state that is broadcast to indicate that the ID node urgently needs to connect with another node. For example, the status flag of the announcement packet broadcast by the ID node may change to one of the high alarm levels depending on whether the node needs to upload data (e.g., Alarm Level 3 state) or synchronize a timer or other data with another node (e.g., Synchronization state). Through this change in status flag and the ID node's broadcast in state 815, the ID node awaits a request from another node (which receives the broadcast and request for more information via a SCAN_REQ message sent from that other node to the ID node (factor 820)). Once the SCAN_REQ message (factor 820) is received by the ID node, the ID node that entered alarm mode because it has not yet connected to another node within the alarm interval is able to connect to that other node, upload or share data as needed, and then move back to state 805 and restart the alarm interval and unconnectable interval.

[0239] Masternode to IDnode association example

[0240] Announcement (broadcasting) and scanning (listening) are the ways that nodes can communicate during an association operation. Figure 9-12 Examples are provided regarding how network elements of a wireless node network, such as ID nodes, master nodes, and servers, may communicate and operate when connected and associated as part of several exemplary wireless node network operations.

[0241] Figure 9 is a simplified diagram illustrating exemplary components of a wireless node network during an exemplary master-ID node association according to an embodiment. Figure 9 , exemplary master node M1 910a is shown as being within communication range of exemplary ID node A 920a. Master node M1 910a also has a communication path back to server 900. As shown, master node M1 910a is in scanning or listening mode (e.g., via “M1 scan ” label), while ID node A 920a is in announcement or broadcast mode (e.g., via “A adv ” label). In this example, the M1 master node 910a captures the address of ID node A 920a through the announcement of at least one announcement data packet of A and reports it to the server 900. In this way, the capture and reporting operations effectively create a “passive” association between the node and the proximity-based custody control. This association can be recorded in a server, such as server 900, as part of association data, such as association data 540.

[0242] In another embodiment, the passive association between the master node and the ID node can be extended to an "active" association or connection. For example, referring to Figure 9 In the illustrated embodiment, the server 900 may instruct the master node M1 910a to associate, connect, or otherwise pair with the ID node A 920a and forward the required security information (e.g., PIN credentials, security credentials, keys) to the master node M1 910a. Depending on the advertised state of the ID node A 920a, the ID node A 910a may only be visible (discoverable) but not connectable. In this case, the master node M1 910a must wait until the ID node A 920a is in a connectable state (e.g., ID node general advertised state) and can be paired. As described above with reference to Figure 8 As described, each ID node has a certain time window during each time period in which it can pair or connect.

[0243] In this example, when ID Node A 920a is successfully paired with Master Node M1 910a, ID Node A 920a may no longer announce its address. By default, only unassociated devices will announce their addresses. Paired or associated nodes announce their addresses only if instructed to do so.

[0244] ID Node to ID Node Association Example

[0245] In various embodiments, ID nodes may be associated or connected with other ID nodes. Figure 10 is a simplified diagram illustrating exemplary components of a wireless node network during an exemplary ID to ID node association according to an embodiment of the present invention. Figure 10 , Demonstration master node M1 910a, ID node A 920a and server 900 as Figure 9 , but with the addition of ID Node B 920b, which is within the communication range of ID Node A 920a. In this example, ID Node A 920a operates in inquiry (scanning) mode (e.g., A scan ), listening to ID Node B 920b. When ID Node A 910a detects that ID Node B 920b is advertising using one or more advertising data packets as part of an advertising message from ID Node B 920b (e.g., B adv ), ID node A 920a identifies from the message a status flag indicating that ID node B 920b has data for upload (e.g., sensor data 350). Accordingly, ID node A 920a records the scan results (e.g., as a type of association data 340), and when subsequently connected to master node M1 910a, ID node A 920a uploads the captured scan log information to server 900. In this way, the ID node scanning, capturing, and reporting operations effectively create a "passive" association between different ID nodes. This passive association may be recorded in server 900 as part of the association data 540.

[0246] In another embodiment, a passive association between two ID nodes can be extended to an "active" association or connection. For example, referring to Figure 10 In the illustrated embodiment, based on the captured status flags and the uploaded information related to ID Node B 920b in that mode, the server 900 may issue a request to ID Node A 920a via master node M1 910a to actively connect or pair with ID Node B 920b in order to download information from ID Node B 920b. In one example, security credentials authorizing an active connection between ID Node A 920a and ID Node B 920b are downloaded from master node M1 910a (which receives them from the server) to ID Node A 920a. In another example, the necessary security credentials may be pre-arranged at ID Node A 920a. And rather than relying on an ID node-to-ID node connection, master node M1 may connect directly to ID Node B 920b if M1 is within the communication range of ID Node B 920b.

[0247] Example of information query from ID node to master node

[0248] The Demonstration ID Node can also issue queries to other nodes (Master Node and ID Node). Figure 11 is a simplified diagram illustrating exemplary components of a wireless node network during an exemplary ID to master node query according to an embodiment of the present invention. Figure 11 , showing that Figure 9 A similar set of nodes is shown, except that the exemplary master node M1 910a is in an announcement or broadcast mode (e.g., M1 adv ), while ID node A 920a is in scanning mode (e.g. A scan ). In this configuration, ID Node A 920a can query the master node M1 910a for information. In one embodiment, the query can be initiated by the ID node setting its status flag. The requested information can be information to be shared, such as the current time, location, or environmental information stored by the master node M1 910a.

[0249] In the passive association example, A scan The ID node A 920a of the mode may have captured the address of the master node M1 910a. However, since the ID node cannot directly connect to the server 900 to request the group pair security credentials (e.g., security pin information authorizing an active connection between the ID node A 920a and the master node M1 910a), the passive association and corresponding group pairing will be initiated from the master node. In another example, it may be possible for the ID node A 920a to store the group pair credentials as security data 335 from a previous connection. This would allow the ID node A 920a to then initiate an active association with the master node M1 910a after the passive association.

[0250] Alarm level announcement example

[0251] As previously described, in one or more embodiments, a node may enter an alerting phase or stage. For example, if a node has not received an acknowledgment of an announcement packet from a master node within a set period (e.g., an alerting interval in some embodiments), the node will enter a specific alerting phase of more specialized announcements so that it can be "discovered" or pass information. Figure 12 is a simplified diagram illustrating exemplary components of a wireless node network during an exemplary alert announcement mode according to an embodiment of the present invention. Figure 12 , showing that Figure 9 A similar set of nodes is shown with the addition of another master node (Master Node M2 ​​910b) and another ID Node (ID Node B 920b). Example ID Node A 920a is in announcement or broadcast mode (e.g., A adv ), while nodes M1, M2 and B are each in scanning mode (for example, M1 scan 、M2scan and B scan ). Figure 12 In this example and configuration shown, the status flag in the announcement message from ID Node A 920a is set to a specific alert level (e.g., alert level 2) in the header of the message, requesting any nearby master nodes to acknowledge it. In one example, ID Node A 920a may enter this mode if it has not connected to another node for a set time period. In another example, ID Node A 920a may enter this specialized announcement mode upon receiving an indication (e.g., from server 900 or another nearby node) or a trigger condition (other than time), such as when a sensor input (e.g., a light) is detected or otherwise recorded and the node issues continuous updates of its address as a security feature. ID Node A 920a set at this alert level and in this specialized announcement mode is thus set in active pairing mode, awaiting pairing credentials.

[0252] From a passive association perspective, any node in scanning mode can passively associate with such an advertising node (e.g., ID Node A 920a in such an alerting mode). Thus, in an embodiment, the alert level 2 status flag in the advertisement header broadcast by ID Node A 920a indicates a request for emergency and active intervention rather than just a passive association without an active connection.

[0253] From an active association perspective, any node that uploads a special announcement header for ID Node A 920a can forward security credentials from the server 900. This allows nodes that receive such credentials to actively associate or pair with ID Node A 920a.

[0254] Figure 8 Provide examples of how nodes can advertise, and Figure 9-12 Provides examples of how different demonstration devices (such as ID nodes, master nodes and servers) can be advertised and associated in different ways, while Figure 22A -C provides a progressive set of diagrams detailing how association and disassociation may be applied in an exemplary wireless node network. More specifically, Figure 22A -C shows how association and disassociation may occur when a demonstration ID node is tracked and managed by a server and different master nodes as it traverses a demonstration transit path, in accordance with an exemplary embodiment of the present invention.

[0255] Now refer to Figure 22A, a structure 2200 is shown having an entry and exit point. In one example, the structure 2200 can be a hallway or another portion of a building or facility. In another example, the structure 2200 can be a transporter system that transports items and their ID nodes from an entry point to an exit point. Master node M1 2210a is located near the entry point of the structure 2200, while master node M2 ​​2210b is located near the exit point. Those skilled in the art will appreciate that other master nodes may be set at additional points in the structure 2200, but are not shown for convenience and to simplify the following association switching description. The server 100 is operatively connected to each of the master node M1 2210a and the master node M2 ​​2210b via the network 105.

[0256] In one embodiment, the server 100 has access to contextual data 560 related to the structure 2200, such as layout data 585 regarding the dimensions and materials that make up the structure 2200. The contextual data 560 may include historical data 575 regarding how the ID node operated and was successfully tracked as it traversed the structure 2200 from an entry point to an exit point. For example, the server 100 may have contextual data indicating that the structure 2200 is a transporter capable of transporting items and their ID nodes over a distance of 800 feet from an entry point to an exit point. The contextual data may also indicate that a typical item moves at a certain speed on the transporter of the structure 2200, and the nominal time from the entry point to the exit point may be approximately 5 minutes. Thus, the server 100 has access to contextual data related to the environment in which the ID node is operating, and may use this to better and more accurately manage the ID node.

[0257] Figure 22A , ID node A 2220a is shown entering structure 2200 at an entry point. Here, ID node A 2220a may advertise its desire to connect to a master node at an unconnectable interval of, for example, 10 seconds (wherein the connectable interval is 5 seconds). In this example, the server 100 knows that ID node A 2220a is located near the entry point and predicts that ID node A 2220a should be close to master node M1 2210a at the entry point. Therefore, the server 100 may set the connectable and unconnectable intervals accordingly to provide ample opportunity for ID node A 2220a to connect to the next master node along the predicted path of the ID node and at the speed of travel.

[0258] Additionally, the server 100 may set the alert level to 1 minute in this context. Here, if ID node A 2220a does not connect to another node within 1 minute, ID node A 2220a may broadcast or announce a message (with a changed state flag indicating an alert state) so that ID node A 2220a can connect to a wider range of other nodes (which can see that ID node A 2220a is eager to connect and is essentially discovered). Depending on the context (e.g., the type of transporter, the speed of the transporter, the density of nodes near the entry point, etc.), those skilled in the art will understand that the server 100 can adjust the announcement cycle interval to better suit the current environment of the ID node.

[0259] When master node M1 2210a is scanning (listening), it may initially detect announcement packets from ID node A 2220a during an unconnectable interval of node A. However, when ID node A 2220a changes the announcement state and broadcasts as a connectable node in a general announcement state (i.e., during a connectable interval), master node M1 2210a may respond with a SCAN_REQ, which acknowledges receipt of the broadcast message and requests additional information from ID node A 2220a. Master node M1 2210a receives the requested information from ID node A 2220a and then communicates with server 100 to inform the server of its passive association with ID node A 2220a. Server 100 determines whether an active association is desired and may authorize the active association between master node M1 2210a and ID node A 2220a by sending security credentials to master node M1 2210a, which allow the nodes to securely connect and share information. And master node M1 2210a can determine the location of ID node A 2220a (or server 100 can do so by directing master node M1 and / or ID node A) and provide the location of ID node A 2220a to server 100. Thus, server 100 is able to manage and track the location of ID node A 2220a when it enters structure 2220, at least via association.

[0260] Figure 22B, ID node A 2220a traverses a portion of the transit path through structure 2200 while remaining associated with master node M1 2210a. However, at some point, master node M1 2210a and ID node A 2220a disengage at the direction of server 100 (e.g., when they can no longer communicate). In one example where ID node A 2220a is on a transporter in structure 2200, server 100 may instruct ID node A 2220a to go into a low power mode for a particular time period, for example, to conserve ID node power. In another example, low power mode may also provide better location accuracy. Because server 100 has access to contextual data, server 100 may know that ID node A 2220a is associated with master node M1 2210a near an entry point at a given time, and may determine that ID node A 2220a will not be near an exit point until the end of a particular time period. With ID node A 2220a programmed in this way, once a certain period has passed, ID node A 2220a should be near the exit point and can again be placed in standard operating mode so that it can manage to connect with master node M2 ​​2210b.

[0261] Similar to the association process described for ID Node A and Master Node M1, when ID Node A 2220a approaches Master Node M2 ​​2210b near the exit point, ID Node A 2220a and Master Node M2 ​​2210b may be associated. Once connected, the node position and association data are updated on the server 100. And as ID Node A 2220a continues to traverse the structure 2200, ID Node A 2200a may reach a location such as Figure 22C The exit point is shown, where the node positions and associated data are again updated on the server 100 .

[0262] Those skilled in the art will understand how such principles can be applied to other movements of ID nodes as they are handed off between other master nodes (e.g., via active / passive association and detachment) and the tracking of these associations and node locations on the server 100. Additionally, because the server 100 tracks and monitors association, detachment, and context operations, the server 100 generally knows how to better use context information, better track nodes, manage the power used by the ID nodes, and enhance location accuracy.

[0263] Those skilled in the art will also understand the general tradeoff between RF power level and location accuracy. If a node's RF power level is set higher, it can advertise and connect with other nodes at greater distances. However, at such high power level settings, the system's ability to distinguish and locate different nodes may be challenging.

[0264] Association management in wireless node networks

[0265] As generally described above, management of nodes may rely on associations that are created and tracked between nodes. In some embodiments, the associations relied upon may be active associations, where a server explicitly authorizes an active connection between nodes. In other embodiments, the associations relied upon may be passive associations, where a master node (a type of management node) is associated with another node but is not actively connected to the other node. Through passive associations, a server may be able to track and manage another node without the need for active associations. Thus, those skilled in the art will appreciate that in yet other embodiments, the associations relied upon by a server to manage a network of wireless nodes may include active and passive associations, and may generally be authenticated or, more specifically, authorized secure connections, which have some degree of protection for connections and communications using that connection.

[0266] Figure 23-25 Flowcharts are provided for exemplary methods of association management for a wireless node network having at least a plurality of nodes and a server, according to various embodiments of the present invention involving examples of active and passive association. Those skilled in the art will appreciate that each of these exemplary methods of association management for a wireless node network can be implemented by instructions stored on a non-transitory computer-readable medium that, when executed, perform the steps of the corresponding methods described below (e.g., methods 2300, 2400, and 2500), as well as variations of those methods.

[0267] Now refer to Figure 23 , method 2300 begins by identifying a first node as a potential candidate for active association with a second node at step 2305. In one example, identifying the associated node may involve reviewing messages sent by the first node to determine state information related to the first node, and analyzing the state information to determine whether the first node should associate with the second node. In another example, the state information may include one of a plurality of different state levels, indicating whether the first node is requesting a connection to the second node when in that particular state level.

[0268] Subsequently, the association request is transmitted to the server in step 2310. In one example, the association request may identify the first node and the second node to be associated, and may request the transmission of one or more appropriate security credentials (e.g., PIN credentials, security credentials, keys, etc.) that can be used by the nodes to enable the first and second nodes to securely connect and share data as part of the association. An embodiment may request only one credential from the server as an authorization credential. Other embodiments may use two credentials, one of which may later be used as a credential to respond to the query. For example, if the ID node is queried, the ID node may send a response authorization credential so that the master node can confirm the response and provide the ID node with appropriate security credentials for authorizing the association. In some cases, the ID node may be provided with such a response authorization credential (also commonly referred to as a key) by the server.

[0269] At step 2315, the second node receives a grant response from the server related to the association request. In an example, the grant response may include receiving a first authorization credential and a second authorization credential from the server (which may be stored on the node). Thus, the first authorization credential and the second authorization credential may be created by the server as a type of secure data and may be provided to authorize the connection between the first node and the second node and to securely share information between the first node and the second node.

[0270] With this authorization from the server, the first node and the second node may be associated at step 2320. In one example, method 2300 may associate the nodes by establishing an authorized connection from the second node to the first node based on the authorization credentials. Furthermore, 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.

[0271] In an embodiment, method 2300 may further include causing a second node to acquire responsibility for a task after associating with the first node, if responsibility for the task was previously 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, this may advantageously transfer 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 require recharging or replacement).

[0272] Figure 24 is a flow chart illustrating another exemplary method for association management of a wireless node network according to an embodiment of the present invention from the perspective of a server. Figure 24 The method 2400 begins with the server receiving an association request sent from a second one of the nodes at step 2405. The association request asks for permission to associate the first one of the nodes to the second one of the nodes.

[0273] At step 2410, the server determines the (actual or relative) locations of the first node and the 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 the GPS coordinates of the master node's current location (which it provides to the server). Furthermore, in one embodiment, the server may determine the location of the first node using at least one of a plurality of positioning methods (such as those discussed in detail above) available to the server for locating the first node (or a combination of such methods to determine a more refined location of the first node).

[0274] In step 2415, the server determines whether it is desired to associate the first node with the second node based on at least the location of the first node and the location of the second node. In one embodiment, whether the association is desired can be determined by determining whether the first node is expected to be associated with the second node based on contextual data. In another embodiment, whether the association is desired can be determined by identifying a current filtering mode that limits the potential nodes to be associated, and only granting permission to associate the first node with the second node when the current filtering mode allows the first node to associate with the second node. For example, this may involve granting permission only when the current filtering mode defines that the second node is within the location range of the first node consistent with the current filtering mode. This can be defined by a specific filtering mode (e.g., a local, regional, or global filtering mode that operates to limit nodes that can be associated with other nodes). Therefore, the method can change the current filtering mode to another filtering mode that allows the first node to associate with the second node, as a kind of override of the current filtering mode (e.g., depending on the alarm status of the first node).

[0275] If it is desired to associate the first node with the second node in step 2420, the server records the new association data in step 2420. In step 2425, the server transmits a response to the second node granting permission to associate the first node with the second node. In an embodiment, the server may first generate an authorization credential that authorizes the connection between the first node and the second node, and the sharing of information between the first node and the second node. This may be done by looking up credential information or by creating a specific authorization credential that allows the two nodes to actively pair up and share data. The server may transmit the authorization credential in response.

[0276] In another example, if the server anticipates that the second node will detach from the first node and later request to associate with a third node, the server may pre-arrange authorization credentials associated with the second and third nodes. This may be done, for example, if the context indicates that the second node (e.g., the primary node) may be placed in a container and may need to connect to the third node in the future when the second node may lose connectivity with the server.

[0277] 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 include portions originating from both the first and second nodes. For example, the second node may receive permission to associate and actively pair with the first node in a secure manner. The first node may indicate that it has data to upload (e.g., sensor data), and the second node may receive the data from the first node. Following such sharing, the second node may upload the shared sensor data from the first node by transmitting the shared sensor data to the server.

[0278] The method may also include instructing the second node to take over responsibility for tasks previously performed by the first node after associating 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, responsibility for certain tasks may be taken over by the node with a more robust power supply (e.g., the node powered by the external power source).

[0279] In more detail, the responsibilities of certain tasks can be established, tracked, and changed using programmable profiles. For example, in one embodiment, a server can establish a profile that specifies how often task responsibilities change. In some cases, a profile can define a time period during which a node with this profile will have responsibilities for a certain task before reverting to a default mode. In another example, a node (e.g., a master node) can have a default condition trigger (e.g., a low power state or when it cannot communicate with the server) that can override this profile so that it does not take on additional responsibilities under certain conditions.

[0280] Furthermore, embodiments may allow the master node to decide which other node can assume responsibility for certain tasks. This may be helpful in situations where access to servers may be limited (e.g., in an air freight environment). However, managing such profiles may be easier to implement in other embodiments that have easier access to more types of service-level contextual data.

[0281] In an embodiment implementing association management as a system, such an exemplary system for association management of a wireless node network may include 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 long-range communication path between the second node and the server.

[0282] The server includes a server processing unit, a server volatile memory coupled to the processing unit, and a third communication interface that provides a long-range communication path between the server and the second communication interface of the second node.

[0283] The node volatile memory holds at least a first program code segment (eg, master control and management code 425 or a portion thereof), while the server volatile memory holds at least a second program code segment (eg, server control and management code 525 or a portion thereof).

[0284] When executing a first program code segment residing in a volatile memory of the node, the node processing unit of the second node is operable to identify the first node as a potential node for associating with the second node, transmit an association request to the server via the second communication interface, receive an association response (having at least authorization information generated by the server) from the server via the second communication interface, provide the authorization information to the first node, and associate the first node and the second node.

[0285] In one example, the node processing unit may be further operable to review state information associated with 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 operable to securely provide shared data between the first and second nodes after the first and second nodes are associated and in accordance with a sharing profile provided by the server. The sharing profile may define the type of information to be securely shared between specific nodes.

[0286] When running the second program code segment residing in the server volatile memory, the server processing unit can be operated to determine the location of the first node and the second node, determine whether it is desired to associate the first node with the second node based at least on the location of the first node and the location of the second node, if it is desired to associate the first node with the second node, store new association data in the server volatile memory, and transmit an authorization response to the second node granting permission to associate the first node with the second node.

[0287] In one embodiment, a second node in the system can take over responsibility for tasks previously handled by the first node after the second node successfully associates 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 can be managed more effectively and efficiently by reassigning tasks (particularly tasks involving significant power expenditures, a series of operations over a significant period of time, or both) to another node, such as the second node (which has more available power than the first node).

[0288] In another embodiment, the server processing unit may be further operable to set a current filtering mode that limits potential nodes to be associated, and grant permission to associate the first node with the second node only if the current filtering mode permits the first node to associate with the second node. In yet another embodiment, the server processing unit may be further operable to change (e.g., override) the current filtering mode to a different filtering mode. This allows the server to adapt how nodes are managed and permit the first node to associate with the second node when desired (e.g., when the first node is at an alarm status level and is more eagerly requesting a connection to a larger set of nodes than permitted under the current filtering mode).

[0289] Figure 23 and Figure 24 The exemplary method shown focuses on active association, while Figure 25 is a flow chart illustrating an example method of association management for a wireless node network having at least a plurality of nodes and a server according to an embodiment, from the perspective of a node passively associating with another node. Figure 25 Method 2500 begins at step 2505 with the second node receiving a message broadcasted by the first node. At step 2510, the second node captures the 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 the address of the second node as associated data in a memory of the second node. At step 2520, the second node transmits the associated data to the server.

[0290] At some point, when the second node does not receive additional messages broadcast from the first node, the second node may update the server with the updated association data. For example, the second node and the first node may remain associated and securely connected for a period of time, but eventually the first node may move to a point where the connection is no longer possible, or the first node may move closer to another node along the projected path of travel (e.g., a projected shipping path along a transport in a structure from the structure's entry point but now closer to the structure's exit point). As the first node travels on the transport, it may become closer to another node near the exit point and be better managed by its association with that other node near the exit point. Thus, the updated association data reflects that the first node has become disassociated from the second node.

[0291] The method 2500 may also include causing the second node to determine a location of the first node and updating the server with the current location of the second node and the determined location of the first node. Additionally, the method 2500 may include receiving location information from the server defining a refined location of the first node.

[0292] In an embodiment implementing passive association management as a management node (e.g., a master node) in a wireless node having at least one other node and a server, the exemplary management node includes a processing unit, first and second communication interfaces each coupled to the processing unit, a volatile memory coupled to the processing unit, and a memory storage device coupled to the processing unit. The first communication interface provides a first communication path to the other node, is capable of receiving messages broadcast from the other node, and provides the messages to the processing unit. The second communication interface provides a second communication path to the server.

[0293] The memory storage device holds 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 operable to receive a message from the first communication interface, capture an address of the other node from the message, store the captured address of the other node and the address of the management node as part of association data in the memory storage device, and transmit the association data to the server via the second communication interface.

[0294] In one example, the memory storage device also maintains a location manager module, and when the processing unit also loads the location manager module into volatile memory and executes the instructions of that module, the processing unit is operable to determine the location of another node, determine the current location of the management node (e.g., via a GPS location signal), and update the server with the current location of the management node and the determined location of the other node.

[0295] The management node may be further operable to update the server with the updated association data when the first communication interface does not receive additional messages broadcast from the other node. The updated association data may reflect that the other node has disengaged from the management node.

[0296] Context Management in Wireless Node Networks

[0297] As generally described above, the management of nodes can rely on the context of the node. Figure 5As shown, the server 100 has access to a large amount of different contextual data 560. According to embodiments of the present invention, contextual data, such as data 560, may include a large amount of data that generally relates to the environment in which the node operates and can be used to advantageously provide enhanced node management capabilities. Therefore, the use of such contextual data provides a data foundation in embodiments so that the server can better and more efficiently perform management tasks related to nodes in the network and adjust such tasks to take into account relevant contextual data as the node moves in the network (for example, when the ID node moves along an expected or predicted transit path from an origin to a destination with a shipped item). For example, the server utilizes the ability to rely on relevant contextual data to advantageously change how a node is instructed to operate, how a node is associated with another node, how a node can be better located, and how a request to report the location of a node can be more efficiently tracked and responded to.

[0298] Figure 26 is a flow chart illustrating an exemplary method for context management of a wireless node network according to an embodiment of the present invention. Figure 26 Method 2600 begins at step 2605 by the server identifying at least one of the nodes. In one example, such as shown in FIG. 22 a, server 100 may identify ID node A 2220 a as part of a communication received from master node M1 2210 a. At step 2610, the server determines contextual data relating to the operating environment of the identified node as it moves within the operating environment.

[0299] In one embodiment, the context data may include one or more types of data, such as scan data, historical data, shipping data, RF data, and layout data. For the example shown in Figure 22a, the server 100 may access the context data 560 (which may be stored in the context database 565) to determine the portion of the context data 560 related to the operating environment of the ID node A 2220a. In this example, such context data 560 may include shipping data related to the shipped items (which are connected to the ID node A 2220a), scanning data regarding the scanning of items connected to the ID node A 2220a when entering the structure 2200, historical data regarding how long it takes for the node to pass through a transport located in the structure 2200, and layout data regarding the dimensions of the structure 220. Those skilled in the art will understand that the context data may include operating environment information created in the wireless node network or created by a third party (e.g., climate information related to the operating environment of the ID node A 2220a).

[0300] While the server determines contextual data relating to the operating environment of the identified node in one embodiment, such current or projected operating environment of the node in more detailed embodiments may include one or more types of environments. For example, the current or projected operating environment of the node may include an electronic communications environment, a physical environment along with an expected path of movement of the node, a transportation environment related to how the node moves, and a density environment related to the density of nodes within an area near the particular node identified by the server.

[0301] Returning to step 2610, the determining step may involve determining contextual data relating to an expected operating environment of the identified node as it moves toward the location of the other node in the predicted path. In another example, the determining step may involve determining contextual data relating to an expected operating environment of the identified node as it moves toward the other node in the predicted path for the predicted association with the other node and an expected operating environment of the other node.

[0302] At step 2615, the server performs the management task associated with the identified node, making adjustments to account for the determined context data. If the determined context data (e.g., RF signal degradation information) indicates that no adjustments are actually required when performing the task, no adjustments are made given the determined context data. As will be appreciated by those skilled in the art, adjustments can be made when context requires them, rather than always being required.

[0303] In one embodiment, performing a management task may generally include instructing an identified node to change its operation based on the determined contextual data. For example, the server 100 may perform a management task that instructs ID node A 2220a to change its connectable and unconnectable intervals when in proximity to master node M1 (which is known to the server 100 from contextual data, such as scan data generated when node A enters structure 2200). Thus, in this example, the server 100 is able to take advantage of the enhanced visibility of ID node A 2220a based on the contextual data and advantageously change the operation of node A to increase the chances of the node successfully associating with master node M1 2210a.

[0304] In other embodiments, performing the management task may include associating the identified node with another node, wherein adjustments are made to change association parameters based on the determined context data. In other words, context data can be helpful as part of associating the node. In one example, the association parameters may include at least one change timing interval associated with associating the identified node with the other node, such as an alarm interval or a connectable interval. These intervals are parameters that can be changed as part of the adjustments made when the server associates the two nodes, for example, to set the interval to a more appropriate duration in order to enhance the timing and opportunity for the nodes to actively pair up and securely share data as needed.

[0305] In yet another embodiment, performing the management task may include locating the identified node, wherein adjustments to the power settings are made based on the determined context data. In one example, the power setting adjustments are made to a master node that is in direct communication with the server. In another example, the power setting adjustments may be made to an ID node that transmits this operational adjustment information from another node. In one embodiment, the power setting itself may include an output power level that is adjusted to account for adverse conditions in the operating environment of the identified node (e.g., a master node with an adjusted RF output signal level). The adverse conditions may be, for example, an adverse RF communication environment where structures attenuate or otherwise hinder normal RF communications. In another example, the adverse conditions may be a high density of nodes near the identified node.

[0306] More specifically, the output power level can be adjusted to account for shielding conditions in the operating environment of the first node. Such shielding conditions can be caused, for example, by one or more of the packaging, the contents of the package, neighboring packages, the contents of neighboring packages, and the 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 unfavorable RF communication environment, and its output power level can be increased based on this contextual data to better cope with the unfavorable shielding conditions.

[0307] In yet another embodiment, performing the management task may include providing the location of the identified node in response to a request received by the server regarding the status of the identified node. For example, if the server 100 receives a request from the user access device 205 regarding the status of ID node A 2220a, the server 100 can provide the location of node A as being within structure 2200, but refined to be near an entrance to the structure given adjustments to account for contextual data, such as scan data associated with items shipped with node A 2220a.

[0308] Those skilled in the art will appreciate that the method 2600 as disclosed and described above in various embodiments may be implemented on a server running one or more portions of the server control and management code 525 (e.g., a context-based node manager), e.g. Figure 5 and Figure 22A 525 is implemented on the server 100 shown. Such code may be stored in a non-transitory computer-readable medium, such as a memory storage device 515 on the server 100. Thus, when executing the code 525, the processing unit 500 of the server may be operable to perform the algorithmic operations or steps from the exemplary methods disclosed above, including the method 2600 and variations of that method.

[0309] Node location determination method

[0310] As part of managing and operating a network of wireless nodes according to one or more embodiments of the present invention, for example tracking Figure 22A -ID node A 2220a in C, performs determining the location of the node. As described above, the exemplary ID node can directly or indirectly rely on the master node to determine its location. In the embodiments discussed and described herein, the location of the node can generally include a current or past location. For example, if the node is not moving, the embodiment determining the location of the node can be the current location, but if the node is in motion, the location can necessarily be determined as a past location.

[0311] Likewise, the term "position" alone may encompass locations with varying degrees of accuracy. For example, a location may encompass an actual position having defined coordinates in three-dimensional space, but the use of the term "position" may also encompass only relative positions. Thus, the term "position" is intended to have a general meaning unless expressly limited to a more specific type of location.

[0312] Determining the node's location can be performed by the master node alone, by the server alone, or by the master node in collaboration with the server. Furthermore, on such devices, embodiments may employ one or more methods to determine the node's location and further refine the location. Such example methods may include, but are not limited to, determining the node's location, which may involve controlling the node's RF characteristics (e.g., RF output signal level and / or RF receiver sensitivity level), determining relative proximity, considering association information, adjusting the location based on contextual information and the RF environment, linking triangulation, and hierarchical and adaptive methods that combine various positioning methods. A more detailed description of these exemplary node location determination techniques is provided below.

[0313] Positioning by proximity

[0314] In one embodiment, signal strength measurements between two or more nodes may be used to determine the proximity of the nodes. If the actual location of no node is known, one embodiment may infer the positional relationship of two nodes via proximity.

[0315] Proximity when changing power characteristics

[0316] For example, an exemplary method of determining a node location in a wireless node network of nodes may involve changing a power characteristic of the node, such as the output power of one of the nodes. Figure 13As described above, power characteristics can be varied to identify the nodes closest to the broadcasting node. The broadcasting node may transmit one or a series of signals, and other nodes may report receiving one or more of the signals. Other nodes that receive at least one signal broadcast from the transmitting node may be considered part of a group of nodes that are close together. Furthermore, when the power characteristics are varied (increased, decreased, or both), the closest group of nodes (or a single node) may be identified as the smallest group of nodes that receive at least one signal from the broadcasting node. Accordingly, while not absolute, a type of location of the broadcasting node can be determined based on the closest node or group of nodes. This process can be repeated for adjacent nodes to generate a set of closest node information for each node. More specifically, an exemplary set of closest node information for each node may include which nodes are closest (as determined by the lowest power characteristics) and, more robustly, information about other nodes that are gradually further away (as determined by increasingly higher power characteristics). Thus, the set of closest node information provides a basis for determining the proximity of nodes in the network, providing a type of location determination for each node.

[0317] Additionally, in certain embodiments, contextual data may be referenced to further enhance the determination of nodes' proximity. For example, combining the collection of closest node information with contextual data (e.g., scan information recorded when items change custody in a delivery system) can further refine how the nodes' locations are determined. Scans and other contextual information will help determine, for example, whether one or more of the nodes are known to be in the same container, vehicle, or moving together on a conveyor. Thus, this type of contextual data can be integrated into another step of refining the proximity of nodes based on contextual data.

[0318] Generally speaking, the location of a proximity-based node may be determined as the power characteristics of the node change or vary in a wireless node network. Figure 28 is a flow chart illustrating an exemplary method for determining location by changing power characteristics of a node in a wireless node network according to an embodiment of the present invention. Figure 28 Method 2800 begins at step 2805 by instructing a first node to change a power characteristic of one or more signals broadcast by the first node. In a more detailed embodiment, such instruction may cause the first node to gradually decrease or gradually increase a power characteristic (e.g., an output power level) between values, for example.

[0319] At step 2810, method 2800 continues by identifying a first set of other nodes in the wireless node network that are proximate to the first node based on those other nodes that receive at least one of the signals broadcast by the first node when the first node changes the power characteristic. In another embodiment, step 2810 may gradually identify which of the first set of other nodes receive at least one of the broadcast signals when the first node gradually changes the output power level of the broadcast signal. The gradually identified nodes may be considered to be a set of nodes that are increasingly proximate to the first node.

[0320] At step 2815, method 2800 continues by identifying one or more of the closest other nodes as a minimum set of other nodes that receive at least one of the one or more signals broadcast by the first node when the first node changes the power characteristic.

[0321] At step 2820, method 2800 concludes by determining the location of the first node based on the closest one or more other nodes. Thus, when power characteristics are changed, the set of nodes receiving at least one of the signals broadcast by the first node may change, with the smallest such grouping being the set of nodes closest to the first node (even if there is only one node). In a more detailed embodiment, step 2820 may include determining the location of the first node based on the closest one or more other nodes and a set of nodes that are increasingly closer to the first node, as the increasingly closer set of nodes provides more detailed proximity information for refining the location determination.

[0322] For example, refer to Figure 14 , the set of nodes that are constantly approaching the ID node F 920f may include the farthest node M3 and M1 that is closer than M3. When the power characteristic of the ID node F gradually decreases and its output power level changes from P1 to P2, M3 can no longer receive the signal, but M1 and M2 still receive the signal. And as the power characteristic of the ID node F continues to gradually decrease and its output power level changes from P2 to P3, M1 can no longer receive the signal, but only M2, as the last node closest to the ID node F, receives the signal. Therefore, in this example, determining the position of the ID node F can be based on the fact that M2 is the closest node, and the set of constantly approaching nodes includes M1 and M3, where M1 is closer than M3.

[0323] In another embodiment, one or more further refinements of the first node's position may be performed. In one example, steps 2805-2820 may be repeated, wherein a second one of the indicating nodes changes the power characteristics of one or more signals broadcast by the second node, and then method 2800 may further refine the first node's position based on the second node's position. In a more detailed example, steps 2805-2820 may be repeated, wherein a second one of the indicating nodes changes the power characteristics of one or more signals broadcast by the second node, and then method 2800 may further refine the first node's position based on the second node's position and a set of nodes that are increasingly close to the second node. By increasing cross-correlated information about which nodes are closer to other nodes and to what extent, which may be further repeated for additional nodes, embodiments may further refine the position of the first node in the network.

[0324] Method 2800 may also include determining context data associated with the first node and refining the location of the first node based on the context data. In embodiments where the power characteristic is output power level, the gradual change in the output power level of the broadcast signal at steps 2805-2815 may be set according to the context data.

[0325] Method 2800 may also determine context data to be associated with the node closest to the first node, and refine the position of the first node based on the context data. In yet another example, method 2800 may determine context data to be associated with progressively identified nodes in a set of nodes that are progressively closer to the first node, and refine the position of the first node based on the context data. For example, the closest node and the set of progressively closer nodes may have scan data indicating that they are in the same container. This exemplary context data can be used to further refine the position of the located node, which can help effectively determine that the node is near a container. Therefore, those skilled in the art will understand that the context data of the located node and the nodes identified as being close to that node can provide coherent input to advantageously help further refine the position of the node.

[0326] Those skilled in the art will appreciate that the method 2800 as disclosed and described above in various embodiments may be implemented on a server device running one or more portions of the server control and management code 525 (e.g., a location manager), e.g. Figure 5 and Figure 22A 525 is implemented on the server 100 shown. Such code may be stored in a non-transitory computer-readable medium, such as a memory storage device 515 on the server 100. Thus, when executing the code 525, the processing unit 500 of the server may be operable to perform the algorithmic operations or steps from the exemplary methods disclosed above, including the method 2800 and variations of that method.

[0327] Embodiments of such a server device may include a server (e.g., server 100) operable to communicate with a plurality of nodes in a wireless node network. Figure 5 The server generally includes a server processing unit, a server volatile memory, a server memory storage device, and at least one communication interface. In this embodiment, the volatile memory, the memory storage device, and the communication interface are each coupled to the processing unit. The memory storage device stores at least program code segments and location data related to the location of one or more nodes. The communication interface provides a communication path that operatively couples the server to the nodes.

[0328] As described above, the server processing unit, when executing the program code segments, is operable to perform the steps and operations described above with respect to method 2800 and variations of that method.

[0329] Proximity when observing signal pattern and strength over a time period

[0330] In another embodiment, an improved method for determining node location via proximity may include analyzing signal patterns and strengths between an announcing 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 particular 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 average count over a repeating time period. Still further, other embodiments may filter irrelevant observations from the observation data set to help improve the quality of the data upon which the threshold for association is set, and therefore help determine the location of the node.

[0331] In a more detailed example, an improved method for determining node location by proximity may show a captured announcement message count as a component of the node's location and determine the node's direction of travel. In this example, two exemplary master nodes (e.g., master nodes M1 910a and M2 910b) may capture announcement messages from one ID node (e.g., ID node A 920a). Master node M1 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 M2 ​​may only observe and capture 7 announcement messages from ID node A within that same period. Based on the difference in the frequency of messages observed by master node M1 from ID node A compared to the frequency of messages observed by master node M2, the system is able to determine that ID node A is closer to master node M1 and that it is a known location.

[0332] In another embodiment, comparing the average timestamps of the captured records may allow the system to make a more accurate determination of the location. For example, if the average captured message present at master node M2 ​​continues to gradually increase (e.g., it takes longer for the message to be transferred from ID node A to master node M2), then this indicates that ID node A is moving away from master node M2. If the average captured message present at master node M2 ​​continues to gradually increase, while the average captured message present at master node M1 continues to gradually decrease, then this indicates that ID node A is moving away from master node M2 ​​and towards master node M1. Therefore, for multiple observation time periods, changes in message timing (transmission or reception) can also be relied upon to enhance or refine the location of the node.

[0333] In another embodiment, observed signal strength can be a component of position determination and estimated direction of travel, and can allow the system to make a more accurate determination of position. For example, two master nodes (M1 910a and M2 920b) can capture announcement messages from a node (ID node A 920a). M1 captures 60 messages from ID node A within 2 minutes, while M2 only captures 7 messages. The average signal strength observed by master node M1 for the signal from ID node A is higher than the average signal strength observed by master node M2. Based on this observed signal strength information, the system determines that ID node A is at M1, but the predicted path may indicate that ID node A is heading towards M2. As master nodes M1 and M2 continue to capture records, the system (e.g., management code 524 operating on server 900 (which communicates with M1 and M2)) processes the continuous feed of captured records from M1 and M2. Using this observed signal strength information, as ID Node A physically moves closer to M2 and further away from M1, server 900 expects the count and average signal strength of messages from ID Node A over the observed time period (2 minutes) to increase for observations at M2 and decrease for observations at M1. Thus, in an embodiment, changes in the observed power level and frequency of observed messages may indicate actual node movement.

[0334] Basing node proximity positioning and node direction determination on observed signal patterns and characteristic strengths over a time period has the advantage of reducing the likelihood that unwanted and spurious signal anomalies will cause an incorrect determination of an ID node's location. The aforementioned exemplary methods for determining a node's movement characteristics (e.g., moving closer to one node, moving closer to one but farther from another, etc.) as part of refining a node's location may be used in conjunction with the various embodiments for determining node location described herein.

[0335] Figure 27 is a flow chart illustrating an exemplary method for proximity positioning of nodes in a wireless node network based on observed signal patterns and characteristics during a time period in accordance with an embodiment of the present invention. Figure 27Method 2700 begins at step 2705 by instructing the first and second other nodes to detect any messages broadcast from a node during a time period. The time period can be set based on a variety of factors, such as context data. More specifically, the time period can be dynamically changed based on the context data when a node moves into a different context environment.

[0336] Method 2700 has a server receiving a first indication from a first other node at step 2710 and a second indication from a second other node at step 2715. Finally, method 2700 determines a location of a node at step 2720 based on a difference between the first indication and the second indication.

[0337] The first indication relates to characteristics of messages broadcast from a node that are detected by a first other node during the time period. Similarly, the second indication relates to characteristics of messages broadcast from a node that are detected by a second other node during the time period. These indications may include, for example, a count of messages received by the respective other nodes, a transfer time factor (e.g., the average transfer time of messages detected after being broadcast), and an average signal strength.

[0338] In one embodiment, the first indication can be a first count of messages broadcast from a node (which are detected by a first other node during the time period), and the second indication can be a second count of messages broadcast from a node (which are detected by a second other node during the time period). Therefore, when the first count is greater than the second count, the location of the node can be determined to be closer to the first other node than to the second other node. In addition, method 2700 can also include determining the actual node movement direction of the node based on comparing the first count and the second count for multiple time periods. For example, method 2700 can repeatedly observe several of these time periods and track the first count and the second count over time to determine which is increasing and which is decreasing, and determine the movement of the node based on these measurements over time.

[0339] In another detailed embodiment, the first indication may be a first time factor of a message broadcast from a node (detected by a first other node during a predetermined time period), and the second indication may be a second time factor of a message broadcast from a node (detected by a second other node during the same time period). The actual node movement direction of a node may be determined based on a comparison of the first time factor and the second time factor. In a further detailed embodiment, the first time factor may be the average time it takes for a message detected by a first other node to travel from the node to the first other node, and the second time factor may be the average time it takes for a message detected by a second other node to travel from the node to the second other node. Therefore, when the first time factor is less than the second time factor, the position of a node may be determined to be closer to the first other node than to the second other node.

[0340] In yet another embodiment, the first indication may be a first average signal strength of messages broadcast from the one node (which are detected by a first other node during the time period), and the second indication may be a second average signal strength of messages broadcast from the one node (which are detected by a second other node during the time period). Thus, when the first average signal strength is greater than the second average signal strength, it is determined that the location of the one node is closer to the first other node than to the second other node.

[0341] In an embodiment, method 2700 may also include observing the degree of change of the first average signal strength and the degree of change of the second average signal strength over repeated time periods, and determining the actual node movement direction of a node based on comparing the degree of change of the first average signal strength and the degree of change of the second average signal strength.

[0342] In another embodiment, the method 2700 may further refine the determined location of a node. In this embodiment, the method 2700 may further include refining the location of the node based on at least one of a first updated location received from a first other node and a second updated location received from a second other node. For example, when the first other node is a mobile master node and it is the node that is closer to the located node of the two nodes, this embodiment can utilize location signaling on 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 the calculation of the location of the node.

[0343] In yet another embodiment, method 2700 may layer contextual data using the determined location to refine the location of a node. Contextual data associated with a node may be determined by a server, and thus the location of a node may be refined based on that contextual data. In another example, contextual data is associated with a closer node of a first other node and a second other node when compared to the location of a node. For example, a server may know that a particular master node is closer to a node than a second master node, and that the particular master node is within a container. With this additional contextual data associated with the particular master node, the server may refine the location of a node based on the contextual data. When refining the location of a node, other exemplary types of coherent contextual data may be relied upon, such as contextual data for specific shielding associated with the environment near the particular master node (e.g., a particular type of ULD having known RF shielding characteristics, etc.).

[0344] Additionally, method 2700 may involve checking to see if a node is behaving as expected. More specifically, another embodiment of method 2700 may also compare a node's location to a node's predicted path to determine if a node is outside the predicted path. This may allow the server to use learned historical data when creating the predicted path and track a node relative to being within an acceptable range associated with the predicted path. If a node is outside the predicted path, the method may also generate a notification. This allows actionable tasks to be performed to locate the node—such as changing a filtering mode option for nodes in that general area.

[0345] Those skilled in the art will appreciate that the method 2700 as disclosed and described above in various embodiments may be implemented on a server running one or more portions of the server control and management code 525 (e.g., a location manager), e.g. Figure 5 and Figure 22A 525 is implemented on the server 100 shown. Such code may be stored in a non-transitory computer-readable medium, such as a memory storage device 515 on the server 100. Thus, when executing the code 525, the processing unit 500 of the server may be operable to perform the algorithmic operations or steps from the exemplary methods disclosed above, including the method 2700 and variations of that method.

[0346] Correlation-driven positioning using variable RF characteristics

[0347] As described above, signal strength measurements between two or more nodes can be used to determine the relative distance between the nodes. If one of the nodes has a known location (e.g., master node M1 910a), the relative location of one or more nodes within range of the known-location node is generally a function of how accurately the system can determine the distance between the node with the known location and the associated node. In other words, embodiments can identify the relative location of an item and its associated nodes by relying on correlation to drive a variable low-power RF output signal to determine the distance of the node from the known location.

[0348] Position determination through masternode announcements

[0349] As generally described above, determining node location may involve controlling RF characteristics of the node (eg, RF output signal level and / or RF receiver sensitivity level), and more specifically, may involve controlling aspects of master node advertising. Figure 13 is a simplified diagram illustrating exemplary location determination using master node announcements according to an embodiment of the present invention. Figure 13 In the illustrated embodiment shown, a master node with a known location, such as master node M1 910a, broadcasts announcement messages at varying RF output power levels. Figure 13 The exemplary different RF output power levels are shown as concentric ranges 1305-1315 around a master node M1 910a. Thus, the master node M1 910a may broadcast at a maximum power P1 associated with range 1305, but may control the RF output power level and dynamically change the RF output power level to P2 and broadcast at a smaller range 1310, or to P3 and broadcast at an even smaller range 1315.

[0350] In the embodiment shown, the receiving ID nodes AE 920a-920e are in an inquiry (scanning) mode and are each able to use different levels of received signals to determine how far they are located from the transmitting M1. Figure 13 The embodiment shown has all receiving nodes acting as ID nodes, but other embodiments may have receiving nodes acting as master nodes or ID nodes or a mix.

[0351] exist Figure 13In an exemplary embodiment, the location of a node AE ​​may be determined based on the known location of a master node M1 910a. That location plus the range measurement of the respective receiving node AE ​​the last time it received a signal from node M1 and the factoring in the confidence factor of the range measurement provide a location determination of the node in accordance with variable RF signal power. Depending on the quality of the range measurement, individual receiving nodes may or may not have individually calculated locations. In yet another embodiment, if third party or contextual data, such as scan information, is available, a refined location may be determined using such data as an additional confidence factor. Since the communication range of M1 is limited to from P1 to P3, the accuracy of the location based on the association increases.

[0352] exist Figure 13 In the illustrated example of , an exemplary method for determining node location can be described that uses master node announcements. First, when the variable power short-range communication interface 480 of the master node M1 is set to P1, i.e., its maximum output, the master node M1 910a is seen by each of the ID nodes AE 920a-920e. Based on analysis or historical measurements, the outdoor performance (optimal range) of the radio in the variable power short-range communication interface 480 of M1 at the P1 power level can previously be found to be approximately 30 feet. Therefore, without the need to check the RSSI levels from the individual ID nodes AE 920a-920e and without the need for an active calibration phase, the system can know that the ID node AE ​​is within 30 feet of the master node M1 910a.

[0353] Subsequently, when the variable power short-range communication interface 480 of the master node M1 is set to P2, the medium output level in this example, the master node M1 is seen by nodes A and B. From previous analysis or historical measurements, it is determined that the outdoor performance (optimal range) of the variable power short-range communication interface 480 of the master node M1 operating at the P2 power level is approximately 15 feet. Therefore, without checking the RSSI levels from the individual nodes, it is known that ID nodes A 920a and B 920b are within 15 feet of the master node M1. In addition, we know that the ID nodes (e.g., ID nodes C 920c, D 920d, and E 920e) that no longer receive the broadcast RF signal from the master node M1 910a are somewhere within 30 feet of the master node M1 910a, but may be more than 15 feet away from M1.

[0354] And it is seen by ID Node B 920b when the variable power short-range communication interface 480 of master node M1 is set to P3, the minimum output level in this example. From previous analysis or historical measurements, it was determined that the outdoor performance (optimal range) of the variable power short-range communication interface 480 of master node M1 operating at the P3 power level is approximately 5 feet. Therefore, without checking the RSSI levels from individual ID nodes, we know that the location of ID Node B 920b is within 5 feet of the known location of master node M1 910a.

[0355] The ranging step described in the example above can then be repeated for each identified node to build a more accurate picture of the relative location of each node. The granularity of the RF characteristic settings (e.g., RF output signal power level settings) will provide greater granularity in location differentiation when performing the ranging step. In one embodiment, the ranging step can be performed for a full set of RF characteristic settings (e.g., a small number of settings for a wide range), and similar steps can then be performed for a wider selection of RF characteristic settings.

[0356] Figure 29 is a flow chart illustrating an exemplary method for position determination using one or more associations of nodes in a wireless node network according to an embodiment of the present invention. Figure 29 , method 2900 begins at step 2905, where a first of the nodes broadcasts one or more first messages at a first expected or predicted range distance. In one embodiment, the first expected range distance is an optimal range for the first node. For example, the radio of the first node in the communication interface may have a maximum setting to allow the node to broadcast at a maximum range assuming an open environment. Such a setting provides a known expected range distance. Figure 13 In the example shown in FIG. 1 , master node M1 910a may broadcast at a maximum power level P1 (which achieves a first range distance from node M1). However, if node M1 is known to be within an adverse RF shielding environment, the first expected range distance may be a distance adjusted to account for the context of such shielding (e.g., a type of context data). The expected range distance may be adjusted based on one or more types of coherent context (e.g., one or more types of context data related to how an RF output signal from a node may be obstructed).

[0357] 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 view association data in its onboard memory storage as part of identifying the nodes associated with it. In one example, the association with the first node may be a passive association (e.g., not actively paired and securely connected), an active association (e.g., actively paired and capable of securely connecting and sharing data), or a combination of both types of associations.

[0358] Then, at step 2915, the first node broadcasts one or more second messages at a second expected range distance (which is progressively smaller than the first expected range distance). Figure 13 In the example of FIG. 1 , the master node M1 910a may be the first node and is now broadcasting at a medium power level P2 (which reaches a second expected range distance from the node M1). By gradually changing the RF power level in this way, the master node M1 910a is no longer able to reach the second expected range distance from the node M1. Figure 13 Node CE is shown.

[0359] 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, wherein the location is between the first and second expected range distances from the first node. Figure 13 In the example, master node M1 910a may determine the positions of nodes CE (assuming they do not receive messages sent from the second expected range distance at RF power level P2) between the first expected range distance (when master node M1 broadcasts at power level P1) and the second expected range distance (when master node M1 broadcasts at power level P2) from the known position of master node M1.

[0360] In one embodiment, the method 2900 may further cause the first node to broadcast one or more third messages at a third expected range distance (a range progressively smaller than the second expected range distance), and determine the 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, wherein the location is approximately near the second expected range distance from the first node. Figure 13 In the example, by gradually changing the power level to P1 and broadcasting the third message at the expected range distance of that P1 level, the master node M1 is able to determine the location of node A (when node A receives the second message but does not receive the third message) as being approximately within the expected range distance from the location of the master node M1.

[0361] Additional embodiments of method 2900 may further refine such determined location by updating the location of the first node. In one embodiment, the first node may be a mobile node. Thus, refining may involve determining the current mobile location of the first node and, based on the current mobile location of the first node, refining the location of one or more identified associated nodes that did not receive any of the second messages but did receive at least one of the first messages. Thus, as the first node moves and updates its own location (e.g., via GPS signals received by positioning circuitry 475 on the master node), the first node can utilize its own updated location and advantageously refine the locations of its associated nodes.

[0362] And in some embodiments, the refined location of the associated node can be transmitted to the server. This provides updates to the server and helps track and manage the location of nodes in the network. Figure 13 For example, the master node M1 910a may utilize this method of locating the positions of associated nodes, such as ID nodes AE 920a-920e, and update the server 100 with this new position data related to the current position of node M1 and any nodes of the associated node M1.

[0363] Those skilled in the art will appreciate that the method 2900 disclosed and described above in various embodiments may be implemented on a node (e.g., a node) running one or more portions of the main control and management code 425 (e.g., a location awareness / capture module). Figure 4 The master node 110a in Figure 13 The master node M1 910a in Figure 22A 2900 and variations of that method.

[0364] In another embodiment, a node device in a wireless node network is described that uses location determination based on association as described with reference to the steps associated with method 2900. As described above, such a node device can be implemented using a master node having a node processing unit, a node volatile memory, a node memory storage device, and first and second communication interfaces. Each of the memory and the communication interface is coupled to the node processing unit. In addition, the node memory storage device holds at least program code segments, association data, and location data, and sometimes shipping information. The first communication interface provides a first communication path that operatively couples the node with multiple other nodes in the network, while the second communication interface provides a second communication path that operatively couples the node solely with a server in the network.

[0365] In this embodiment, the node processing unit is operable to transmit one or more first messages at a first expected range distance via the first communication interface and identify which of the other nodes associated with the first node received at least one of the first messages. In one embodiment, the node processing unit may be operable to access association data in a node memory storage device when identifying which of the nodes associated with the first node (e.g., passive, active, or both types of associations) received at least one of the first messages.

[0366] The first expected range distance may be an optimal transmission range for the first communication interface and, in a more detailed example, may be adjusted based on contextual data (e.g., RF shielding inherent in the node's surrounding environment). In yet another embodiment, the first expected range distance and the second expected range distance may be adjusted based on one or more types of contextual data related to how an RF output signal transmitted from the first communication interface may be obstructed by the node's environment.

[0367] The node processing unit is further operable to transmit one or more second messages via the first communication interface at a second expected range distance (progressively smaller than the first expected 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 did receive at least one of the first messages. That location is between the first expected range distance from the known location of the node and the second expected range distance from the known location of the node. In another example, the node processing unit may be operable to store the determined location as part of the location data in the node memory storage device.

[0368] The node processing unit may also be operable to transmit one or more third messages via the first communication interface at a third expected range distance (a range that is progressively smaller than the second expected range distance), and determine the 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, wherein the location is between the second expected range distance from the known location of the node and the third expected range distance from the known location of the node.

[0369] In another embodiment, the node may be mobile, and the node processing unit may be further operable to refine the location of one or more identified associated nodes that did not receive the second message but did receive the first message by updating the location of the first node. More specifically, the node processing unit may be operable to determine the current mobile location of the first node (e.g., using positioning circuitry on the node to check for a valid GPS signal and a position fix based on such signal), and based on the current mobile location of the first node, refine the location of one or more identified associated nodes that did not receive any of the second messages but did receive at least one of the first messages. The node processing unit may also be operable to transmit the refined location to the server via the second communication interface.

[0370] Location determination via ID node announcements

[0371] Figure 13 Provides an example of location determination via masternode announcements, while Figure 14 Focuses on location determination through ID node announcements. Specifically, Figure 14 is a simplified diagram illustrating exemplary location determination using ID node announcements according to an embodiment of the present invention. Figure 14 In the embodiment shown, the exemplary ID node F 920f is in the announce mode, but has no known location. Figure 13 That way, Figure 14 14. Exemplary different RF output power levels from ID Node F 920f are shown as concentric ranges 1405-1415 surrounding ID Node F 920f. Thus, ID Node F 920f may broadcast at a maximum power, P1, associated with range 1405, but may control the RF output power level and dynamically change the RF output power level to P2 and broadcast at a smaller range 1410, or to P3 and broadcast at an even smaller range 1415. Master nodes M1-M3 910a-910c are relatively located at various known locations near ID Node F 920f (which has an unknown location). Thus, ID Node F 920f may utilize the ability to adjust the RF characteristics of its own short-range communication interface, such as the RF output signal power level, as part of how the system can determine the location of ID Node F via ID Node Advertisements.

[0372] In the illustrated embodiment, the RF output signal power level of ID Node F 920f can be changed or dynamically adjusted via programmable settings (e.g., profile settings or parameters) associated with the operation of the variable power short-range communication interface 375. Additionally, while the actual communication range may vary depending on the surrounding environment, the maximum expected communication range of the ID Node transmitter at each power level is known, assuming an optimal operating environment or the absence of significant RF shielding or interference. Thus, a particular power level setting for a broadcasting node is inherently associated with a corresponding expected range distance.

[0373] In an exemplary method of determining node location using ID node announcements, the RF output signal power level can be varied across multiple power levels to improve location associated with a master node. More specifically, when the variable power short-range communication interface 375 of ID node F is set to P1, i.e., its maximum output, ID node F 920f is seen by each of master nodes M1-3 910a-910c. The expected outdoor performance or range distance (optimal range or range based on analysis or historical measurements) of the radio in the variable power short-range communication interface 375 of ID node F at the P1 power level can previously be found to be approximately 30 feet. Therefore, without any inspection of the RSSI level from a separate master node, the system knows that ID node F is within 30 feet of master nodes M1-M3.

[0374] Subsequently, when the variable power short-range communication interface 375 of ID node F is set to P2, the medium output level in this example, ID node F 920f is seen by master nodes M1 910a and M2 910b. The expected outdoor performance or range distance (optimal range or range based on analysis or historical measurements) of the radio in the variable power short-range communication interface 375 of ID node F operating at the P2 power level is approximately 15 feet. Therefore, without any examination of RSSI levels from individual nodes, it is known that master nodes M1 910a and M2 910b are within 15 feet of ID node F 920f in this example. Furthermore, we know that the master node (e.g., master node M3 910c) that is no longer receiving the broadcast signal from ID node F 920f is somewhere within 30 feet of ID node F 920f, but in this example may be more than 15 feet away from node F.

[0375] And when ID Node F's variable power short-range communication interface 375 is set to P3, the minimum output level in this example, ID Node F 920f is only seen by Master Node M2 ​​910b. The expected outdoor performance or range distance (optimal range or range based on analysis or historical measurements) of the radio in ID Node F's variable power short-range communication interface 375 at the P3 power level is approximately 5 feet. Therefore, without any inspection of the RSSI level from the master node, it is known that the location of ID Node F 920f is within 5 feet of the known location of Master Node M2 ​​910b in this example.

[0376] The ranging steps for the changing RF characteristics of the advertised ID nodes as described in the examples above may then be performed for any repetitions of the identified nodes in order to build a more complete picture of the relative positions of the nodes.

[0377] In addition, the timing between each ranging step can be changed dynamically depending on whether the node is moving. Those skilled in the art will understand that when moving, a faster process through such ranging steps will help provide better accuracy given the movement of a given node. Therefore, it is desirable that 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 is shorter when the node is moving (which can be determined based on the context data). For example, the context data may indicate that the node is within a node package on a mobile conveyor system. Therefore, the node is moving relative to a fixed master node (which may be located along the conveyor system). Therefore, the server may cause the first node to perform ranging steps in which the power is changed relatively quickly in succession compared to a situation where the context data indicates that the node is not moving or is essentially stationary.

[0378] Figure 30 is a flow chart illustrating another exemplary method for position determination using one or more associations of nodes in a wireless node network according to an embodiment of the present invention. Figure 30 As well as illustrating a specific manner in which nodes are located using association and one or more master node advertisement techniques, method 3000 begins at step 3005 by instructing a first node to broadcast one or more first messages at a first power level, the first power level being associated with a first expected range distance. In one example, the first expected range distance may be an optimal range for the first node (e.g., a transmission range assuming the absence of obstructions and a clear signal path between nodes). In another example, the first expected range distance may be an optimal range for the first node adjusted based on contextual data (e.g., data relating to the surrounding RF environment of the first node).

[0379] At step 3010, method 3000 identifies which of the nodes associated with the first node have known locations at step 3010. This type of identification can be accomplished, for example, by reviewing association data indicating which of the nodes are associated with the first node (e.g., via passive association, via active association, or via a combination thereof), determining which of the nodes are associated with the first node based on the reviewed association data, and identifying which of those associated nodes have known locations.

[0380] Method 3000 continues at step 3015 by determining which of the identified associated nodes received at least one of the first messages. Subsequently, method 3000 instructs the first node to broadcast one or more second messages at a second power level at step 3020, wherein the second power level is associated with a second expected range distance and the second power level is progressively less than the first power level. In another example, the first expected range distance and the second expected range distance may be adjusted based on one or more types of contextual data related to how the RF output signal from the first node may be obstructed.

[0381] 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 the location of the first node to be at or between a first expected range distance and a second expected 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.

[0382] As described above, determining the location of a node can be improved when taking movement into account. Thus, an embodiment of method 3000 may instruct the first node to broadcast one or more second messages within a time interval after instructing the first node to broadcast one or more first messages. The time interval may be predetermined in some implementations, but in other implementations may also be a parameter that is dynamically set based on context data associated with the first node. In more detail, the time interval may be decreased from a previous value when the context data associated with the first node indicates that the first node is moving, but may be increased from the previous value when the context data associated with the first node indicates that the first node is substantially stationary.

[0383] In another embodiment, the method 3000 may further include instructing the first node to broadcast one or more third messages at a third power level. The third power level is associated with a third expected range distance and is a range that is progressively smaller than the second expected range distance. Thereafter, the method may determine the location of the first node as being at or between the second expected range distance and the third expected range distance from each of the identified associated nodes that did not receive the third message but received at least one of the second messages.

[0384] In another embodiment, the method 3000 may include refining the position of the first node using updated positions of one or more identified associated nodes that did not receive at least one of the second messages but did receive at least one of the first messages. For example, if the first node is associated with a mobile master node, the position of the first node may be refined using the updated position of the mobile master node (which may be closer to the first node than previously determined).

[0385] In another embodiment, the first node in the method 3000 may not be aware of its own location. In another embodiment, the first node in the method 3000 may have previously known its location, but may no longer know its location before broadcasting one or more first messages. More specifically, the first node may no longer know its location before broadcasting the first message due to a change in the environment surrounding the first node. This change in environment may occur, for example, when the first node moves inside a structure (e.g., a building, vehicle, aircraft, container, etc.) that prevents the first node from receiving signals.

[0386] Those skilled in the art will appreciate that the method 3000 as disclosed and described above in various embodiments may be implemented on a node (e.g., a node) running one or more portions of the main control and management code 425 (e.g., a location awareness / capture module). Figure 4 110a) to control the ID nodes (e.g. Figure 14 Such code may be stored in a non-transitory computer-readable medium, such as a memory storage device 415 on the master node 110a. Thus, when executing the code 425, the master node's processing unit 400 may be operable to perform the algorithmic operations or steps from the exemplary method disclosed above, including method 3000 and variations of that method.

[0387] From a device perspective, an exemplary node device in a wireless node network using location determination based on association may include a node processing unit, a node memory (e.g., a node volatile memory and a node memory storage device) coupled to and used by the node processing unit. The node memory storage device holds at least a program code segment, association data, and location data. The node device also includes a first communication interface that provides a first communication path coupled to the node processing unit and operatively couples the node with a plurality of other nodes in the network. For example, Figure 4 The master node 110 shown includes this type of operating structure.

[0388] The node processing unit (e.g., processing unit 400 of master node 110a) is operable to perform specific functions or steps when executing at least a program code segment residing in the node's volatile memory. Specifically, the node processing unit is operable to transmit an instruction to a first other node (e.g., an ID node or a master node temporarily operating as an ID node) via a first communication interface to cause the first other node to broadcast one or more first messages at a first power level, wherein the first power level is associated with a first expected range distance.

[0389] The first expected range distance can be an optimal range for the first of the nodes, and in more detail, the optimal range for the first of the nodes adjusted based on the context data. In even more detail, the first expected range distance and the second expected range distance can be adjusted based on one or more types of context data related to how the RF output signal broadcast from the first node may be obstructed.

[0390] The node processing unit may be further operable to identify which of the nodes associated with the first other node have known locations. To do so, the node processing unit may access and review association data stored on a node memory storage device (e.g., indicating which 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 on 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.

[0391] The node processing unit is also operable to determine which of the identified associated nodes received at least one of the first messages, and to communicate another instruction to the first node via the first communication interface so as to cause the first node to broadcast one or more second messages at a second power level, wherein the second power level is a second expected range distance and is progressively smaller than the first power level.

[0392] Finally, the node processing unit is operable to determine which of the identified associated nodes received at least one of the second message, and then determine the position of the first node to be at or between a first expected range distance and a second expected range distance from each of the identified associated nodes that did not receive at least one of the second message but received at least one of the first message.

[0393] In another embodiment, the node processing unit may be operable to transmit a third instruction to the first node via the first communication interface to cause the first node to broadcast one or more third messages at a third power level. The third power level is associated with a third expected range distance and is a range that is progressively smaller than the second expected range distance. Additionally, the node processing unit may then be operable to determine the location of the first node as being at or between the second expected range distance and the third expected range distance from each of the identified associated nodes that did not receive at least one of the third messages but did receive at least one of the second messages.

[0394] In yet another embodiment, the node processing unit can take into account movement of the first node using a time interval between instructions sent to the first node. Specifically, the node processing unit can also be operable to transmit another instruction to the first node via the first communication interface to broadcast a second message within a time interval after instructing the first node to broadcast the first message. In a more detailed example, the time interval can be dynamically set based on context data associated with the first node. In even more detail, the time interval can be programmably decreased from a previous value when the context data associated with the first node indicates that the first node is moving (e.g., the first node is on a mobile transport system), and / or the time value of the interval can be increased from a previous value when the context data associated with the first node indicates that the first node is substantially stationary (e.g., the node is in a node package that was recently placed in a storage area).

[0395] In another embodiment, the node processing unit may be operable to refine the location of the first other node using the updated locations of one or more 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., a medium-range / long-range communication interface 485 coupled to the processing unit 400) to transmit the refined location to the server.

[0396] From the server's perspective, Figure 31 is a flow chart illustrating yet another exemplary method for position determination using one or more associations of nodes in a wireless node network according to an embodiment of the present invention (with reference to FIG. Figure 30 Those skilled in the art will appreciate that the server is operable to implement the steps set forth in method 3000 and described above, and Figure 31Further details are provided regarding how a server processing unit (e.g., processing unit 500 running server code 525) can implement this method at that network level via method 3100. In this more detailed embodiment, the server communicates directly with a master node (e.g., a first node) to direct and control how the master node interacts with an ID node (e.g., a second node) and causes operations to be performed thereon. Thus, step 3105 is similar to step 3005, but more precisely requires communicating with the 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 upon request by the first node, where the first power level is associated with and corresponds to a first expected range distance. Similarly, step 3120 is similar to step 3020, but more precisely requires communicating with the first node via a communication interface to cause the second node to broadcast one or more second messages at a second power level upon request by the first node, where the second power level is associated with a second expected range distance and is progressively smaller than the first power level. The remaining steps of method 3100 are similar to those shown and described above with respect to method 3000, and similar principles will apply to method 3100.

[0397] Those skilled in the art will appreciate that the method 3100 as disclosed and described above in various embodiments may be implemented on a server (e.g., Figure 5 100) to instruct the master node to control the ID node (e.g. Figure 14 Such code may be stored in a non-transitory computer-readable medium, such as a memory storage device 515 on the server 100. Thus, when executing the code 525, the processing unit 500 of the server may be operable to perform the algorithmic operations or steps from the exemplary methods disclosed above, including the method 3100 and variations of that method.

[0398] Similar to the node devices described above, one embodiment includes an exemplary server device in a network of wireless nodes that utilizes a location determined based on an association. The exemplary server device generally includes a server processing unit, server memory (e.g., server volatile memory and server memory storage) coupled to and used by the server processing unit. The server memory storage stores at least program code segments, association data, and location data. The server device also includes a communication interface coupled to the server processing unit and providing access to a communication path that operatively couples the server to at least a first node in the network.

[0399] The exemplary server processing unit is operable to perform specific functions or steps when executing at least program code segments residing in the server's volatile memory. Specifically, the server processing unit is operable to communicate 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 upon request by the first node, wherein the first power level is associated with a first expected 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 upon request by the first node, wherein the second power level is associated with a second expected range distance and is progressively smaller than the first power level; determine which of the identified associated nodes received at least one of the second messages; and determine the location of the second node to be at or between the first expected range distance and the second expected range distance from each of the identified associated nodes that did not receive the second message but received at least one of the first messages. In another embodiment, the server device processing unit may also be operable to store the determined location as part of the location data in the server memory storage device.

[0400] In another embodiment, the processing unit of the server device can be operable to communicate with the first node via the communication interface to cause the second node to broadcast one or more second messages within a time interval after communicating with the first node to cause the second node to broadcast one or more first messages. As previously described, this type of time interval can be dynamically set based on context data associated with the second node. The context data can also be used as described above for the node device, but here applied to the second node—for example, where the first expected range distance is an optimal range for the second node adjusted based on the context data.

[0401] The main node location is determined after the announcement

[0402] In another embodiment, the master node may no longer know its location. This situation may occur, for example, when the master node determines its current location via GPS positioning circuitry 475, but the master node finds that it does not have access to a sufficient number of GPS signals (e.g., it cannot determine its location due to a lack of GPS signals from a sufficient number of different GPS satellites). This situation may occur when the master node, which is moving indoors, approaches a structure that interferes with the location signal.

[0403] In an exemplary embodiment where the master node attempts to determine its own location via an advertisement technique, the master node may detect a loss of location confidence (e.g., upon a loss of a detected GPS signal; upon detecting an independent signal to the processing unit 400 indicating that the master node's location is unknown; upon the processing unit 400 sensing movement (e.g., via an accelerometer (not shown), etc., but unable to confirm that the positioning circuit 475 is providing updated location information for the node; etc.). In other words, the master node knows that it no longer has a known location.

[0404] The master node then starts following the Figure 14 The ID Node F 920f is described to broadcast one or more announcement messages in a similar manner. This is done so that a master node with an unknown location can advantageously leverage the known locations of other nearby nodes. Thus, embodiments may allow for a type of leveraged chaining effect whereby the known location of a particular type of node can be used to extend location information to other nodes whose locations are unknown (e.g., ID nodes) or to nodes that have detected a loss of location confidence (e.g., master nodes). Thus, such embodiments may be used to determine the indoor location of a master node (including devices equipped with master node functionality) in situations where a signal from conventional onboard positioning circuitry 475 is unavailable.

[0405] Refer back to the demonstration method 3000 and Figure 30 , method 3000 can be such that the first node is unaware of the first node's location. This can occur when the first node (e.g., an ID node) is actually a master node that previously knew its own location (e.g., via a received GPS signal), but no longer knows its location (e.g., when the GPS signal can no longer be received), which causes the master node to change operation to operate as an ID node before broadcasting the first message. In other words, the master node may no longer be aware of its location and begin operating as an ID node due to a change in the environment surrounding the master node (e.g., when the master node moves inside a structure that prevents location signals from being received by the master node) to facilitate position determination. Therefore, embodiments can advantageously allow a node to adaptively change operation when moving from an open outdoor environment to an indoor environment. And a server can interact with such a master node, which temporarily operates as an ID node for positioning purposes.

[0406] Positioning using improved RSSI measurement

[0407] In another embodiment, signal strength measurements between two or more nodes can be used to determine the proximity of the nodes using one or more improvements to conventional RSSI measurements. In conventional RSSI measurements, such as those employed with Bluetooth 4.0, those skilled in the art will appreciate that adaptive frequency hopping, which is part of spread spectrum technology, can undesirably cause signal strength fluctuations. In other words, the advantages of using frequency hopping and spread spectrum for security and interference cancellation can have an adverse effect on the use of such signals for location determination based on stable proximity. Therefore, it may be desirable to emphasize signal stability and limiting fluctuations to facilitate location determination.

[0408] In one embodiment, one type of improvement in RSSI measurements may include reducing the corresponding frequency range and / or number of channels used during advertisements from a node. For example, a node may cause processing unit 300 / 400 to adaptively control variable power short-range communication interface 375 / 480 to reduce the number of channels and / or frequency ranges used during node advertisements. In some embodiments, this dynamic change may be achieved by altering the content of a specific type of profile data 330 / 430, such as RF profile data that actually defines the node's RF characteristics (e.g., frequency, power level, duty cycle, number of channels, channel spacing, alternative fluctuation patterns, etc.). In another embodiment, a first fluctuation pattern may be defined that provides a default or more standard communication protocol, such as conventional frequency hopping, spread spectrum, and channel allocation for Bluetooth® communication. Additional alternative patterns (one or more) may be defined that alter one or more RF characteristics to provide increasingly stable and less fluctuating RF output signals from the node. Thus, a node may dynamically enter one or more modes associated with such RF characteristics that increasingly emphasize stability of the node's RF output signal and limit fluctuations, thereby facilitating enhanced position determination using RSSI measurements.

[0409] In another embodiment, one type of improvement in RSSI measurement may include ensuring visibility into and advantageously managing automatic gain control (AGC) circuitry (not shown) that may cause changes to the node's RF output signal. For example, a node may include a type of AGC circuitry as part of the variable power short-range communication interface 375 / 480. This type of AGC circuitry may allow the node processing unit 300 / 400 or another logic circuitry (which is part of the 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 circuit settings may be defined in exemplary RF profile data (which effectively defines the node's RF characteristics (e.g., frequency, power level, duty cycle, number of channels, channel spacing, alternative fluctuation patterns, etc.)). This is yet another example of how a node may dynamically enter one or more modes related to such RF characteristics (including AGC circuit settings) that increasingly emphasize stability of the node's RF output signal and limit fluctuations to facilitate enhanced location determination using RSSI measurements.

[0410] Positioning with adjustments for environmental factors in RF signal quality

[0411] Generally speaking, those skilled in the art will appreciate that environmental factors can cause communication signals, such as RF signals, to fluctuate or be transmitted and received in a manner that undesirably varies depending on the signal path environment. Passive physical interference factors (e.g., in the form of electronic signal shielding) can be sufficiently close to cause a drop in signal strength across a node's output range. Additionally, active radio interference factors can vary across a node's RF output range depending on other active devices in the receiving vicinity. Thus, a node's immediate environment can have numerous adverse factors that affect communications and, therefore, the ability to locate the node.

[0412] In one embodiment, location determination can be enhanced through a data analysis-type approach that adjusts for and accounts for different RF environment factors for similar types of nodes in similar types of situations. 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 can be determined for a given environment. In this example, the system defines the maximum range of that signal based on predetermined conditions, such as outdoor connectivity. This assumes an environment without signal degradation due to interference or physical shielding. However, both interference and physical shielding can reduce the range of a node's RF output signal. In a dynamically adaptive and learning manner, the system can collect information about how a particular type of node performs in a particular environment under certain settings (e.g., reported signal strength and corresponding settings for RF output signal power level). This analysis of similar environments can be repeated. In other words, through this type of data analysis of the expected environments that similar nodes will face, signal loss information can be generated and applied as a type of contextual data (i.e., RF data) for nodes in similar environments to refine location determination. Thus, exemplary embodiments may employ adaptive signal loss characteristics to refine position determination based on a contextual understanding of the expected environment (e.g., physical shielding, such as packaging, package contents, neighboring packages, neighboring package contents, and physical infrastructure causing signal variations) without requiring a calibration phase.

[0413] And advantageously, combining those data points with third-party data describing the physical environment (the node was in at that time) can further refine the location. This information can be used in future efforts as RF data (a type of contextual data) to manage and locate similar types of nodes that are expected to be in similar environments.

[0414] More specifically, in embodiments where location determination is refined based on context and data analysis to adjust for known RF obstructions, 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 can be referred to as the theoretical or nominal outdoor range for a similar type of transmitter-receiver node pair in a similar environment, but where there is substantially no physical shielding or signal interference that adversely affects signal range. A second range value (which can be considered an actual RF range value) can be the observed range of a signal in a similar environment, but where contextual factors exist that reduce communication range, including physical shielding due to factors such as packaging, package contents, neighboring packages, neighboring package contents, physical infrastructure, interference from other wireless power sources, or carrier-specific information (e.g., vehicle or facility layout information). By accessing prior data analysis of different range values ​​and through knowledge of the operating environment in which the transmitting node operates (e.g., an environment similar to the node's neighboring environment), an approximation of the actual RF output range (which can be intelligently adjusted to anticipate aspects of the node's RF environment) can be used to determine the refined location. In other words, by understanding the appropriate contextual environment associated with a node (e.g., signal degradation information about how similar nodes operate in similar environments), improved location determination can be made to make intelligent and efficient adjustments (e.g., communication range adjustments) that provide a refined location of the node.

[0415] In an example, for example Figure 2 In the illustrated example, master node 110b is located outside a container (e.g., known as a uniform load device (ULD) container 210 for transporting item packages on an aircraft) having an ID node inside the container. When a package (and associated ID node) is known to be less than 10 feet away from a scanning node (e.g., master node 110b), a first, or theoretical, range value between master node 110b and ID node 120b may be determined to be 10 feet at a particular RF output power level. A second, or theoretical, range value at a similar distance from a similar type of node, but with incident RF signal loss due to transmission through the walls of container 210, may be between 4 and 5 feet. If contextual data, such as third-party information or scanning data, indicates that a transmitting node is within ULD container 210, the system anticipates that the transmission range will be limited based on data analysis associated with this known RF obstruction (e.g., characteristics of transmissions through ULD container 210), thereby reducing the number of possible scanning nodes that may see broadcasting nodes within the ULD container or require the transmitting node to increase its RF output power in order to be heard.

[0416] Figure 32 is a flow chart illustrating an exemplary method for position determination of a first node in a wireless node network based on context data according to an embodiment of the present invention. Figure 32, method 3200 begins at step 3205 with a network device (eg, a master node or a server) accessing a first type of context data related to a neighboring environment of a first node.

[0417] The first type of context data includes signal degradation information about how the second node will operate in an environment similar to the first node's neighboring environment if the second node is of a similar type to the first node. Thus, rather than calibrating using actual measurements relative to the first node's current neighboring environment, the signal degradation information provides compensation information about conditions that are generally expected in more general neighboring environments based on how similar-type nodes may operate in similar environments. Since similar environments for similar nodes are generally approximate to conditions expected to be the first node's neighboring environment, this advantageously avoids the need for actual calibration of the neighboring environment. In one embodiment, the signal degradation information may be based on the difference between how the second node communicates when exposed to an adverse communication environment (e.g., an environment similar to the first node's neighboring environment) and how the second node communicates when exposed to a normal communication environment (e.g., an environment unhindered by shielding and interference factors). Those skilled in the art will appreciate that the nominal communication environment need not be completely free of all effects of shielding or interference communications.

[0418] The type and aspects of the signal degradation information may vary depending on a number of factors. In one embodiment, the signal degradation information may be related to at least one of shielding and interference. Thus, the signal degradation information may include passive and active factors that affect the communication environment.

[0419] In another embodiment, the signal degradation environment may be based on degraded operation of the second node when the similar environment is an adverse communication environment. More specifically, the signal degradation information may be based on 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 outdoor environment.

[0420] In yet another embodiment, the signal degradation information may relate to at least shipping data for one or more items shipped (e.g., current shipment or past shipment) and located in the vicinity of the first node. For example, a package near the first node may include metal materials that may obstruct or block RF signals, and the signal degradation information may relate to such information regarding the package shipped in proximity to 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 vicinity of the first node. More specifically, the layout data may be for one or more physical structures (e.g., walls, enclosures, and transportation vehicles) in the vicinity of a node near the predicted path of the first node. In yet another example, the signal degradation information may relate to at least historical data regarding one or more analyzed previous operations of the second node.

[0421] In step 3210, a network device, such as a master node or server, may adjust an expected communication distance associated with a first node based on the first type of contextual data. In one example, the expected communication distance may be a theoretical broadcast distance based on parameters of a radio of the device. This expected communication distance is known as an estimate of the range of the radio. In one example, the adjusted communication distance includes an expected reduced range distance for transmissions from the first node. In another example, the adjusted communication distance includes an expected reduced receiver sensitivity distance for the first node.

[0422] In yet another example, adjusting the communication distance may be achieved by the network device adaptively adjusting the communication distance based on the signal degradation information and the second type of context data. In other words, the communication distance may be adjusted based on the signal degradation information considered along with other types of context data, such as how the first node is moving (e.g., the first node's predicted movement along the first node's predicted transit path) or the density of other nodes in the vicinity of the first node.

[0423] At step 3215, the network device determines the location of the first node based on the adjusted communication distance. In another embodiment, the method may further include the network device updating the adjusted communication distance based on the movement of the first node, and using the updated adjusted communication distance to refine the location of the first node. This may occur when the first node is a mobile master node capable of independently determining its own location.

[0424] Those skilled in the art will appreciate that the method 3200 as disclosed and described above in various embodiments may be implemented on a network device (e.g., a network device) that executes one or more portions of its corresponding control and management code to perform the steps of the method 3200 as described above. Figure 4 The exemplary master node 110a in Figure 5 Such code may be stored in a non-transitory computer-readable medium, such as the memory storage device 415 on the master node 110a or the memory storage device 515 on the server 100. Thus, when executing such code, the processing unit of the corresponding network device may be operable to perform the algorithmic operations or steps from the exemplary methods disclosed above, including method 3200 and variations of that method.

[0425] More specifically, an exemplary network device apparatus for determining a location of a first node in a network of wireless nodes based on contextual data may include a processing unit, a volatile memory coupled to the processing unit, and a memory storage device coupled to the processing unit. The exemplary network device also includes a communication interface coupled to the processing unit and providing a communication path operatively coupling the network device with the first node in the network.

[0426] The memory storage device of the device stores at least the program code segments and context data including at least signal degradation information. This signal degradation information, as a type of context data, is information about how the second node will operate in an environment similar to the adjacent environment of the first node when the second node is of a similar type to the first node. Examples of signal degradation information may include those described above with respect to step 3205 of method 3200.

[0427] When executing at least the program code segments residing in the volatile memory, the processing unit of the network device is operable to perform the steps shown and described above with respect to method 3200. More specifically, the processing unit is operable to connect to at least the memory storage device to access the signal degradation information, adjust the communication distance associated with the first node based on the signal degradation information (if necessary), determine the location of the first node based on the adjusted communication distance, and store the determined location of the first node as location data on the memory storage device.

[0428] Adjusting the communication distance by the processing unit may be accomplished as described above with respect to step 3210 of method 3200. As well as described above, the processing unit may also be operable to adaptively adjust the communication distance, taking into account other types of contextual data, such as the movement and projected node movement detailed above.

[0429] In another embodiment, the network device may be a mobile master node that includes positioning circuitry (e.g., Figure 4 10a). In this embodiment, the processing of the network device is further operable to determine the location of the network device based on the output signal from the positioning circuitry received by the processing unit, and to determine the location of the first node based on the adjusted communication distance and the location of the network device. Thus, the first type of contextual data related to the proximity of the first node is based on the determined location of the first node.

[0430] Those skilled in the art will also appreciate that in some operating environments, signal degradation information may not require any adjustment to the communication range in embodiments. However, in other environments (e.g., adverse RF environments), signal degradation information may provide a basis for adjusting the communication range in embodiments, even if it is not always performed. Therefore, adjustment of the communication range may not be required in all proximity to the first node, but may be performed when needed based on the proximity of the first node. The ability of embodiments to adjust this communication range when and if needed advantageously allows the first node to be located with greater accuracy.

[0431] Positioning through triangulation

[0432] In some embodiments, various methods for determining node location may rely at least in part on triangulation techniques. In other words, as the wireless node network collects data about receiver-transmitter pairs, other methods for determining the location of individual nodes that utilize at least in part triangulation may become possible. Figure 15 is a simplified diagram illustrating exemplary position determination by triangulation in a network of wireless nodes according to an embodiment of the present invention. Figure 15 In the illustrated embodiment, three exemplary master nodes M1-M3 910a-910c are shown, each of which has a known location. Also shown are exemplary ID nodes A-E 920a-920e, each of which is within communication range of at least one or more of the exemplary master nodes MA-M3 910a-910c.

[0433] In this illustrated example, master nodes M1-M3 can detect and collect announcement messages from ID nodes AE at varying and known power levels. The captured information is forwarded by master nodes M1-M3 to backend server 100, where location determination can be performed. For example, factors such as RSSI and visibility of each node at various power levels can be used to determine the location of nodes for which sufficient information is available with a higher degree of accuracy.

[0434] In order for the exemplary system to triangulate a node, three nodes with known locations must see the broadcasting node. In this example, two advertising ID nodes, A 920a and B 920b, are seen by three nodes with known locations (master nodes M1-M3 910a-910c). Based on this captured information, the locations of ID nodes A 920a and B 920b are calculated.

[0435] Link triangulation

[0436] In another embodiment, a node with an inferred location may be used in conjunction with triangulation techniques to determine the location of another node in a network of wireless nodes. Figure 16 is a simplified diagram illustrating exemplary position determination by link triangulation according to an embodiment of the present invention. The positions of ID nodes A 920a and B 920c have been determined by triangulation across master nodes M1-M3, as shown in FIG. Figure 15 However, as shown in the exemplary embodiment shown in FIG. Figure 16 As shown, the position of ID node C 920c can also be determined according to the embodiment.

[0437] For example, an exemplary method of determining node location by link triangulation begins by determining the location of ID Node B 920b (as referenced in FIG. Figure 15As described above). Nodes closer to ID Node B 920b can then be used to obtain the missing third signal point required for triangulation. This can be achieved by placing ID Node B 920b in inquiry (scanning) mode so that it listens for messages from ID Node C 902c. ID Node C is instructed to make an announcement, thereby providing a signal that can be captured by ID Node B. After capturing C's signal profile, ID Node B can pass or share the captured information and forward it to the backend server 100 via either master node M1 or M2. The resulting position determination of ID Node C 920c may have a higher level of position error because it is based in part on a calculated reference (e.g., the position of ID Node B), but the leveraged position determination of ID Node C 920c may be sufficiently accurate (or an actionable position) that useful information related to ID Node C 920c can be collected. For example, the lever or link position of ID node C can be determined with the help of context data to indicate that nodes M1, M2 and ID node B are all sufficiently close to ID node C that ID node C is determined to be within the same container nodes M1, M2 and ID node B.

[0438] Position through Proximity-Triangulation (LP2T)

[0439] In embodiments where linked triangulation may determine position via proximity-triangulation (LP2T), the starting point may be to determine the relative position of the ID node with respect to the master node based on a proximity approach, as described above. However, when the relative position of the ID node has been determined, a more accurate or refined position of the ID node may be determined based on the positions of all master nodes that are capable of capturing the RF output signal broadcast from the ID node, and then triangulated based on the observed signal strength of the ID node. In this example, the proximity-based position is used as an input in the triangulation calculation to estimate the possible signal degradation historically observed between the node at the proximity-determined position and the scanning master node. In further embodiments, more accurate triangulation may be possible by taking into account historical data regarding patterns of signal degradation, thereby resulting in a more accurate position determination.

[0440] Figure 33 1 is a flow chart illustrating an exemplary method for determining a node position using link triangulation of one of a plurality of nodes in a wireless node network with a server in accordance with an embodiment of the present invention. Such exemplary node position need not be exact or precise, but can be sufficiently accurate (but not absolute).

[0441] Now refer to Figure 33 , method 3300 begins at step 3305 with the server receiving a first location of a node from a first node. Subsequently, at step 3310, the server receives a second location of a node from a second node. For example, referring to Figure 16 In the example shown, master nodes M1 910a and M2 910b may transmit their respective location coordinates from their respective onboard positioning circuits to the server so that the server has the current locations of the two master nodes.

[0442] In step 3315, the server infers the location of the third node. Figure 16 In the example shown, the server may infer the location of ID Node B 920b. In one embodiment, the inference may include causing the server to determine a proximity-based location of a third node relative to another node having a known location, such that the proximity-based location operates as the inferred location of the third node.

[0443] In another embodiment, inferring the location of the third node may include causing the server to determine a relative location of the third node to a first node (e.g., a node with a known location) or to a second node (e.g., another node with a known location). In another embodiment, method 3300 may further include causing the server to adjust the inferred location of the third node to determine a refined location of the third node based on third node context data associated with the inferred location of the third node.

[0444] At step 3320, method 3300 ends with the server triangulating the position of the one node based on the determined distances to each of the first and second nodes and the determined distance of the one node from the inferred position of the third node.

[0445] In a more detailed embodiment, method 3300 may triangulate the position of a node by accessing first node context data associated with a contextual environment near the first node and second node context data associated with a contextual environment near the second node. Such contextual environments may include environments on a transport system or within a particular facility or in the vicinity of materials that may degrade or shield a signal received by a node. Subsequently, the more detailed triangulation may cause the server to adjust the determined distance of a node to the position of the first node based on the first node context data to provide a refined distance of a node to the position of the first node. The server may then triangulate the position of a node based on the adjusted determined distance of a node to the position of the first node, the adjusted determined distance of a node to the position of the second node, and the determined distance of a node to the refined position of a third node.

[0446] In another embodiment, method 3300 may further cause the server to transmit an instruction to cause the server to transmit an instruction to cause a node to broadcast multiple announcement signals during a time period. In such an embodiment, the distance determined from a node to the location of a first node may be based on a signal from a node captured by the first node during the time period and reported by the first node to the server. In another embodiment, the distance determined from a node to the location of a second node may be based on a signal from a node captured by the second node and reported by the second node to the server.

[0447] In yet another embodiment, the server may transmit instructions to cause a node to broadcast multiple announcement signals at different power levels. In such an embodiment, the distance determined by a node to the location of a first node may be based on a signal from the node captured by the first node and reported by the first node to the server. In another embodiment, the distance determined by a node to the location of a second node may be based on a signal from the node captured by the second node and reported by the second node to the server.

[0448] In yet another embodiment, method 3300 may further enable the server, upon receiving a request for the location of a node from a requesting entity (eg, another node, a user access device, etc.), to transmit location information to that entity.

[0449] Those skilled in the art will appreciate that the method 3300 as disclosed and described above in various embodiments may be implemented on any server (e.g., Figure 5 Such code may be implemented on the exemplary server 100 shown in FIG. Such code may be stored in a non-transitory computer-readable medium (e.g., memory storage device 515 in the exemplary server). Thus, when executing such code, a processing unit of the server (e.g., unit 500) may be operable to perform algorithmic operations or steps from the exemplary methods disclosed above, including method 3300 and variations of that method.

[0450] In an embodiment, a server device is described that uses link triangulation to determine the location of one of multiple nodes in a wireless node network. The server device generally includes a server processing unit, a server volatile memory, a server memory storage device, and a communication interface. The server volatile memory, the server memory storage device, and the communication interface are each configured in the device to be coupled to the server processing unit. The server memory storage device stores at least a program code segment and location data related to a node in the network. In some embodiments, the server memory storage device may also store context data, such as first node context data and second node context data. The communication interface provides a communication path that operatively couples the server with a node in the network, such as a first and second node.

[0451] The server processing unit is operable to perform various functions, such as those described above in connection with method 3300, when executing at least a program code segment residing in the server's volatile memory. Specifically, the server processing unit is operable to receive a request for the location of a node via a communication interface. Based on the request, the server processing unit is then operable to receive the respective locations of the first and second nodes and store the locations as part of the location data stored on the server memory storage device. The server processing unit is also operable to infer the location of a third node and store the inferred location of the third node as part of the location data stored on the server memory storage device. The server processing unit is then operable to triangulate the location of a node based on a determined distance from the location of the first node, a determined distance from the location of the second node, and a determined distance from the location of the third node to the inferred location of the third node. And finally, the server processing unit is operable to transmit the location information to the requesting entity via the communication interface in response to the request.

[0452] In one embodiment, the server processing unit may also be operable to infer a third location of the node by being operable to determine a proximity-based location of the third node relative to another node having a known location, wherein the proximity-based location operates as the inferred location of the third node.

[0453] In another embodiment, the server processing unit may be further operable to transmit instructions via the communication interface to cause a node to broadcast multiple announcement signals during a time period. In this embodiment, the distance determined from a node to the location of a first node may be based on signals from a node captured by the first node during the time period and reported by the first node to the server. Alternatively, the distance determined from a node to the location of a second node may be based on signals from a node captured by the second node and reported by the second node to the server.

[0454] In another embodiment, the server processing unit may be further operable to transmit instructions via the communication interface to cause a node to broadcast multiple announcement signals at different power levels. In such an embodiment, the determined distance of a node to the location of a first node may be based on a signal from the node captured by the first node and reported by the first node to the server. Alternatively, the determined distance of a node to the location of a second node may be based on a signal from the node captured by the second node and reported by the second node to the server.

[0455] In yet another embodiment, the server processing unit may be further operable to infer the position of the third node by being operable to determine the relative position of the third node to the first node, or alternatively, the second node.

[0456] In yet another embodiment, the location may be refined by relying on contextual data. More specifically, the server processing unit may be further operable to adjust the inferred location of the third node based on third node contextual data associated with the inferred location of the third node to determine a refined location of the third node.

[0457] In a more detailed embodiment, the server memory storage device may also maintain context data, and the server processing unit may also be operable to triangulate by being operable to access first node context data as part of the context data maintained on the server memory storage device, wherein the first node context data is associated with a contextual environment near the first node. Similarly, the server processing unit may also be operable to access second node context data as part of the context data maintained on the server memory storage device, wherein the second node context data is associated with a contextual environment near the second node. The server processing unit may then be operable to adjust a determined distance of a node to the position of the first node based on the first node context data to provide a refined distance of a node to the position of the first node. Thus, the server processing unit may be operable to triangulate the position of a node based on the adjusted determined distance of a node to the position of the first node, the adjusted determined distance of a node to the position of the second node, and the determined distance of a node to the refined position of a third node.

[0458] Combined method for determining node positions

[0459] Based on the examples described above for locating nodes, those skilled in the art will appreciate that additional embodiments expressly contemplate the use of more than one of the above-described location determination technologies in determining a refined location of a node in a wireless node network. For example, such combined embodiments may apply an ordered or prioritized approach, whereby a first location technology is applied to generate first location information related to the location of a node in a wireless network. Thereafter, a second location technology may be selected from a hierarchical or prioritized set of technologies (some of which may work better in certain situations and are selected or dynamically prioritized based on context) and applied to generate second location information related to the location of the node or to refine the location of the node. Other embodiments may apply additional location technologies to generate further refined location information.

[0460] In an embodiment, the information in the exemplary hierarchy generally identifies which technology is preferred for initial use and a ranked grouping or list of times when other location technologies should be applied. This information in the exemplary hierarchy can be fixed (based on historical success data and experience) or can change dynamically over time as nodes can move relative to each other and based on contextual data that provides more information about the current or projected context.

[0461] Applying node location determination in a vehicular environment

[0462] The various exemplary methods and techniques described above for determining the location of a node provide advantageous ways to locate a node. However, other embodiments may advantageously apply such methods and techniques in a vehicular environment when addressing logistics operations where a node is located in a vehicle, moves within a vehicle, or is removed from a vehicle for delivery.

[0463] Basically, embodiments may use packages enabled by nodes (generally referred to as node packages or node-enabled packages) to ship one or more items, and such node packages can be advantageously placed, positioned, moved, or removed in a vehicle / transportation / shipping / logistics environment for delivery. As described throughout this description, a node package is generally a package to be shipped that is associated with a particular node. The node and the associated 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 portion of the package (where one or more status indicators of the node are visible through the package), etc.). In another embodiment, the node of the node package can be part of the package or packaging material used to contain external, internal, or separating shock-absorbing materials in the node package. In more detail, the node can be integrated as part of the package or packaging material (e.g., integrated as part of a pallet, ULD container, corrugated box, etc.). In yet another detailed embodiment, the node of the node package can be fully or partially embedded in the package or packaging material used to form a general container to help form a general container that holds the items to be shipped together with the node.

[0464] Figure 20 is a simplified diagram illustrating an exemplary node package located in an exemplary vehicle environment according to an embodiment of the present invention. Figure 20 Exemplary vehicle 9300 is shown as an example of a general mobile logistics transport or transportation vehicle carrying shipped packages. Those skilled in the art will appreciate that vehicle 9300 can be implemented as a variety of logistics transport vehicles (e.g., automobiles, delivery vans, autonomous vehicles, trucks, trailers, trains, aircraft, ships (vessels), etc.). Within exemplary vehicle 9300, packages can be placed, stored, and organized in various storage devices or units, such as storage unit A 9305 or storage unit B 9310. Generally speaking, the storage devices or units help hold one or more packages in a configuration that helps ensure safe shipping, minimizes damage to the packages, and provides a means of organizing the stored items. Different embodiments of the storage units can store a single package or a large number of different types of packages using different types of packaging materials (e.g., corrugated boxes, wooden or non-wooden pallets, containers, etc.) and in large quantities.

[0465] Vehicle 9300 includes a vehicle master node 9315—a master node, such as for Figure 4An exemplary implementation of the master node 110a is shown and described. Vehicle master node 9315 is shown as being operable to communicate with server 100 via a long-range communication interface (e.g., interface 485 on the exemplary master node 110a), and is operable 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 portions of such storage units and node packages stored therein. More specifically, in some embodiments, each storage unit may include a built-in node associated with a particular shelf, storage bin, storage container, or other portion of a particular storage unit.

[0466] Thus, the exemplary storage unit (e.g., storage unit A 9305) may be a node-enabled storage unit used in a logistics vehicle to safely and intelligently transport node packages. Thus, the exemplary storage unit itself may have a hierarchical structure 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 may be operable to detect the location of a particular node package via the various location determination methods described herein when a node package is placed into a storage location within the unit, moved between storage locations within the unit or between different units, or simply removed from a storage location within the unit.

[0467] like Figure 20 As shown, various node packages 9330a-9330d can be stored in different storage locations of storage unit A 9305 within vehicle 9300. Similarly, other node packages 9330e-9330g are stored in a portion of storage unit B 9310. Such node packages can be placed in specific storage locations according to the shipping information associated with the node packages. For example, node packages can be placed in specific storage locations according to the weight of the specific node package, the planned loading plan (e.g., according to the expected delivery schedule), the storage capacity of specific different locations in the storage unit, or according to the storage type of specific different locations (e.g., one location for storing bag-type packages, another location for storing envelope-type packages, another location for storing containerized packages (e.g., ULDs), etc.).

[0468] Shipping of containerized groups of packages (e.g., made into ULD-type containers that optimize air freight logistics handling of packages) is an example of how mobile storage units (e.g., mobile unit loading devices (ULDs)) can be deployed when shipping nodal packages in an air freight environment. Figure 21 is a simplified diagram illustrating an exemplary mobile storage unit, such as a ULD, used as a container to assist in shipping node packages in an exemplary air transport environment in accordance with an embodiment of the present invention. Referring now to Figure 21, a schematic diagram of an exemplary aircraft fuselage 9400 is shown. Specifically, an exemplary floor 9405 of a cargo storage area in fuselage 9400 is shown having a plurality of roller elements that help facilitate the movement of cargo in the cargo area. Additionally, although Figure 21 9405, but the cargo storage area and floor 9405 typically includes structures and fastening points to help hold any cargo loaded in the fuselage 9400. The cargo storage area in the exemplary fuselage 9400 may be divided into upper and lower areas by an additional layer 9410.

[0469] Figure 21 The profile example shown shows a cargo lower area in which various ULD containers 9420a-9420d are shown along with an air freight master node 9415 which (depending on the location of the aircraft and the communication mode and status) is operable to communicate with the server 100 - more like Figure 20 In general, the configuration shown for the ULD containers 9420a-d is similar to that shown for the vehicle master node 9315. Figure 20 The storage units shown and described are used similarly. For example, each ULD container 9420a-d may have different storage locations therein and one or more master nodes (not shown) dedicated and internally attached so that they can track, monitor, and communicate with the different node packages loaded in the ULD and with other nodes and servers - just as the master node 9320 of storage unit A 9305 is able to track, monitor, and communicate with the different node packages loaded in the storage unit and with other nodes and servers 100. The node packages in each ULD can communicate with the nodes in the ULD and can communicate directly with the air transport master node 9415 directly (or indirectly through other master nodes in the ULD). And therefore, the shipping information can be used when the node packages are placed in a specific storage location within a specific ULD according to the weight of the specific node package, the planned loading scheme of the ULD (for example, according to the expected delivery schedule), the storage capacity of specific different locations in the ULD, or according to the storage type of specific different locations.

[0470] Those skilled in the art will appreciate that each of the above-described embodiments relating to the method for locating a node can be further enhanced when applied to the exemplary in-vehicle environment. For example, in one embodiment, determining the location of the node may further include determining the location of a node-enabled package in a vehicle to be used as the location of the node. In a more detailed embodiment, the method for determining the location of the node may further generate a location message related to the location of the node-enabled package in the vehicle based on the determined location of the node. This message may be displayed to a user (e.g., a logistics personnel handling the shipment of the package) on a user interface of the node or a user access device operating as a node (e.g., a smartphone or smart wearable device). For example, this displayed message may be a notification ("Pick up package X at storage location 01 in storage unit A") or a policy instruction ("Put package X in storage location 01 in storage unit A") or ("Move package X from 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 this display to the user, while in other embodiments, the location message may be transmitted to another node for display to the user.

[0471] In another embodiment, the exemplary method for determining the location of a node may further access shipping information associated with a node-enabled package and, based on the determined location of the node and the accessed shipping information, generate a relocation message related to a location in a vehicle where the node-enabled package can be relocated. Such a message may be displayed to a user similar to the location message described above—that is, such a relocation message may be displayed to a user (e.g., a logistics person operating a shipped package) on a user interface of a node or a user access device operating as a node (e.g., a smartphone or smart wearable device), and in some embodiments, the network device or node that determines the location of the node 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.

[0472] In more detail, the shipping information may include weight information about the node-enabled package, which is used to determine where to relocate or initially place the node-enabled package.

[0473] In another embodiment, such shipping information can be used to create a loading plan to help an organization locate or relocate node-enabled packages. Thus, the location or relocation of node-enabled packages within a vehicle can be determined according to the loading plan. More specifically, such a loading plan can be associated with a projected delivery schedule, wherein node-enabled packages can be placed in or removed from a vehicle according to the projected delivery schedule.

[0474] Logistics Applications of Wireless Node Networks

[0475] As described above, the exemplary wireless node network can be useful in logistics applications where items are to be located. Furthermore, the exemplary wireless node network can also be useful in logistics applications where items are moved between locations and the network provides an enhanced level of visibility and management of items in such logistics environments. In other words, embodiments of the exemplary wireless node network in accordance with one or more principles of the present invention help enable enhanced logistics operations that manage information when shipping and tracking items. Figure 17 is a simplified diagram illustrating an example logistics operation using exemplary components of a wireless node network in accordance with an embodiment of the present invention.

[0476] Logistics beyond pickup and delivery

[0477] Now refer to Figure 17 , ID node 120a is shown deployed and associated with an item to be shipped, such as package 130. Components of the exemplary wireless node network are deployed to manage information related to the shipment during these three stages while package 130 is being prepared for shipment 1700, in transit 1705 as part of the shipment, and in the possession of the intended recipient 1710.

[0478] In a general example of using a wireless node network to manage logistics associated with an item to be shipped, a shipping client may initially register an item (e.g., package 130) with a node (e.g., ID node) to be shipped from an originating location to a destination location. As the item and ID node traverse a path together from the origin to the destination, one or more management switches of the item and node occur. Each switch may be based on knowledge of the shipping path that the ID node associated with the package 130 will take as it passes through the shipping path from its origin to the destination. The switching of the package 130 and the ID node is managed and coordinated using master nodes (e.g., master nodes 110a-110h) along the projected shipping path, which are managed by the server 100. During operation along the shipping path, the server 100 receives information and updates from the nodes, manages and authorizes switches between different nodes, and tracks information related to current associations, shared data, available sensor data, the location of the nodes, and contextual data that helps refine the node locations. Thus, through the ID node associated with package 130, visibility of package 130 can be extended to the customer beyond conventional custodial controls during transit 1705 when the shipping customer prepares item 1700 for shipment prior to initial drop-off and after delivery 1710 of the item to the recipient.

[0479] In a more detailed embodiment, an exemplary method for managing logistics associated with items to be shipped using a wireless node network begins by registering a node with the item to be shipped. For example, a shipping customer may control user access to device 200 and use device 200 to initially associate an ID node 120a and a package 130 with a tracking number as part of preparing to ship package 130 (a type of item). In one embodiment, device 200 may use a specific app or another program module resident and operating on device 200 to input the tracking number for package 130. Device 200 then provides information to server 100 via network 105 to associate the tracking number with package 130 and ID node 120a. In some embodiments, device 200 may then print a label for the shipment of package 130 (and ID node 120a). In another embodiment, ID node 120a may be a pre-programmed node with pre-existing shipping and payment-related information associated with it. Additional details of label-free shipping and payment in another embodiment are described below.

[0480] Concurrently with this action, the shipping customer may associate the ID node 120a with the package 130. For example, the shipping customer may place the ID node 120a in the package 130, and in some cases physically attach the ID node 120a to a particular portion of the package 130. In another example, the shipping customer may place an external label on the package 130, wherein the label itself includes the ID node 120a. Other examples may effectively group the ID nodes 120a with the packages 130 in a larger package, container, or pallet of items or packages traveling together.

[0481] In this way, the device 200 can operate as a type of master node under the control of the app or another program module and be associated with the package 130 and the ID node 120a from the perspective of association management. For example, the device 200 can operate via the app or another program module in conjunction with Bluetooth® hardware and software operating on the device 200 to communicate with the ID node 120a. Other embodiments may rely on other short-range communication interfaces of the device 200 to communicate with the ID node 120a. And in one embodiment, the device 200 may receive one or more security credentials from the server 100 in order to connect and actively pair or connect with the ID node 120a.

[0482] Using at least the shipping information stored on server 100, server 100 can determine a predicted shipping path for package 130. In one embodiment, server 100 may have historical data indicating the optimal route for shipping an item from point A to point B using a specific shipping path (e.g., pickup near point A by a specific carrier, transportation by vehicle to a specific facility, further transportati...

Claims

1. A master node device for enhanced monitoring of event candidates in a wireless node network having multiple ID nodes and servers, the master node device comprising: Node processing unit; a memory storage device coupled to the node processing unit, the memory storage device retaining event detection engine code for execution by the node processing unit; a first communication interface coupled to the node processing unit and operable to communicate with at least a first one of the ID nodes via a first communication path; a second communication interface coupled to the node processing unit and operable to communicate with the server via a second communication path; as well as wherein the node processing unit, when executing the event detection engine code retained on the memory storage device, is operable to detecting, via the first communication interface, a first announcement signal broadcast by the first ID node through the first communication path, detecting, via the first communication interface, a second announcement signal broadcast by the first ID node through the first communication path after the first ID node broadcasts the first announcement signal, comparing an observed parameter of each of the first announcement signal and the second announcement signal, identifying the event candidate based on a comparison of the observed parameter of each of the first announcement signal and the second announcement signal, and causing the second communication interface to report the identified event candidate to the server via the second communication path, Wherein, the second communication interface is operable to transmit a message to the server when reporting the identified event candidate, the message reflecting the identified event candidate as a reduced monitoring overhead for the first ID node on the second communication path.

2. The master node device according to claim 1, wherein: The message reflecting the identified event candidate includes summary information reflecting observed changes between the first announcement signal and the second announcement signal.

3. The master node device according to claim 1, wherein: The observed parameters include signal strength values ​​as detected by the node processing unit via the first communication interface.

4. The master node device according to claim 2, wherein: The observed change includes a shift in observed signal strength values ​​between at least a first signal strength value of the first announcement signal and a second signal strength value of the second announcement signal, wherein the change reflects summarized information related to the first ID node as a candidate for the event.

5. The master node device according to claim 1, wherein: The node processing unit is operable to compare the observed parameters of each of the first announcement signal and the second announcement signal by also being operable to compare the observed parameters of the second announcement signal with an average of the observed parameters of a set of previous announcement signals from the first ID node including the first announcement signal.

6. The master node device according to claim 1, wherein: The observed parameters include a received signal strength indicator as detected by the node processing unit; and Wherein the node processing unit is operable to compare the observed parameters of each of the first announcement signal and the second announcement signal by also being operable to compare the received signal strength indicator value of the second announcement signal with an average of a set of received signal strength indicator values ​​of previous announcement signals from the first ID node including the first announcement signal.

7. The master node device according to claim 6, wherein: The average set of received signal strength indicator values ​​of the announcement signal broadcast from the first ID node before the second announcement signal includes a moving average of the set of received signal strength indicator values ​​of the announcement signal broadcast from the first ID node in a window before the second announcement signal.

8. The master node device according to claim 3, wherein: The node processing unit is operable to identify the event candidate by further being operable to perform the following steps: detecting an offset in a received signal strength value when comparing the signal strength value of the first announcement signal and the signal strength value of the second announcement signal; as well as The event candidate is identified as a deviation event when the detected deviation of the received signal strength value is at least a threshold.

9. The master node device according to claim 3, wherein: The observed parameters include an observed offset of the signal strength value as detected by the node processing unit; as well as The node processing unit is operable to identify the event candidate, and causes the second communication interface to report the event candidate to the server by further being operable to perform the following steps: detecting a starting offset of a received signal strength value when the observed offset of the signal strength values ​​between the plurality of announcement signals is at least an initiation threshold; detecting, via the first communication interface, at least one subsequent announcement signal broadcast by the first ID node after the first ID node broadcasts the second announcement signal; detecting, via the first communication interface, a sustained drift in received signal strength values ​​upon the observed drift in the signal strength values ​​between the second announcement signal and a received subsequent announcement signal; as well as The second communication interface is caused to report the event candidate as a drift event to the server only after detecting the start drift and if the detected continuous drift is less than a continuous event threshold.

10. The master node device according to claim 1, wherein: The observed parameters include the time between successive announcement signals broadcast from the first ID node and as detected by the node processing unit via the first communication interface.

11. The master node device according to claim 10, wherein: The node processing unit is operable to identify the event candidate by being further operable to detect a time gap between the first announcement signal and the second announcement signal and identifying the event candidate when the detected time gap is less than a threshold time gap.

12. The master node device according to claim 11, wherein: The node processing unit is operable to identify the event candidate as an online event when the detected time gap is less than the threshold time gap and the first communication interface detects at least one additional announcement signal broadcast by the first ID node within the threshold time gap after the second announcement signal.

13. The master node device according to claim 12, wherein: The node processing unit is operable to identify the event candidate as the online event when (a) the detected time gap between the first announcement signal and the second announcement signal is less than the threshold time gap and (b) the first communication interface has detected at least a threshold number of announcement signals from the first ID node, each of the announcement signals being detected by the first communication interface within the threshold time gap of each other, wherein the detection of the first announcement signal and the detection of the second announcement signal are included in the threshold number of announcement signals from the first ID node.

14. The master node device according to claim 1, wherein: The node processing unit is operable to identify the event candidate as an offline event when (a) the detected time since the first communication interface detected the second announcement signal is greater than a threshold time interval and (b) the node processing unit previously identified an online event associated with a signal from the first ID node including the first announcement signal and the second announcement signal.

15. The master node device according to claim 1, wherein: The node processing unit is operable to identify the event candidate as an incidental event when the first communication interface detects at least the first announcement signal and the second announcement signal but does not detect at least a threshold number of announcement signals from the first ID node within a defined time period when the first announcement signal is detected from the first communication interface.

16. The master node device according to claim 1, wherein: The node processing unit is operable to identify the event candidate as a checkpoint event at the end of a periodic reporting interval and based on the comparison of the observed parameters of the first announcement signal and the second announcement signal.

17. The master node device according to claim 16, wherein: The node processing unit is further operable to: detecting an alert flag from the first ID node, the alert flag being part of a header of at least one of the first announcement signal and the second announcement signal; as well as The periodic reporting interval is reduced when the alarm flag is detected.

18. The master node device according to claim 17, wherein: The periodic reporting interval comprises a time period adjustable by the node processing unit.

19. The master node device according to claim 17, wherein: The periodic reporting interval includes a number of signal receptions that is adjustable by the node processing unit.

20. The master node device according to claim 17, wherein: The alarm flag includes a profile identifier indicating an alarm profile used by the first ID node, and the alarm profile of the first ID node is one of multiple operation profiles that govern the announcement signal broadcast operation performed by the first ID node.

21. The master node device according to claim 16, wherein: The node processing unit is also operable to delete the collected signal information stored on the memory storage device after causing the second communication interface to report the checkpoint event to the server, the collected signal information having been collected from the first announcement signal and from the second announcement signal and previously stored on the memory storage device after detection.

22. The master node device according to claim 1, wherein: The observation parameters include observation profile settings; and Wherein the node processing unit is operable to identify the event candidate as a profile change event when the comparison indicates that the observed profile setting of the second announcement signal is different from the observed profile setting of the first announcement signal.

23. The master node device according to claim 1, wherein: The observed parameters include an observed output power setting of the first ID node; and Wherein the node processing unit is operable to identify the event candidate as a transmit power change event when the comparison performed by the node processing unit indicates that the observed output power setting associated with the second announcement signal is different from the observed output power setting associated with the first announcement signal.

24. The master node device according to claim 1, wherein: The observation parameters include sensor data collected by sensors on the first ID node; and Wherein the node processing unit is operable to identify the event candidate as an environmental change event when the comparison performed by the node processing unit indicates that a second sensor data value included as part of the second announcement signal differs by more than a threshold amount when compared to a first sensor data value included as part of the first announcement signal.

25. The master node device of claim 1, wherein the node processing unit is further operable to receive an adjustment response based on the event candidate from the server via the second communication interface.

26. The master node device according to claim 25, wherein: The adjustment response includes an adjustment profile of at least one of the master node device and the first ID node.

27. The master node device according to claim 26, wherein: The adjustment response includes an adjustment profile of at least one of the other ID nodes.

28. The master node device according to claim 25, wherein: The adjustment response includes updated context data reflecting the reported event candidate, wherein the updated context data is used by the node processing unit when managing the ID node.

29. The master node device according to claim 1, wherein: The node processing unit is further operable to: detecting, via the first communication interface, a third announcement signal broadcast by the first ID node through the first communication path after the first ID node broadcasts the second announcement signal; detecting, via the first communication interface, a fourth announcement signal broadcast by the first ID node through the first communication path after the first ID node broadcasts the third announcement signal; generating a first checkpoint summary as a statistical representation of the first announcement signal and the second announcement signal; as well as generating a second checkpoint summary as a statistical representation of the third announcement signal and the fourth announcement signal; comparing the observed parameter of each of the first checkpoint summary and the second checkpoint summary; and Wherein the node processing unit is operable to identify the event candidate based on the comparison of the observed parameters of each of the first checkpoint summary and the second checkpoint summary.

30. A method for enhanced monitoring of event candidates in a wireless node network having a plurality of ID nodes, a master node in communication with the ID nodes, and a server in communication with the master node, comprising the steps of: The master node receives a first announcement signal broadcasted by a first ID node among the ID nodes; The master node receives a second announcement signal broadcasted by the first ID node after the first ID node broadcasts the first announcement signal; identifying, by the master node, the event candidate based on a comparison of observed parameters of the first announcement signal and the second announcement signal; as well as The master node reports the event candidate relative to the first ID node to the server, Wherein, the reporting step also includes simplifying the data feed related to the first ID node by the master node by sending the event candidate to the server as summary information reflecting the observed changes between the first announcement signal and the second announcement signal.

31. The method of claim 30, wherein: The identification step also includes identifying, by the master node, a pattern between at least the first announcement signal and the second announcement signal based on the observed parameters, wherein the pattern reflects summarized information related to the first ID node as a candidate for the event.

32. The method of claim 30, wherein: The observed parameters include observed signal strength values ​​as detected by the master node.

33. The method of claim 30, wherein: The identification step also includes identifying, by the master node, an observation pattern between at least a first signal strength value of the first announcement signal and a second signal strength value of the second announcement signal, wherein the observation pattern reflects summarized information related to the first ID node as a candidate for the event.

34. The method of claim 33, wherein: The event candidates reported to the server avoid the need to update the server with information about all signals received by the master node from the first ID node.

35. The method of claim 30, wherein: The step of identifying the event candidate includes comparing the observed parameter of the second announcement signal with an average of the observed parameter of a set of previous announcement signals from the first ID node including the first announcement signal.

36. The method of claim 30, wherein: The observed parameters include a received signal strength indicator (RSSI) reflecting signal strength as detected by the master node; and The step of identifying the event candidate includes comparing the received signal strength indicator value of the second announcement signal with an average of a set of received signal strength indicator values ​​of announcement signals broadcast from the first ID node before the second announcement signal.

37. The method of claim 36, wherein: The average set of received signal strength indicator values ​​of the announcement signal broadcast from the first ID node before the second announcement signal includes a moving average of the set of received signal strength indicator values ​​of the announcement signal broadcast from the first ID node in a moving window before the second announcement signal.

38. The method of claim 32, wherein: The observed parameters include an offset of the observed signal strength value as received by the master node; as well as The step of identifying the event candidate further comprises: detecting said offset in received signal strength values ​​when comparing said first announcement signal and said second announcement signal; as well as The event candidate is identified as a deviation event when the detected deviation of the received signal strength value is at least a threshold.

39. The method of claim 32, wherein: The observed parameters include an observed offset of the signal strength value as received by the master node; as well as The step of identifying the event candidate and reporting the event candidate to the server further comprises: detecting a starting shift in received signal strength values ​​when the observed shift in the signal strength values ​​between the received first announcement signal and the received second announcement signal is at least an initiation threshold; Receiving, by the master node, a subsequent announcement signal broadcasted by the first ID node after the first ID node broadcasts the second announcement signal; detecting a sustained shift in received signal strength values ​​at said observed shift in said signal strength values ​​between a received second announcement signal compared to a received subsequent announcement signal; and The event candidate is reported by the master node to the server as a drift event only after detecting the starting drift and if the detected persistent drift is less than a persistent event threshold.

40. The method of claim 39, wherein: The reporting step includes delaying transmission of the event candidate by the master node to the server until a detected persistent excursion based on the observed signal strength value of the subsequent announcement signal is less than the persistent event threshold.

41. The method of claim 30, wherein: The observed parameters include the detected time between successive announcement signals broadcast from the first ID node and as received by the master node.

42. The method of claim 41, wherein: The step of identifying the event candidates comprises: detecting a time gap between the first announcement signal and the second announcement signal as the observation parameter; and The event candidate is identified when the detected time gap is less than a threshold time gap.

43. The method of claim 42, wherein: The step of identifying the event candidate also includes identifying the event candidate as an online event when the detected time gap is less than the threshold time gap and the master node receives at least one additional announcement signal broadcast by the first ID node within the threshold time gap after the second announcement signal.

44. The method of claim 43, wherein: The step of identifying the event candidate as the online event occurs when (a) the detected time gap between the first announcement signal and the second announcement signal is less than the threshold time gap and (b) the master node has received at least a threshold number of announcement signals from the first ID node, each of the announcement signals being received by the master node within the threshold time gap of each other, wherein the reception of the first announcement signal and the reception of the second announcement signal are included in the threshold number of announcement signals received from the first ID node.

45. The method of claim 41, wherein: The step of identifying the event candidate includes identifying the event candidate as an offline event when (a) the detected time since the master node received the second announcement signal is greater than a threshold time gap and (b) the master node previously identified an online event associated with a signal from the first ID node including the first announcement signal and the second announcement signal.

46. ​​The method of claim 30, wherein: The step of identifying the event candidate also includes identifying the event candidate as an incidental event when the master node receives at least the first announcement signal and the second announcement signal but does not receive at least a threshold number of announcement signals from the first ID node within a defined time period when the first announcement signal is received from the master node.

47. The method of claim 30, wherein: The step of identifying the event candidate further comprises identifying the event candidate as a checkpoint event at the end of a periodic reporting interval and based on the comparison of the observed parameters of the first announcement signal and the second announcement signal.

48. The method of claim 47, further comprising: detecting, by the master node, an alarm flag from the first ID node, the alarm flag being a part of at least one of the first announcement signal and the second announcement signal; as well as The periodic reporting interval is reduced when the master node detects the alarm flag.

49. The method of claim 48, wherein: The periodic reporting interval comprises a time period adjustable by the master node.

50. The method of claim 48, wherein: The periodic reporting interval includes a number of signal receptions adjustable by the master node.

51. The method of claim 48, wherein: The alarm flag includes a profile identifier indicating an alarm profile used by the first ID node, and the alarm profile of the first ID node is one of multiple operation profiles that govern the announcement signal broadcast operation performed by the first ID node.

52. The method of claim 47, further comprising resetting information collected based on the first announcement signal and the second announcement signal after the checkpoint event is reported by the master node to the server for data reduction purposes on the master node.

53. The method of claim 30, wherein: The observation parameters include observation profile settings; and Wherein the step of identifying the event candidate further comprises identifying the event candidate as a profile change event when the comparison indicates that the observed profile setting of the second announcement signal is different from the observed profile setting of the first announcement signal.

54. The method of claim 53, wherein: The observation profile setting relates to the operation of the first ID node.

55. The method of claim 53, wherein: The observation profile setting relates to the operation of the master node.

56. The method of claim 30, wherein: The observed parameters include an observed output power setting of the first ID node; and Wherein the step of identifying the event candidate further comprises identifying the event candidate as a transmission power change event when the comparison indicates that the observed output power setting associated with the second announcement signal is different from the observed output power setting associated with the first announcement signal.

57. The method of claim 30, wherein: The observation parameters include sensor data collected by sensors on the first ID node; and The step of identifying the event candidate further comprises identifying the event candidate as an environmental change event when the comparison indicates that a second sensor data value included as part of the second announcement signal is different from a first sensor data value included as part of the first announcement signal.

58. The method of claim 30, wherein: The observed parameters include sensor data collected by at least one sensor on the first ID node; and The step of identifying the event candidate also includes identifying the event candidate as an environmental change event when the comparison indicates that the second sensor data value included as part of the second announcement signal reflects a deviation from the first sensor data value included as part of the first announcement signal, wherein the deviation is greater than a threshold difference.

59. The method of claim 30, further comprising receiving, by the master node from the server, an adjusted response based on the event candidate.

60. The method of claim 59, wherein: The adjustment response includes an adjustment profile of at least one of the master node and the first ID node.

61. The method of claim 60, wherein: The adjustment response includes an adjustment profile of at least one of the other ID nodes.

62. The method of claim 59, wherein: The adjusted response includes updated context data reflecting the reported event candidate.

63. The method of claim 30, further comprising the steps of: The master node receives a third announcement signal broadcasted by the first ID node after the first ID node broadcasts the second announcement signal; The master node receives a fourth announcement signal broadcast by the first ID node after the first ID node broadcasts the third announcement signal; generating, by the master node, a first checkpoint summary as a statistical representation of the first announcement signal and the second announcement signal; generating, by the master node, a second checkpoint summary as a statistical representation of the third announcement signal and the fourth announcement signal; as well as The step of identifying the event candidate includes identifying the event candidate by the master node based on a comparison of observed parameters of each of the first checkpoint summary and the second checkpoint summary.

64. A method for enhanced monitoring of event candidates in a wireless node network having a plurality of ID nodes, a master node in communication with the ID nodes, and a server in communication with the master node, comprising the steps of: Detecting, by the master node, a plurality of announcement signals broadcast by a first ID node among the ID nodes during a time period; identifying, by the master node, the event candidate relative to the first ID node when an observed parameter of the announcement signal changes during the time period to reflect the event candidate; and The master node reports the event candidate relative to the first ID node to the server, in, The reporting step also includes reducing the data related to the first ID node obtained by the master node by sending the event candidates to the server as summary information reflecting observed changes between the announcement signals.

65. The method of claim 64, wherein: The observation parameters of the announcement signals include summarized observation patterns between the announcement signals.

66. The method of claim 64, wherein: The observed parameters include observed signal strength values ​​as detected by the master node.

67. The method of claim 66, wherein: The event candidates reported to the server avoid the need to update the server with information regarding the signal strength value of each of the announcement signals received by the master node from the first ID node.

68. The method of claim 64, wherein: The step of identifying the event candidate includes comparing the observed parameter of the most recently detected announcement signal of the announcement signal with a moving average of the observed parameter of the previously detected announcement signal of the announcement signal to identify the event candidate.

69. The method of claim 64, wherein: The observed parameters include a received signal strength indicator (RSSI) reflecting signal strength as detected by the master node; and The step of identifying the event candidate includes comparing the RSSI value of the most recently detected announcement signal of the announcement signal with a moving average of the RSSI values ​​of previous announcement signals in a previous moving window to identify the event candidate.

70. The method of claim 66, wherein: The observed parameters include a deviation in signal strength as detected by the master node; and Wherein the step of identifying the event candidate further comprises identifying the event candidate as an excursion event when the detected excursion of the signal strength value of each of the announcement signals exceeds a threshold.

71. The method of claim 66, wherein: The observed parameters include an observed offset of the signal strength value as received by the master node; as well as The step of identifying the event candidate and reporting the event candidate to the server further comprises: detecting a starting offset of a received signal strength value when the observed offset of the signal strength values ​​between the plurality of announcement signals is at least an initiation threshold; receiving, by the master node, at least one subsequent announcement signal broadcast by the first ID node after the first ID node broadcasts the plurality of announcement signals; detecting a sustained shift in received signal strength values ​​at said observed shift in said signal strength values ​​between a last of a plurality of received announcement signals compared to a subsequent received announcement signal; and The event candidate is reported by the master node to the server as a drift event only after detecting the starting drift and if the detected persistent drift is less than a persistent event threshold.

72. The method of claim 64, wherein: The step of identifying the event candidate also includes identifying the event candidate as an online event when the master node has received at least a threshold number of the announcement signals from the first ID node within a threshold time gap between consecutive announcement signals of the announcement signal.

73. The method of claim 64, wherein: The step of identifying the event candidate also includes identifying the event candidate as an offline event when (a) the time elapsed since the master node last received the announcement signal is greater than a threshold time interval and (b) the master node previously identified an online event associated with at least a portion of the announcement signal from the first ID node.

74. The method of claim 64, wherein: The step of identifying the event candidate also includes identifying the event candidate as an offline event when the master node has received at least a first announcement signal among the announcement signals but has not received a threshold number of consecutive announcement signals of the announcement signals within a defined time period when the first announcement signal is received from the master node.

75. The method of claim 64, wherein: The step of identifying the event candidate also includes identifying the event candidate as a checkpoint event when the time period ends and the master node detects at least one additional announcement signal broadcast by the first ID node.

76. The method of claim 75, further comprising: detecting, by the master node, an alarm flag from the first ID node, the alarm flag being part of at least one of the plurality of announcement signals; as well as The time period is reduced when the master node detects the alarm flag.

77. The method of claim 76, wherein: The alarm flag includes a profile identifier indicating an alarm profile used by the first ID node, and the alarm profile of the first ID node is one of multiple operation profiles that govern the announcement signal broadcast operation performed by the first ID node.

78. The method of claim 64, wherein: The observation parameters include observation profile settings; as well as The step of identifying the event candidate further comprises identifying the event candidate as a profile change event when the observation profile setting of the announcement signal changes from a first setting to a second setting during the time period.

79. The method of claim 78, wherein: The observation profile setting relates to the operation of the first ID node.

80. The method of claim 78, wherein: The observation profile setting relates to the operation of the master node.

81. The method of claim 64, wherein: The step of identifying the event candidate also includes identifying the event candidate as a transmission power change event when the observed parameters include an observed output power setting of the first ID node.

82. The method of claim 64, wherein: The step of identifying the event candidate also includes identifying the event candidate as an environmental change event when the observation parameters include sensor data collected by the sensor on the first ID node.

83. The method of claim 64, further comprising receiving, by the master node, an adjusted response from the server based on the event candidate.

84. The method of claim 83, wherein: The adjustment response includes an adjustment profile of at least one of the master node and the first ID node.

85. The method of claim 84, wherein: The adjustment response includes an adjustment profile of at least one of the other ID nodes.

86. The method of claim 83, wherein: The adjusted response includes updated context data reflecting the reported event candidate.

87. The method of claim 64, wherein: The detecting step includes detecting, by the master node, a first set of announcement signals broadcast by the first ID node and a second set of announcement signals broadcast by the first ID node after the first set of announcement signals, the first set of announcement signals and the second set of announcement signals being parts of the plurality of announcement signals; as well as The identification steps include: generating, by the master node, a first checkpoint summary as a statistical representation of the first set of announcement signals; generating, by the master node, a second checkpoint summary as a statistical representation of the second set of announcement signals; and The event candidate is identified by the master node based on a comparison of observed parameters of each of the first checkpoint summary and the second checkpoint summary.

Citation Information

Patent Citations

  • System and method for management of wireless devices aboard an aircraft

    US9095001B2

  • Notification control method, information processor, and notification control program

    JP2013098748A