Multi-entity management of nodes in a network of wireless nodes

CN114186915BActive Publication Date: 2026-09-04FEDERAL EXPRESS CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202111368471.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2014-07-30
Filing Date
2014-11-07
Publication Date
2026-09-04
Estimated Expiration
2034-11-07

Smart Images

  • Figure CN114186915B_ABST
    Figure CN114186915B_ABST
Patent Text Reader

Abstract

Multi-entity management of nodes in a wireless node network. Methods and systems are disclosed for managing a shipment of an item using a wireless node network having at least one ID node, a plurality of master nodes, and a server. The server receives registration of the ID node and shipment information of the item. The ID node can be associated with a first master node prior to pickup, where the association information is sent to the server. The ID node can be disassociated from the first master node when it associates with another master node along a predicted path of travel of the item and the ID node. Disassociation / association information is reported to the server, which tracks ID node associations and locations. The ID node can be disassociated from the second master node when it associates with a last master node along the predicted path of travel of the item and the ID node and after a detachment event of the item.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure generally relates to systems, apparatuses, and methods in the field of tracking items (e.g., objects, packages, people, pieces of equipment) and more particularly to various aspects relating to systems, apparatuses, and methods for improved asset identification, location services, and node management using adaptive, context-aware wireless node networks. Background Technology

[0002] Asset management has always been a crucial part of business, and the ability to identify and locate items can be considered central to companies that move items from one location to another. For example, package tracking is important to all types of organizations, whether it's a company keeping track of inventory to be sold in its stores or a package delivery provider keeping track of packages being transported through its delivery network. To provide quality service, organizations typically 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. Furthermore, efficient network deployment helps manage costs.

[0003] In addition to tracking packages, both the sender and receiver may need information about the package's conditions, such as its temperature and humidity. For example, a consumer who has ordered a case of wine might want to monitor the temperature of the contents of the case to determine if the temperature and / or humidity are above or below set ranges. Similarly, the sender may want to monitor the package's conditions to ensure the contents arrive in appropriate condition.

[0004] Typically, this tracking capability can be provided by a variety of known mechanisms and systems. Machine-readable barcodes are one way organizations maintain tracking of items. For example, a retailer might use barcodes on items in its inventory. For instance, each item to be sold in a retailer's store might be marked with a different machine-readable barcode. To maintain inventory tracking, the retailer typically scans or otherwise captures an image of the barcode on each item, allowing the back end of the retailer's operations to keep track of things entering and leaving their possession from suppliers. Additionally, when an item is sold to a consumer, the barcode for that item is scanned or captured to track sales and inventory levels.

[0005] 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 a tracking number for that package. Each time a package passes through a delivery checkpoint (e.g., a courier taking initial control of the package, the package being temporarily placed in a storage facility while moving from the pick-up point to the delivery location, and the package being delivered to the recipient, etc.), the package's barcode can be scanned. However, barcodes have the disadvantage that personnel must manually scan every barcode on every item in order to effectively track items.

[0006] Radio Frequency Identification (RFID) tags are another known mechanism for tracking items. Unlike barcodes, RFID tags typically do not require manual scanning. For example, in a retail context, RFID tags on stocked goods may be able to communicate with electronic readers that detect items in a shopping cart and add the cost of each item to the consumer's bill. RFID tags typically transmit an encoded number when queried by a reader or prompted by a reader. RFID tags have also been used to track items such as livestock, rail vehicles, trucks, and even airline baggage. These tags generally only address basic tracking and do not provide ways to improve asset management using information about the environment in which the items are tracked.

[0007] Sensor-based tracking systems that can provide more information than RFID systems are also known. Shippers, carriers, receivers, and other parties often want to know the location, condition, and integrity of shipped goods before, during, and after transport to meet quality control objectives, comply with regulatory requirements, and optimize business processes. However, given the complexity of sensors, such systems are often expensive and may provide irrelevant and redundant information about the goods.

[0008] To address these requirements, there is a need for systems capable of monitoring data about objects (such as shipped goods, personnel, or equipment) and effectively extending the visibility of such objects. Therefore, there is a need for improved systems that can provide broader and more robust identification, tracking, and management of objects, and do so in a cost-effective manner. Summary of the Invention

[0009] In the following description, certain aspects and embodiments will become apparent. It should be understood that these aspects and embodiments can be practiced in their broadest sense without having one or more features of these aspects and embodiments. It should be understood that these aspects and embodiments are exemplary only.

[0010] In the following description, certain aspects and embodiments will become apparent. It should be understood that these aspects and embodiments can be practiced in their broadest sense without having one or more features of these aspects and embodiments. It should be understood that these aspects and embodiments are exemplary only.

[0011] One aspect of this disclosure relates to a method for managing the shipment of articles using a wireless node network having at least one ID node, multiple master nodes, and a server. The method begins by transmitting shipment information to the server to register the articles to be shipped and the ID node, and associating the ID node with a first master node associated with a predicted path for shipping the articles. The server is updated to reflect the association between the ID node and the first master node. As the ID node traverses the predicted path, the method continues by disassociating the ID node from the first master node while associating the ID node with a second master node associated with the predicted path. As the ID node continues traversing the predicted path, the server is updated to reflect the disassociation between the ID node and the first master node and the association between the ID node and the second master node. Next, the method associates the ID node with a third master node located near the end of the predicted path for shipping the articles and notifies the server to reflect the association between the ID node and the third master node.

[0012] In this method, associating an ID node with the first master node can be performed before a pick event in the prediction path. Similarly, associating an ID node with the third master node can be performed after a drop-off event in the prediction path. When associating an ID node with any of the first, second, or third master nodes, this method can also rely on contextual data to adjust environmental aspects of the prediction path.

[0013] In another aspect of this disclosure, a method is disclosed for managing the shipment of goods using a wireless node network having at least one ID node, multiple master nodes, and a server. The method begins with the server receiving shipment information to register the ID node and the goods to be shipped. The method then provides a first set of authentication credentials to a first master node to allow the ID node to be associated with the first master node, which is associated with a predicted path for the shipment of goods. The server receives an update reflecting the association between the ID node and the first master node. As the ID node traverses the predicted path, the method provides a second set of authentication credentials to a second master node to allow the ID node to be associated with the second master node and disassociates the ID node from the first master node. As the ID node continues traversing the predicted path, the server then receives an update reflecting the disassociation between the ID node and the first master node and the association between the ID node and the second master node. The method then provides a third set of authentication credentials to a third master node when the ID node reaches the end of the predicted path for the shipment of goods to allow the ID node to be associated with the third master node and disassociates the ID node from the second master node. The server receives a notification reflecting the association between the ID node and the third master node.

[0014] In another aspect of this disclosure, a non-transitory computer-readable medium containing instructions that, when executed on a processor, perform a method for managing the shipment of articles using a wireless node network having at least one ID node, multiple master nodes, and a server. In this aspect, the method begins with the server receiving shipment information to register the ID node and the article to be shipped. The method predicts a shipping route for the article between two points, such as from an origin to a destination, and wherein the origin and destination are identified in the shipment information.

[0015] Next, the method authorizes the association or connection of the first master node with the ID node closest to the origin. This can be done before the pick event for the ID node and item being shipped. For example, when the first master node is a user access device used to ship a customer (e.g., laptop, desktop computer, tablet, smartphone, smart wearable device), visibility about the state and location of the ID node can extend before the pick event. After the first master node is associated with the ID node, the server receives an update reflecting the association.

[0016] Next, the method authorizes the disassociation of the first primary node from the ID node and the association of the second primary node with the ID node when the ID node's management responsibility switches from the first primary node to the second primary node at the intermediate point on the predicted delivery route. As the ID node continues on the predicted delivery path, the server then receives updates to reflect the disassociation of the ID node from the first primary node and the association between the ID node and the second primary node.

[0017] The method further authorizes the unassociation of the second primary node and the associating of the third primary node with the ID node when the management responsibility for the ID node switches from the second primary node to the third primary node near the destination point on the predicted delivery route. This can be done before the pick-up event for the ID node and the item being shipped. For example, when the third primary node is a user access device for the recipient (e.g., laptop, desktop computer, tablet, smartphone), visibility about the state and location of the ID node can extend after the disconnection event. After the third primary node is associated with the ID node, the server receives a notification reflecting the association between the ID node and the third primary node.

[0018] In another aspect of this disclosure, a system is disclosed for managing the shipment of articles using a wireless node network. The system generally includes ID nodes, multiple master nodes, and a server. ID nodes are registered to articles being shipped. As articles are shipped from the origin of a planned shipping route to their destination along the planned shipping path, each of the master nodes is predicted to be located at a different part of the planned shipping route for the articles. Each master node is operable to communicate with the ID nodes over a short-range communication path.

[0019] The server operates to track and report the location of ID nodes and master nodes. As ID nodes move along the intended shipping route, the server can also operate to facilitate the transfer of management responsibility for ID nodes between different master nodes. In this way, the first master node can be associated with an ID node before a pick-up event for the ID node and item to be shipped. Later, at the midpoint of the intended shipping route, a second master node can be associated with an ID node after it has been unassociated from one of the master nodes. And, after a detachment event for the ID node and item to be shipped, a third master node can be associated with an ID node.

[0020] Additional advantages of this and other aspects of the disclosed embodiments and examples will be set forth in part in the following description, and will be apparent in part from the description, or may be learned by practice of the invention. It will be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and do not limit the invention as claimed. Attached Figure Description

[0021] The accompanying drawings, which are incorporated in and form part of this specification, illustrate several embodiments according to one or more principles of the invention, and together with the description, serve to explain one or more principles of the invention. In the drawings,

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

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

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

[0025] Figure 4 This is a more detailed diagram of an exemplary master node device according to an embodiment of the present invention;

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

[0027] Figure 6 This is a diagram illustrating the structure or format of an exemplary notification data packet according to an embodiment of the present invention;

[0028] Figure 7 This is a diagram of sample content for an exemplary notification data group according to an embodiment of the present invention;

[0029] Figure 8 This is a state diagram illustrating the transition between an exemplary state according to an embodiment of the present invention and a state that is part of an operation performed by an exemplary node in a wireless node network;

[0030] Figure 9 This is a 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;

[0031] Figure 10 This is a 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;

[0032] Figure 11 This is a 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;

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

[0034] Figure 13 This is a diagram illustrating an exemplary location determination using master node announcements according to an embodiment of the present invention;

[0035] Figure 14 This is a diagram illustrating an exemplary location determination using ID node announcements according to an embodiment of the present invention;

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

[0037] Figure 16 This is a diagram illustrating an exemplary position determination by chaining triangulation according to an embodiment of the present invention;

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

[0039] Figure 18 This is a flowchart illustrating an example method for managing the shipment of goods using a wireless node network according to an embodiment of the present invention;

[0040] Figure 19 This is a flowchart illustrating another example method for managing the shipment of goods using a wireless node network according to an embodiment of the present invention;

[0041] Figure 20 This is a flowchart illustrating an example method for dynamically changing the operating mode of a node in a wireless node network according to an embodiment of the present invention.

[0042] Figure 21 This is a flowchart illustrating an example method for managing dynamically changing operating modes of nodes in a wireless node network according to an embodiment of the present invention.

[0043] Figures 22A-22C This is a diagram illustrating an exemplary stage in which an ID node moves through a portion of an exemplary transport path and is associated with a different master node, according to an embodiment of the present invention;

[0044] Figure 23 This is a flowchart illustrating an example method for association management of a wireless node network according to an embodiment of the present invention;

[0045] Figure 24 This is a flowchart illustrating another example method for association management of a wireless node network according to an embodiment of the present invention;

[0046] Figure 25 This is a flowchart illustrating yet another example method for association management of a wireless node network according to an embodiment of the present invention;

[0047] Figure 26 This is a flowchart illustrating an exemplary method for context management in a wireless node network according to an embodiment of the present invention;

[0048] Figure 27 This is a flowchart illustrating an exemplary method for locating nodes in a wireless node network based on signal patterns and characteristics observed over a time period, according to an embodiment of the present invention.

[0049] Figure 28 This is a flowchart illustrating an exemplary method for determining the location by changing the power characteristics of nodes in a wireless node network according to an embodiment of the present invention.

[0050] Figure 29 This is a flowchart illustrating an exemplary method for determining the location of one or more associated nodes in a wireless node network according to an embodiment of the present invention;

[0051] Figure 30 This is a flowchart illustrating another exemplary method for determining the location of one or more associated nodes in a wireless node network according to an embodiment of the present invention;

[0052] Figure 31 This is a flowchart illustrating yet another exemplary method for determining the location of one or more associated nodes in a wireless node network according to an embodiment of the present invention;

[0053] Figure 32 This is a flowchart illustrating an exemplary method for determining the location of a first node in a wireless node network based on context data, according to an embodiment of the present invention.

[0054] Figure 33 This is a flowchart illustrating an exemplary method for determining the location of one of a plurality of nodes in a wireless node network having a server, according to an embodiment of the present invention.

[0055] Figures 34A-34D This is a diagram illustrating various exemplary stages of an example shipment and logistics operation using an exemplary component of a wireless node network according to an embodiment of the present invention;

[0056] Figure 35 This is a flowchart illustrating an exemplary method for generating shipping labels for articles to be shipped using a wireless node network according to an embodiment of the present invention;

[0057] Figure 36 This is a flowchart illustrating an exemplary method for making payment transactions using node associations in a wireless node network according to an embodiment of the present invention;

[0058] Figure 37 This is a flowchart illustrating an exemplary method for preparing an enabling node for shipping articles using a wireless node network according to an embodiment of the present invention.

[0059] Figure 38 This is a flowchart illustrating an exemplary method for enabling the operation of a receptacle in a wireless node network according to an embodiment of the present invention.

[0060] Figure 39 This is a flowchart illustrating an exemplary method for shipment merging in a wireless node network according to an embodiment of the present invention;

[0061] Figure 40 This is a flowchart illustrating another exemplary method for shipment merging in a wireless node network according to an embodiment of the present invention;

[0062] Figure 41 This is a flowchart illustrating an exemplary method for delivering notifications using a wireless node network according to an embodiment of the present invention;

[0063] Figure 42 This is a diagram illustrating an example environment for picking up an order using an exemplary component of a wireless node network according to an embodiment of the present invention;

[0064] Figure 43 This is a flowchart illustrating an exemplary method for picking up orders using a wireless node network according to an embodiment of the present invention;

[0065] Figure 44 This is a flowchart illustrating an exemplary method for managing the delivery of articles being shipped using a wireless node network according to an embodiment of the present invention;

[0066] Figure 45A-45C The accompanying diagrams illustrate a series of example environments according to embodiments of the present invention, in which nodes are located and can move between regions with different operating node densities and adaptively adjust node power;

[0067] Figure 46 This is a flowchart illustrating an exemplary method for adaptively adjusting the node power level in a wireless node network based on the operating node density when a node moves to a new area, according to an embodiment of the present invention.

[0068] Figure 47 This is a flowchart illustrating an exemplary method for adaptively adjusting the power level of nodes in a wireless node network based on a threshold of operating nodes within a given area, according to an embodiment of the present invention.

[0069] Figures 48A-48C This is a diagram illustrating various configurations of an example wireless node network environment having an exemplary magnetically actuated node according to an embodiment of the present invention;

[0070] Figures 49A-49B This is a diagram illustrating an example wireless node network environment with an exemplary magnetically actuated node and exemplary magnetic placement support according to an embodiment of the present invention;

[0071] Figures 50A-50B This is a diagram illustrating an example wireless node network environment having an exemplary magnetically actuated node integrated into an exemplary placement support for a movable magnetic object, according to an embodiment of the present invention;

[0072] Figure 51 This is a flowchart illustrating an exemplary method for magnetically altering the operation of nodes in a wireless node network according to an embodiment of the present invention, the wireless node network having a master node and a server;

[0073] Figure 52 This is a flowchart illustrating an exemplary method for adjusting the broadcast settings of nodes in a wireless node network having a master node and a server, according to an embodiment of the present invention.

[0074] Figure 53 This is a flowchart illustrating an exemplary method for enhanced power notification from an ID node in a wireless node network having a master node and a server, according to an embodiment of the present invention.

[0075] Figure 54 This is a diagram illustrating an exemplary coupler connection between two conveyance systems having an integrated node according to an embodiment of the present invention;

[0076] Figure 55 This is a more detailed diagram illustrating an exemplary coupler connector between two systems having an integrated node according to an embodiment of the present invention;

[0077] Figure 56 This is a diagram illustrating another exemplary coupler connection between two transportation systems having adapter nodes according to an embodiment of the present invention;

[0078] Figure 57This is a flowchart illustrating an exemplary method for monitoring at least one signal passing through a coupled connection according to an embodiment of the present invention, the coupled connection having a network device communicating on a wireless node network;

[0079] Figure 58 This is a flowchart illustrating an exemplary method for sharing shipping condition information in a wireless node network having multiple network devices and servers according to an embodiment of the present invention;

[0080] Figure 59 This is a flowchart illustrating an exemplary method for requesting shared shipping condition information in a wireless node network having multiple network devices and servers, according to an embodiment of the present invention.

[0081] Figure 60A This is a diagram illustrating an exemplary group of nodes associated with multiple shipments in an exemplary shipping container according to an embodiment of the present invention;

[0082] Figure 60B This is a diagram illustrating an exemplary group of nodes associated with multiple shipments on an exemplary shipping pallet according to an embodiment of the present invention;

[0083] Figure 61 This is a flowchart illustrating an exemplary method of server operation when creating a hierarchical sensor network for a group set of packages being shipped, according to an embodiment of the present invention;

[0084] Figure 62 This is a flowchart illustrating an exemplary method of master node operation when creating a hierarchical sensor network for a group set of packages being shipped, according to an embodiment of the present invention;

[0085] Figure 63 This is a flowchart illustrating an exemplary method for creating a hierarchical sensor network for a group set of packages being shipped, according to an embodiment of the present invention;

[0086] Figure 64 This is a flowchart illustrating an exemplary method for multi-entity management of ID nodes in a wireless node network according to an embodiment of the present invention;

[0087] Figure 65 This is a flowchart illustrating an exemplary method for multi-entity management of ID nodes in a wireless node network from the perspective of a shipping consumer entity, according to an embodiment of the present invention.

[0088] Figure 66 This is a flowchart illustrating an exemplary method for multi-entity management of ID nodes in a wireless node network from the perspective of a receiver entity, according to an embodiment of the present invention.

[0089] Figures 67A-67D This is a diagram illustrating an exemplary enabling node autonomous transportation vehicle in various stages of navigation using nodes in a wireless node network according to an embodiment of the present invention.

[0090] Figure 68 This is a flowchart illustrating an exemplary method for navigating to a loading location using multiple nodes in a wireless node network via an autonomous transport vehicle, according to an embodiment of the present invention.

[0091] Figure 69A This is a diagram illustrating an exemplary express delivery vehicle with an exemplary enabling node autonomous vehicle according to an embodiment of the present invention;

[0092] Figure 69B This is a diagram illustrating an exemplary enabled node autonomous vehicle when an exemplary enabled node autonomous vehicle approaches a package and an associated ID node for an exemplary logistics transaction at a transaction location, according to an embodiment of the present invention.

[0093] Figure 70 This is a flowchart illustrating an exemplary method for automating logistics transactions using multiple nodes and servers in a wireless node network according to an embodiment of the present invention;

[0094] Figure 71 This is a diagram illustrating an exemplary hierarchical node network for monitoring an apparatus within an exemplary healthcare facility, according to an embodiment of the present invention.

[0095] Figure 72 This is a flowchart illustrating an exemplary method for monitoring a piece of equipment using a hierarchical node network according to an embodiment of the present invention, the hierarchical node network having at least an ID node, a master node, and a server;

[0096] Figure 73 This is a flowchart illustrating an exemplary method for monitoring human activity using a hierarchical node network according to an embodiment of the present invention, the hierarchical node network having at least an ID node, a master node, and a server;

[0097] Figure 74 This is a flowchart illustrating an exemplary method for initiating prestaged preparations related to medical treatments to be provided to patients at a healthcare facility, using a hierarchical node network according to an embodiment of the present invention.

[0098] Figure 75A This is a diagram illustrating an exemplary container using enabling node packaging material as part of an exemplary wireless node network according to an embodiment of the present invention.

[0099] Figure 75B This is a diagram illustrating another exemplary container using enabling node packaging material as part of an exemplary wireless node network according to an embodiment of the present invention.

[0100] Figure 76 This is a diagram illustrating a view of an exemplary container sheet used as part of an exemplary wireless node network packaging material according to an embodiment of the present invention.

[0101] Figure 77 This is a perspective view of an exemplary assembled container using enabling node packaging material as part of an exemplary wireless node network, according to an embodiment of the present invention.

[0102] Figure 78 This is a perspective view illustrating an exemplary enabling node packaging material implemented using an exemplary packaging separator sheet material and an exemplary cushioning material according to an embodiment of the present invention;

[0103] Figure 79 This is a flowchart illustrating an exemplary method of using enabled node packaging material as part of a container for shipment of articles according to an embodiment of the present invention;

[0104] Figure 80 This is a diagram illustrating an exemplary user access device and package near an exemplary shipping facility according to an embodiment of the present invention, at which an exemplary system notifies the shipping consumer about alternative shipping solutions;

[0105] Figure 81 This is a flowchart illustrating an exemplary method according to an embodiment of the present invention for proactively notifying shipping consumers about alternative shipping solutions using a wireless node network during parcel shipment;

[0106] Figure 82A This is a perspective view illustrating an exemplary enabling node logistics container according to an embodiment of the present invention;

[0107] Figure 82B The illustration shows an embodiment of the invention. Figure 82A A diagram showing an exemplary side interior view of an enabling node logistics container;

[0108] Figure 83 This is a diagram illustrating an exemplary enabled node logistics container that can be used to assess the suitability of the current location of an exemplary enabled node logistics container according to an embodiment of the present invention;

[0109] Figure 84This is a flowchart illustrating an exemplary method for assessing the current location of an enabling node logistics container according to an embodiment of the present invention;

[0110] Figure 85A This is a diagram illustrating an exemplary enabled node logistics container having a master node assembled within a logistics container and ready to receive packages, according to an embodiment of the present invention.

[0111] Figure 85B The illustration shows an assembly according to an embodiment of the present invention. Figure 85A A diagram of an exemplary enabling node logistics container of a master node within a logistics container, wherein the enabling node logistics container is enclosed within the enabling node logistics container;

[0112] Figure 86A This is a diagram illustrating an exemplary enabled node logistics container having an ID node assembled within a logistics container and ready to receive packages, according to an embodiment of the present invention.

[0113] Figure 86B The illustration shows an assembly according to an embodiment of the present invention. Figure 86A An exemplary diagram of an enabling node logistics container containing an ID node, wherein the enabling node logistics container is enclosed within the enabling node logistics container;

[0114] Figure 87 This is a flowchart illustrating an exemplary method for proactively reporting the content status of an enabling node logistics container in a wireless node network according to an embodiment of the present invention.

[0115] Figure 88 This is a flowchart illustrating another exemplary method for proactively reporting the content status of an enabling node logistics container in a wireless node network according to an embodiment of the present invention;

[0116] Figure 89A This is a diagram illustrating an exemplary enabled node logistics container having nodes assembled within a logistics container and exemplary sensors according to an embodiment of the present invention;

[0117] Figure 89B This is a diagram illustrating an exemplary enabled node logistics container having nodes assembled within a logistics container and another type of exemplary sensor according to an embodiment of the present invention;

[0118] Figure 89C This is a diagram illustrating another exemplary enabling node logistics container having nodes and other types of exemplary sensors serving as a portion of the enabling node logistics container according to an embodiment of the present invention.

[0119] Figure 89DThis is a diagram illustrating yet another exemplary enabling node logistics container having a node that serves as an enabling node logistics container and further exemplary sensors of other types according to an embodiment of the present invention.

[0120] Figure 90 This is a flowchart illustrating an exemplary method for detecting multiple package types within an enabling node logistics container in a wireless node network according to an embodiment of the present invention.

[0121] Figure 91 This is a diagram illustrating an exemplary enabling node logistics container according to an embodiment of the present invention, which reports the current status of a package to a server for enhanced deployment of a pickup service performed by a pickup entity.

[0122] Figure 92 This is a flowchart illustrating an exemplary method for deploying multiple pickup entities to an enabling node logistics container in a wireless node network according to an embodiment of the present invention.

[0123] Figure 93 This is a diagram illustrating an exemplary node package located in an exemplary vehicle environment according to an embodiment of the present invention; and

[0124] Figure 94 This is a diagram illustrating an exemplary mobile storage unit, such as a ULD, used as a container according to an embodiment of the present invention, which facilitates the transport of node packages in an exemplary air transport environment. Detailed Implementation

[0125] Reference will now be made in detail to exemplary embodiments. Wherever possible, the same reference numerals will be used in the figures and description to denote the same or similar parts.

[0126] Generally, various embodiments of context-aware, hierarchical wireless node networks that can be managed, operated, and applied using the principles described herein are described below. Generally, embodiments of a wireless node network may include one or more lower-level devices or nodes (e.g., ID nodes) that rely on short-range communication with a higher-level device or node (e.g., a master node), which is operable to communicate with a server on a different communication interface, while the lower-level nodes cannot communicate directly with the server. Those skilled in the art will understand that such a hierarchy of communication network components (generally referred to as network devices) with different functions can be characterized as a network of nodes. Those skilled in the art will appreciate that in some embodiments, a wireless node network may include servers as well as different wireless nodes, although the server may not be a dedicated wireless component. In other embodiments, the network may include similar types of wireless nodes or different types of wireless nodes.

[0127] Those skilled in the art will understand from the following detailed description that nodes can be associated with items (e.g., objects, packages, people, pieces of equipment) and can be dynamically programmed during network operation and used to identify and locate items as they move along a predetermined path (e.g., a delivery path from origin to destination). The following further describes wireless node networks, exemplary methods for managing components of a wireless node network, exemplary methods for better determining the location of components of a wireless node network, and various embodiments of applications of wireless node networks that enhance logistics operations.

[0128] Wireless node network

[0129] Figure 1 A basic diagram of an exemplary wireless node network according to an embodiment of the present invention is illustrated. Figure 1 The exemplary network shown includes a server 100 connected to network 105, which is also operatively connected to various network components, such as a master node 110a and indirectly connected to an ID node 120a via master node 110a. Master node 110a is typically connected to ID node 120a via short-range wireless communication (e.g., communication in the form of Bluetooth®). Master node 110a is typically connected to server 100 via network 105 via longer-range wireless communication (e.g., cellular) and / or medium-range wireless communication (e.g., wireless LAN or Wi-Fi). 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, such as package 130, a person, or an object (e.g., a vehicle, etc.). Generally, ID nodes can communicate directly with master nodes but not directly with the server, while master nodes can communicate directly with the server and communicate individually and directly with other nodes, such as ID nodes or another master node. The ability to deploy a hierarchy of nodes within an exemplary wireless node network to distribute tasks and functions at different levels in an efficient and cost-effective manner. Such a network of nodes facilitates a variety of adaptive localization, tracking, management, and reporting applications, as discussed in more detail below.

[0130] Generally, the lower-cost, lower-complexity ID node 120a is managed by the higher-complexity master node 110a and server 100 as part of maintaining tracking of the location of ID node 120a (and associated items), thereby providing intelligent, robust, and broad visibility into the location and status of ID node 120a. In a typical embodiment, ID node 120a is initially associated with an item (e.g., package 130, person, or object). As ID node 120a moves with the item, it becomes associated with master node 110a, and server 100 is updated with this information. Further movement of ID node 120a and the item can cause ID node 120a to deassociate from master node 110a and be hand-offned to become associated with another master node (not shown), after which server 100 is updated again. Thus, as an item physically moves from one location to another, server 100 generally operates to coordinate and manage information associated with ID node 120a. The following discusses… Figure 3 and 4 Further details regarding the architecture and functionality of the exemplary ID node and master node embodiments are described in more detail below. Figure 5 The exemplary server 100 is described in more detail.

[0131] Although server 100 is shown connected via network 105, those skilled in the art will appreciate that, depending on implementation details and desired communication paths, server 100 can have connections to, for example, master node 110a. Figure 1 More direct or dedicated connections to other components illustrated in the diagram. Furthermore, those skilled in the art will appreciate that the exemplary server may include (in...) Figure 1 A collection of information in a database (not shown), and multiple databases maintained on multiple server platforms or network storage servers can be used in other embodiments to maintain such a collection of information. Furthermore, those skilled in the art will appreciate that cloud technology can be used to implement a networked storage database that essentially provides a collection of information directly accessible to devices such as master node 110a.

[0132] Network 105 may be a general data communication network involving multiple communication networks or paths. Those skilled in the art will appreciate that such exemplary networks or paths may vary depending on the connection between server 100 and... Figure 1 The network of interconnected components shown in the figure is intended to be realized by using hard-wired structures (e.g., LAN, WAN, telecommunications lines, telecommunications support structures and telecommunications processing equipment, etc.), wireless structures (e.g., antennas, receivers, modems, routers, repeaters, etc.) and / or a combination of both.

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

[0134] 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 with a short-range radio having variable RF characteristics (e.g., a programmable RF output power range, programmable receiver sensitivity), memory accessible to the processing unit, timers operatively coupled to the processing unit, and a power source (e.g., a battery) to power the circuitry of the ID node. For example, the physical implementation of an exemplary ID node can be small and therefore able to be integrated into packages, tags, containers, or other types of objects. In some implementations of the ID node, the node is rechargeable, while other implementations do not allow recharging of the power source used for the ID node. In other implementations, the ID node is environmentally self-contained or sealed, thereby enabling robust and reliable operation under harsh conditions in a variety of environments.

[0135] A master node, such as master node 110a, is generally used as a smart bridge between ID node 120a and server 100. Therefore, a master node is generally more sophisticated than an ID node. In one example embodiment, an exemplary master node is a device having: a processing or logic unit, a short-range radio (which may have variable RF characteristics) for communication with other nodes (ID nodes and other master nodes), a medium and / or a long-range radio for communication with server 100, memory accessible by the processing unit, a timer operatively coupled to the processor unit, and a power supply (e.g., a battery or wired power connection) to power the circuitry of the master node. An exemplary master node, such as master node 110a, may be positioned in a known fixed location or, alternatively, a mobile unit with dedicated location positioning circuitry (e.g., GPS circuitry) to allow the master node to determine its own location.

[0136] Although Figure 1The 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 wide array of similar or different master nodes, each communicating with server 100 and / or other master nodes, as well as a wide array of similar or different ID nodes. Therefore, Figure 1 The exemplary network shown is a basic embodiment, while Figure 2 The exemplary network shown is a more detailed exemplary wireless node network according to another embodiment of the present invention.

[0137] Now for reference Figure 2 This illustrates another exemplary wireless node network including server 100 and network 105. Here, master nodes 110a, 110b, and 110c are deployed and connected to network 105 (and connected to server 100 via those corresponding connections) and connected to each other. ID nodes 120a, 120b, and 120e are shown as being able to connect to various master nodes via different paths or be operable to communicate with various master nodes via different paths. However, in Figure 2 ID nodes 120c and 120d are shown connected to ID node 120b but not to any master node. This could be if, for example, ID nodes 120b, 120c, and 120d are associated with different items (e.g., packages) within a larger container 210 (or grouped together on a pallet). In such an example, only ID node 120b can remain within the wireless communication range of any master node. This could be due, for example, to the location of the different ID nodes within the container relative to the nearest master node, unfavorable RF shielding caused by the container, unfavorable RF shielding caused by the packaging of the items, or unfavorable RF shielding caused by other nearby materials interfering with radio transmission (e.g., several packages of metal items between the ID nodes and any master node outside the container). Therefore, in Figure 2 In the configuration of the exemplary network illustrated in the diagram, ID nodes 120c and 120d may be outside the range of the master node, but still have an operational communication path to the master node through ID node 120b.

[0138] In fact, in one example, ID node 120b could actually be the master node before being placed inside container 210, but the changed RF environment when it is placed inside container 210 may interfere with the master node’s ability to locate itself via positioning 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 inside container 210.

[0139] exist Figure 2User access devices 200 and 205 are also shown, which are capable of connecting to network 105, the master node, and the ID node. Generally, user access devices 200 and 205 allow users to interact with one or more components of the exemplary wireless node network. In various embodiments, desktop computers, laptop computers, tablets (such as Apple iPad® touchscreen tablets), personal area network devices (such as Bluetooth® devices), smartphones (such as Apple iPhone®), and smart wearable devices (such as Samsung Galaxy Gear) can be used. TM Smartwatch or Google Glass TM Wearable smart optical devices or other such devices enable user access to devices 200 and 205, which are capable of communicating with server 100 via network 105 and with master node and ID node via wired or wireless communication paths.

[0140] As in Figure 2 As shown, user access devices 200, 205 are coupled to or communicate with network 105, but each of them can also communicate with each other or with other network components in a more direct manner, such as via near field communication (NFC), via Bluetooth® wireless connection, via WiFi network, dedicated wired connection or other communication path.

[0141] In one example, a user access device such as device 200 or 205 can facilitate the association of ID nodes (such as ID node 120a) with the package's tracking number at the beginning of the shipping process, facilitate cooperation with server 100 to check the status and / or location of the package and associated ID nodes during transit, and facilitate the possible retrieval of data from the master node or ID node associated with the shipped package. Therefore, those skilled in the art will appreciate that user access devices such as devices 200 and 205 are essentially interactive communication platforms through which users can initiate the shipment of items, track items, determine the status and location of items, and retrieve information about items.

[0142] Exemplary user access devices 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 in various embodiments, as discussed in more detail below. For example, device 200 may be implemented as a mobile smartphone and functionally operate as an exemplary ID node that broadcasts announcement packet messages to other ID nodes or master nodes for association and data sharing with such nodes. In another example, device 200 is implemented as a mobile smartphone and may operate as an exemplary master node that communicates and associates with ID nodes and other master nodes as described herein, and communicates with server 100. Therefore, those skilled in the art will appreciate that user access devices such as device 200 or 205, when properly programmed, can be used to implement... Figure 3 Exemplary ID nodes and Figure 4 Examples of master nodes in the example, along with their corresponding sections, code, and program modules. Therefore, for Figure 3 Exemplary ID nodes and Figure 4 The following description of an exemplary master node is applicable to user access devices that operate as either an ID node or a master node, respectively.

[0143] ID Node

[0144] Figure 3 This 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 the ID node includes a transceiver-based processing or logic unit with a short-range radio having variable RF characteristics (e.g., a programmable RF output power range, a programmable receiver sensitivity), memory accessible to the processing unit, a timer operatively coupled to the processing unit, and a power supply (e.g., a battery) to provide power to the circuitry of the ID node. Reference now is made to... Figure 3 In a more detailed embodiment, exemplary ID node 120a is shown including a processing or logic unit 300 coupled to a variable power short-range communication interface 375, memory storage 315, 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 microcontroller, which generally performs calculations on data and executes operational and application code, as well as other program modules or segments thereof within ID node 120a. Thus, exemplary processing unit 300 operates as a transceiver-based processing core of ID node 120a.

[0145] 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, processing unit 300 can be implemented using an Intel® 8051 CPU core and associated peripheral circuitry, as directed by the needs of a particular application. Less complex microcontrollers or discrete circuitry can be used to implement processing unit 300, as well as more complex and sophisticated microcontrollers. Alternatively, the exemplary processing unit 300 can be integrated into a single-chip transceiver that serves as the core of ID node 120a.

[0146] The variable power short-range communication interface 375 of ID node 120a is typically a programmable radio and omnidirectional antenna coupled to processing unit 300. In other embodiments, interface 375 may use antennas with different antenna profiles when directivity may be desired. Examples of the variable power short-range communication interface 375 may include (not shown) additional docking hardware for operatively coupling the device to a dedicated short-range communication path (e.g., a Bluetooth® Low Energy (BLE) connection path communicating at 2.4 GHz).

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

[0148] The battery 355 used for ID node 120a is of a typical type of power source that supplies power to the circuitry implementing ID node 120a. In one embodiment, battery 355 may be a rechargeable power source. In other embodiments, battery 355 may be a non-rechargeable power source intended for disposal after use. In some embodiments of the ID node, the power source may involve alternative energy generation, such as solar cells.

[0149] The timer 370 of ID node 120a typically provides one or more timing circuits used in applications such as time delay, pulse generation, and oscillator. In embodiments, the timer 370 assists processing unit 300 in managing timing operations when ID node 120a saves power by entering a sleep or hibernation state for a predetermined period of time as part of an overall power-saving technique. Additionally, embodiments may allow ID nodes to share data to synchronize different nodes with respect to the timer 370 and a common timing reference between the nodes and the server.

[0150] Embodiments may implement 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, UI 305 may be implemented using status lights such as multimode LEDs. Different colors of the lights may indicate different states or modes of ID node 120a (e.g., announcement mode (broadcast), scan mode (listen), current power status, battery level status, associated status, error, sensed conditions (e.g., exceeding a temperature threshold, exceeding a humidity threshold, etc.)). Other embodiments of the ID node may implement UI 305 in a more granular manner using a graphical display or similar device capable of displaying such status or mode information and one or more prompts.

[0151] In a further embodiment, an exemplary status light serving as a portion of UI 305, used as an ID node, can also indicate the shipping status. More specifically, the exemplary shipping status can include the status of the shipped item or the current shipping progress status of the item from its origin to its destination.

[0152] Embodiments may also implement ID node 120a to optionally include one or more sensors 360. In some embodiments, an ID node implemented using 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, motion, light, temperature, humidity, magnetic field, altitude, attitude, 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 measuring other characteristics are envisioned as sensors 360. Additionally, those skilled in the art will understand that sensor nodes may include additional procedural features to manage the collection, storage, sharing, and disclosure of captured sensor data.

[0153] Embodiments may further implement 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 an electrical path or connection in response to an applied magnetic field. In other words, magnetic switches 365 are actuated by the presence or removal of a magnetic field. As discussed in the embodiments described in more detail below, various applications may relate to the operation of ID node 120a having magnetic switches 365.

[0154] With Figure 3 Consistent with the embodiments shown, the exemplary ID node 120a can be implemented based on the Texas Instruments CC2540 Bluetooth® Low Energy (BLE) system-on-chip, which includes various peripherals (e.g., timer circuitry, USB, USART, general purpose I / O pins, IR interface circuitry, DMA circuitry) to act as an ID node and, if necessary, to interface with different possible sensors and other circuitry (e.g., additional logic chips, relays, magnetic switches) that make up the ID node.

[0155] In additional embodiments, those skilled in the art will appreciate that similar functionality in the ID node can be implemented with other types of hardware. For example, depending on the requirements of the ID node, the ID node 110a can be implemented using specially optimized hardware (e.g., a specific application-specific integrated circuit (ASIC) with the same operational control and functionality as the node control and management code described below), discrete logic, or a combination of hardware and firmware, the requirements of which include power, processing speed, level of adjustability for RF characteristics, number of memory storage units coupled to one or more processors, cost, space, etc.

[0156] As mentioned above, ID node 120a includes memory accessible by processing unit 300. Each of the memory storage device 315 and volatile memory 320 is operatively coupled to processing unit 300. The two memory components provide programming and data elements used by processing unit 300. Figure 3In the embodiment shown, memory storage device 315 maintains various program codes (e.g., node control and management code 325) and other data elements (e.g., profile data 330, security data 335, associated data 340, shared data 345, sensor data 350, etc.). Memory storage device 315 is a tangible, non-transient computer-readable medium on which information (e.g., executable code / modules, node data, sensor measurements, etc.) can be maintained in a non-volatile and non-transient manner. Examples of such memory storage device 315 may include hard disk drives, 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 filled with operating programs (such as node control and management code 325) or specific program modules that help facilitate specific operations of ID node 120a. Furthermore, during the operation of ID node 120a, volatile memory 320 may also include certain data (e.g., profile data 330, security data 335, associated data 340, shared data 345, sensor data 350, etc.) generated when ID node 120a executes instructions programmed or loaded from memory storage device 315. However, those skilled in the art will appreciate that this is not the case. Figure 3 All data elements shown in the diagram must appear simultaneously in both the memory storage device 315 and the volatile memory 320.

[0157] Node control & management code

[0158] Generally, embodiments of node control and management code 325 are collections of software features implemented as general control of the behavior of nodes such as ID node 120a. In embodiments, the functionality of code 325 may generally be 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 certain principles of operation are similar between such nodes, other embodiments may rely on the desired implementation and use of the node, utilize a degree of specialization, or implement the functionality in a different manner.

[0159] In a typical embodiment, exemplary node control and management code 325 may generally include several programming functions or program modules, including (1) a node announcement and query (scan) 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 aspects of power consumption and RF output signal power and / or receiver sensitivity for variable short-range communication; and (4) an association manager concerned with how nodes are associated with other nodes. The following is a description of various embodiments of these basic program modules used by the nodes.

[0160] Node Communication Manager - Announcements & Scans

[0161] In an exemplary embodiment, the node announcement and query (scan) logic manager controls how and when a node should announce (transmit) its address or query (scan) the addresses of neighboring nodes. Announcements are typically accomplished using messages, which may contain different information in various parts (e.g., headers, fields, flags, etc.). Messages may be single or multiple packets.

[0162] In an exemplary embodiment, the "announcement" mode (as opposed to the "query" or "scan" modes) is the default mode for ID nodes and causes the node to broadcast or transmit messages containing its address and related metadata about the node. For example, in one embodiment, exemplary metadata may include information such as RF output power level, reference number, status flag, battery level, and the node's manufacturer name.

[0163] Figure 6 This is a diagram illustrating the structure or format of an exemplary notification data packet according to a general embodiment of the present invention. Referring now... Figure 6 The diagram illustrates the structure 600 of an exemplary notification data packet broadcast as a signal or message from an ID node, such as ID node 120a. Packet 600 is shown with increased detail, illustrating the format of exemplary metadata and different types of metadata maintained separately in different parts of the packet. Different embodiments may include different types of metadata depending on the application deployed on the ID node.

[0164] Figure 7 This is a diagram of sample content for an exemplary notification data group according to an embodiment of the present invention. Now refer to... Figure 7The exemplary notification data packet 700 is illustrated to have exemplary metadata, including sample information such as RF output power level (e.g., "TX power level"), reference number (e.g., "TDX ID (ASCII short name)"), status flag (e.g., "status flag value ('indicating requested acknowledgment')"), battery level (e.g., "battery level value (indicating 73% charge)"), and the node's manufacturer name (e.g., "company identifier (currently undefined for FedEx)"). In one embodiment, those skilled in the art will appreciate that the reference number may be omitted or obscured for security purposes.

[0165] In one embodiment, as described above Figure 7 As mentioned earlier, exemplary announcement data packets may include RF output power levels to enable a way to 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 by the node type, then only the node type needs to be identifiable based on exemplary data packets such as packet 700.

[0166] Regarding how nodes communicate, exemplary nodes can be in one of several different communication modes. A node in the announcement (or transmission or broadcast) mode is visible to any other node set in the query (or scan or listen) mode. In embodiments, the frequency and length of the announcements can be application- and power-dependent. For example, in normal operation, exemplary nodes will generally announce periodically and expect to make proactive connections to other nodes at regular intervals, dictated by conditions set by server 100. In embodiments, such conditions can be set individually for each node by a server or a higher-level node in the network.

[0167] If an exemplary node has not received an acknowledgment for a notification packet within a specific time period, it may enter one or more alert phases. For example, if an exemplary node has not received an acknowledgment from another node for a notification packet broadcast for the exemplary node within a specific time period (also generally referred to as an alert interval), the exemplary node will enter the alert phase 1 state. This prompts the exemplary node to issue a subsequent notification packet, changing one or more parts of it to indicate the alert phase 1 state. More specifically, the exemplary subsequent notification packet may have a different notification alert header that instructs nearby nodes to send a SCAN_REQ message upon receiving the notification packet.

[0168] If the exemplary node has not received confirmation of the advertisement packet broadcast for the exemplary node (a request from the master node to initiate a connection and establish a successful connection) from the master node within another time period, it will enter another alert phase, such as the alert phase 2 state. This prompts the exemplary node to issue a subsequent advertisement packet, changing one or more parts of it to indicate the alert phase 2 state. More specifically, this exemplary subsequent advertisement packet may have a different advertisement alert header, which instructs the nearby master node to send a SCAN_REQ message upon receiving the advertisement packet.

[0169] If the exemplary node has data to be uploaded to the backend, it can also enter another type of alert phase. In one embodiment, for example, if the exemplary node has sensor data collected by the exemplary node (or received from one or more other nodes that have already communicated with the exemplary node), and the data needs to be uploaded to server 100, the exemplary node can enter an update alert phase such as alert phase 3. This prompts the exemplary node to issue a subsequent notification packet, changing one or more parts of it to indicate the alert phase 3 status. More specifically, the exemplary subsequent notification packet may have a different notification header that instructs a nearby master node to connect to the exemplary node so that data (e.g., sensor data 350) can be transferred from the exemplary node (e.g., ID node 120a) to a nearby master node (e.g., master node 110a). The transferred 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 this storage operation, the nearby master node will transmit the data (e.g., sensor data 450) to server 100.

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

[0171] In a more detailed embodiment, several exemplary state types are established regarding communication with other nodes. For example, exemplary state types may include the following:

[0172] • Alert Level 0 – No problem, operation is normal;

[0173] • Alert Level 1 – The announcing node is requesting confirmation from any available node that it has received its announcement packets;

[0174] • Alert Level 2 – The announcing node is requesting confirmation from any available master node that it has received its announcement packets;

[0175] • Alert Level 3 – Data for Upload – The node has captured data that can be used for uploading via the master node; and

[0176] • Synchronization – Notifies nodes of requests to connect to devices or sensors that can synchronize data (such as timers or location information).

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

[0178] Requests for further messages from the advertising node may arrive in the form of a SCAN_REQ message in some embodiments. Generally, an exemplary SCAN_REQ is a message sent from the scanning (listening) master node to the advertising node, requesting additional information from the advertising node. In this example, an alert status bit may, for example, indicate to the scanning master node at the application layer whether the advertising node is in a mode that will accept SCAN_REQs or a mode that will not accept SCAN_REQs. In one embodiment, the non-connectivity and discoverable mode of the advertising node conforms to the Bluetooth® Low Energy (BLE) standard.

[0179] In another embodiment, a node may have further different modes of operation when scanning or listening to other nodes. For example, a node's querying or scanning mode may be active or passive. When a node scans passively, it will receive advertisement data packets but will not acknowledge or send a SCAN REQ. However, when a node scans actively, it will receive advertisement data packets and will acknowledge receipt by sending a SCAN_REQ. More detailed embodiments may provide passive and active modes of scanning or querying in accordance with the Bluetooth® Low Energy (BLE) standard.

[0180] In this embodiment, an exemplary node is scanning while it listens for other wireless nodes broadcasting on short-range radio. The exemplary scanning node may capture, for example, the MAC address of the announcing node, the signal strength of the RF output signal transmitted from the announcing node, and any other metadata published by the announcing node (e.g., other information in the announcement data packets). Those skilled in the art will appreciate that the scope of what a node is “listening” to can vary while it is scanning. For example, the query can be limited. In other words, the scope of what the node is particularly interested in and what it is listening to can be focused or otherwise limited. In such cases, for example, the information collected can be limited to specific information from a target population of the announcing short-range wireless nodes; but the information set can be considered “open” where information from any announcing device is collected.

[0181] While a node is advertising or scanning, embodiments may further utilize status flags and additional modes 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 alert level 1 or 2 status, and the scanning node is in "passive" scanning mode, the node will switch to "active" scanning mode for a certain interval. However, if the scanning node is already in "active" scanning mode in this situation, the node will send a SCAN_REQ message and receive a SCAN_RSP (e.g., a message providing additional information requested from the advertising node) from the advertising node. The scanning node will then switch back to "passive" scanning mode.

[0182] In another example, when the advertising (broadcasting) node receives a SCAN_REQ from the scanning node, the advertising node will consider that its advertising data packet has been acknowledged. Furthermore, the advertising node will reset its "alert" status flag back to alert level 0. This allows the advertising node to effectively receive acknowledgments of its advertising even without establishing a connection to the scanning node, which advantageously and significantly saves power consumption.

[0183] In another example, when a scanning node receives an announcement data packet with a set alert level 3 status flag, the scanning node will attempt to establish a connection with the announcement device. Once the connection is established, the announcement device will attempt to upload its data to the connected device.

[0184] Therefore, the implementation of the node announcement and query (scan) logic manager of code 325 can rely on one or more status flags, announcement modes, and scan modes when nodes communicate with each other in various advantageous ways.

[0185] Node Information Control & Exchange Manager

[0186] In an exemplary embodiment, the information control and exchange manager portion of 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 node operational states, where information can be modified according to a desired paradigm for the state. More specifically, embodiments of the information control and exchange manager can establish different levels of information exchange between nodes operating in a “non-connectable announcement” state or mode, a “discoverable announcement” state or mode, and a “general announcement” state or mode. When a node is in the “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 bidirectional exchange of information occurs.

[0187] When a node is in "discoverable and advertised" mode and a scanning node is in "active" mode, node information is exchanged in two enabling ways. For example, the advertising node sends an advertisement packet, and in response, the scanning node sends a SCAN_REQ packet. After receiving the SCAN_REQ requesting additional information, the advertising node sends a SCAN_RSP with the requested information. Therefore, there is bidirectional information exchange in "discoverable and advertised" mode, but no active connection is established between the two nodes exchanging information.

[0188] Finally, for advanced bidirectional information exchange, active connections can be used between nodes, and information can be exchanged bidirectionally to and from different nodes. In a more detailed embodiment, at this level of bidirectional information exchange, a node is first identified and then authenticated as part of establishing an active connection. Once authenticated and subsequently actively becoming connected, nodes can securely share information back and forth. In one example, a sensor node uploading previously captured environmental information to the master node might be in this mode or state. In another example, an ID node uploading the stored results of a node scan operation to the master node might be in this mode or state. In yet another example, a master node sharing timers and / or location information with corresponding nodes might be in this mode or state.

[0189] Node Power Manager

[0190] In an exemplary embodiment, the node power manager portion of node control and management code 325 focuses on managing power consumption and the efficient use of power within the node (e.g., adjustable levels of RF output signal power). Generally, nodes are powered by a battery (such as battery 355 in an ID node) or via an interface to an external power source (such as battery / power interface 470 in a master node). In some embodiments, examples of external power sources may include power supplied from an outlet or power connection within the facility, or power generated onboard by a means of transportation (e.g., a car, truck, train, aircraft, ship, etc.). Those skilled in the art will appreciate that the interface to the external power source will generally be referred to as a “wired” power connection, and the node power manager can notify the node whether it is disconnected or the battery, such as battery 355, is turned off. Further embodiments may utilize wireless power transmission, such as via an induction coil, to implement the interface to the external power source.

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

[0192] In another example, an exemplary node power manager can manage power as it determines how best to use and adjust power to more accurately accomplish a specific task. In one embodiment, RF signals output from a node (such as short-range RF output signals from an ID node) can periodically move across the range of output power or simply switch between two or more settings that differ in a detectable manner. As disclosed in more detail below, the variability and dynamic adjustment of RF output signal power can allow other nodes (such as one or more master nodes) to see each node at higher ranges of RF output signal power and only see nodes physically close to the advertised node at lower ranges of signal power.

[0193] In another example, an exemplary node power manager can cause a change in the characteristics of its RF output signal power when a node has been associated with a physical location or another node using context data (such as context data 560 and association logic utilizing this type of information). In one embodiment, a node can be instructed to change how frequently the node communicates and / or change the characteristics of its RF output power to save power.

[0194] In yet another example, all advertising nodes can have their respective node power managers periodically cause each corresponding node to broadcast at maximum RF output signal power level to ensure they remain within range of the scanning ID node or master node. This increases the chances 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, if needed.

[0195] Instead of adjusting the RF output signal power level, the exemplary node power manager in some embodiments may adjust the node's RF receiver sensitivity. This takes into account the adjustable range of the received signal (as opposed to the adjustable range of the broadcast-only signal), which may be similarly used to manage power and boost location determination as discussed herein.

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

[0197] When adjusting the power characteristics of a node (e.g., power consumption, power usage, output signal frequency, duty cycle of the output placement signal, timing, power level, etc.), an exemplary embodiment of the node management manager may refer to a power profile (e.g., profile data 330, 430 of exemplary type).

[0198] Node Association Manager

[0199] In an exemplary embodiment, the node association manager portion of node control and management code 325 focuses on how a node combines with the server-side association manager in code 525 and is consistently associated with other nodes in accordance with the server-side association manager in code 525, as discussed in more detail below. Therefore, the exemplary node association manager, when executed in a node, instructs the node on how to associate with one or more other nodes using input from the server (e.g., entering an active connection mode).

[0200] An exemplary node association manager for a node can indicate through status flags whether a node requests acknowledgment or connection, or whether it has information that can be uploaded to the backend. Therefore, even if a node may not yet be associated with or actively connected to another node, its status can be inferred from, for example, status information in the node's broadcast header.

[0201] Regarding connections between nodes, there are generally secure and insecure connections. While embodiments may allow insecure 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 pair with another node, an exemplary node association manager first identifies the node to be associated and transmits an association request to a server. The request may include a specific request to pair the nodes and request appropriate pairing credentials from a server such as server 100. Server 100 may have already staged pairing credentials for a particular node based on information indicating that the node will be within wireless proximity and that future pairing is likely. The visibility of node relationships may have been determined by scanning notifications or third-party data such as barcode scan information indicating that the node's current or future state will be within proximity.

[0202] When connecting or disconnecting to exchange information in the exemplary node information exchange mode described above, nodes typically operate in multiple states, which constitute an exemplary notification cycle for the exemplary ID node. See below for reference. Figure 8 This exemplary notification cycle for a node is further explained in conjunction with and consistent with the server-side association manager in Code 525.

[0203] Air transport mode program module

[0204] In one embodiment, node control and management code 325 may further include an air transport mode program module (not shown). In another embodiment, the air transport mode program module may be implemented as part of a node power manager program module of code 325. When the ID node is operating in an aircraft, the exemplary air transport mode program module generally operates to manage the output power of the ID node's variable power short-range communication interface 375. Operating wireless devices within an aircraft may, in certain circumstances, have unintentional 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 according to different states or modes based on specific operating and / or operating conditions of the aircraft. For example, the exemplary air transport mode program module may operate to transition the ID node according to a state or mode (e.g., normal mode before takeoff, disabled mode during takeoff, air transport mode while in the air, disabled mode during descent, and normal mode after landing) based on detected environmental conditions (e.g., pressure, altitude) and / or flight details associated with the aircraft. In this way, the ID node may be allowed to operate normally when onboard an aircraft, or in some cases completely disabled, and can operate in an aircraft mode that allows sensing and sensor data capture but may limit the transmission of RF output signals to avoid interfering with the aircraft's avionics. (This is from a document titled "...") System and Method for Management of Wireless Devices Aboard an Aircraft Further information relating to methods for managing wireless devices (such as ID nodes) in aircraft is disclosed in more detail in U.S. Patent Application Serial No. 12 / 761,963, which is incorporated herein by reference.

[0205] Node data

[0206] As previously mentioned, the volatile memory 320 may also include data (e.g., profile data 330, security data 335, associated data 340, shared data 345, sensor data, etc.) generated when the ID node 120a executes instructions that are programmed or loaded from the memory storage device 315. Generally, data used on a node such as the ID node can be received from other nodes or generated by the node during operation.

[0207] In one embodiment, profile data 330 is a type of data defining general types of behavior for an ID node, such as broadcast profiles (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 service (exposing the state of the battery within the device), proximity between BLE devices, or message sending and receiving between BLE devices. Therefore, exemplary profile data 330 may reside in volatile memory 320 and / or memory storage device 315 as a type of data defining parameters for node behavior.

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

[0209] Association data, such as association data 340, generally identifies the connection relationship between nodes. For example, when ID node 120a moves within the range of master node 110a and after the server guides the association of the two nodes (with authorization), ID node 120a may become associated with master node 110a. Therefore, information identifying the relationship between ID node 120a and master node 110a can be provided to server 100, and can be provided to each of ID node 120a and master node 110a by a point. Therefore, exemplary association data 340 can exist in volatile memory 320 and / or memory storage device 315 as a type of data identifying the association between nodes.

[0210] Shared data 345 may reside in volatile memory 320 and / or memory storage device 315 as the type of data exchanged between nodes. For example, context data (such as environmental data) may be the type of shared data 345.

[0211] Sensor data 350 may also reside in volatile memory 320 and / or memory storage device 315, as a type of data recorded and collected from onboard sensors or from another node. For example, sensor data 350 may include temperature readings from a temperature sensor onboard the ID node and / or from another ID node (e.g., from...). Figure 2 The humidity reading of the humidity sensor in another ID node inside container 210 shown in the diagram.

[0212] Therefore, ID nodes (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, can broadcast to and scan for other nodes, associate with other nodes, and store information / exchange information with other nodes.

[0213] Master node

[0214] Such as in Figure 4 The master node 110a, shown in more detail, shares many ID node characteristics but generally extends them to act as a bridge for server 100. Generally, while ID nodes are the type of lower-level nodes in the exemplary wireless node network, master nodes are the type of higher-level nodes. Exemplary master nodes may be in a fixed location or otherwise stationary, while other example master nodes may be implemented as mobile and mobile devices.

[0215] Now for reference Figure 4 An exemplary master node 110a includes a processing or logic unit 400 coupled to a short-range communication interface 485, 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 485 may have variable power characteristics, such as receiver sensitivity and RF output power levels. Those skilled in the art will appreciate that the processing unit 400 is logic such as a microprocessor or microcontroller, which generally performs calculations on data and executes operational and application code, as well as other program modules within the master node 110a.

[0216] Generally, those skilled in the art will understand that, Figure 4 The description of the hardware of ID node 110a in the document applies to similar hardware and software features present in every 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, depending on the desired implementation, can utilize a single processor or logic unit, a more powerful multi-core processor, or multiple processors to implement processor 400. In one embodiment, processing unit 400 may be implemented using a low-power microprocessor and associated peripheral circuitry. Less complex microcontrollers or discrete circuitry may be used to implement processing unit 400, as well as more complex and sophisticated general-purpose or special-purpose processors.

[0217] In another embodiment, the exemplary processing unit 400 may be implemented by a low-power ARM1176JZ-F application processor serving as part of a single-board computer, such as a Raspberry Pi computer model B-Rev-2. The ARM application processor is embedded within a Broadcom® BCM2835 system-on-a-chip (SoC) deployed in the Raspberry Pi computer. In this embodiment, the Raspberry Pi computer device functions as the core of the exemplary master node 110a and includes a secure digital memory card slot and a flash memory card serving as memory storage device 415, a 512-megabyte RAM memory storage device serving as volatile memory 420, an operating system (such as Linux) stored on the memory storage device 415 and running in the volatile memory 420, peripherals implementing a clock / timer 460, and a power supply serving as a power interface 470.

[0218] Similar to the short-range interface 375 in ID node 120a, the exemplary master node 110a includes a short-range communication interface 480 as a programmable radio and omnidirectional antenna coupled to the processing unit 400. In some embodiments, the short-range communication interface 480 may have variable RF power characteristics, such as receiver sensitivity and / or RF output signal power levels. In some embodiments, the interface 480 may use antennas with different antenna distributions when directivity may be desired. Examples of the short-range communication interface 480 may include (not shown) additional hardware for operatively coupling a device to a specific short-range communication path (e.g., a Bluetooth® Low Energy (BLE) connection path communicating at 2.4 GHz). While BLE is used to enable a short-range communication protocol in one embodiment, the variable-power short-range interface 480 can be implemented using other low-power short-range communication protocols, such as ultra-low power communication protocols used with ultra-wideband pulse radio communication, the ZigBee protocol, the IEEE 802.15.4 standard communication protocol, etc.

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

[0220] In addition to the short-range communication interface 480, the exemplary master node 110a includes a medium- and / or long-range communication interface 485 to provide a communication path to the server 100 via network 105. In one embodiment, the communication interface 485 may be implemented using a medium-range radio in the form of an IEEE 802.11g compliant WiFi transceiver. In another embodiment, the communication interface 485 may be implemented using a longer-range radio in the form of a cellular radio. In yet another embodiment, both the WiFi transceiver and the cellular radio may be used when best available or according to priority (e.g., if the WiFi transceiver is available due to potentially lower cost, it may be tried first; and if it is not available, the cellular radio may be relied upon). In other words, as an alternative to the medium-range WiFi transceiver radio, or when the medium-range radio is unavailable to the connectivity infrastructure radio within network 105, the embodiment may rely on the longer-range cellular radio portion of the interface 485. Therefore, in these embodiments, the neutral and / or long-distance communication interface 485 can be used to transmit captured node information (e.g., profile data 430, association data 440, shared data 445, sensor data 450, and location data 455) to the server 100.

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

[0222] The clock / timer 460 of the master node 110a typically provides one or more timing circuits used in applications such as time delay, pulse generation, and oscillator. In embodiments where the master node 110a saves power by entering a sleep or hibernation state for a predetermined period of time as part of an overall power-saving technique, the clock / timer 460 assists the processing unit 400 in managing timing operations.

[0223] Alternatively, embodiments may also implement the master node 110a as including one or more sensors 465 (as well as sensor nodes deployed on ID-based nodes and the above regarding...). Figure 3 (The described sensors are similar). Additionally, embodiments of master node 110a may also provide a user interface 405 to indicate status and allow basic interaction for reviewing captured node data and interacting with nodes and server 100. In one embodiment, user interface 405 may provide a display, interactive buttons or soft keys, and indicating devices to facilitate interaction with the display. In a further embodiment, a data input device may also be used as part of user interface 405. In other embodiments, user interface 405 may take the form of one or more lights (e.g., status lights), audible input and output devices (e.g., microphones and speakers), or a touchscreen.

[0224] As previously mentioned, exemplary master nodes such as master node 110a may be located in 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 itself or independently. In other embodiments, alternative circuitry and techniques may be used 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 BeiDou system), terrestrial radio-based positioning systems (e.g., cell tower-based or WiFi-based systems), infrared positioning systems, visible light-based positioning systems, and ultrasonic-based positioning systems.

[0225] Regarding memory storage device 415 and volatile memory 420, both are operatively coupled to processing unit 400 in exemplary master node 110a. The two memory components provide program elements used by processing unit 400 and maintain and store data elements accessible to processing unit 400 (similar to possible data elements stored in memory storage device 315 and volatile memory 320 in exemplary ID node 120a).

[0226] exist Figure 4 In the embodiment shown, memory storage device 415 maintains various executable program codes (e.g., master control and management code 425), data similar to that held in memory storage device 315 of the ID node (e.g., profile data 430, security data 435, associated 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 related to the location of a particular node). Like memory storage device 315, memory storage device 415 is a tangible, non-transient computer-readable medium on which information (e.g., executable code / modules, node data, sensor measurements, etc.) can be maintained in a non-volatile and non-transient manner.

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

[0228] Main control & management code

[0229] Generally, embodiments of the master control and management code 425 are a collection of software features implemented as general control of 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 announcement and query (scan) 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 aspects of power consumption and RF output signal power and / or receiver sensitivity for variable short-range communication; (4) an association manager focusing on how nodes are associated with other nodes; and (5) a location awareness / capture module for determining node locations.

[0230] Master node program module and ID node module

[0231] In the exemplary embodiment, the program modules (1)-(4) of the master node control and management code 425 are generally as described above regarding Figure 3 The similarly named program modules (1)-(4) of the described node control and management code 325 have the same function. Furthermore, since node control and management code 325 also includes an air transport mode program module, those skilled in the art will appreciate and understand that master node control and management code 425 may also include a similarly functional air transport mode program module to allow for advantageous operation of the master node during air transport. However, and consistent with the examples illustrated below, such modules in the master node may have some differences when compared to those modules controlling the ID node.

[0232] Position awareness / capture module

[0233] In addition to the exemplary program modules (1)-(4) of code 425, exemplary embodiments of master node control and management code 425 will further include an exemplary location-aware / capturing module (more generally referred to as the master node's location manager module) associated with node locations. Generally, the exemplary location-aware / capturing module deployed in the exemplary master node can determine its own location and, in some embodiments, the location of connected nodes. In determining the node locations of other nodes, embodiments of the exemplary location-aware / capturing module may work in conjunction with location manager program code residing and operating in the server (e.g., as part of server control and management code 525), as discussed in more detail herein.

[0234] In one embodiment, the master node may be located in a known, fixed location. In such an embodiment, an exemplary node sensing / capturing module may sense that the master node's location is a known, fixed location, which may be defined in a fixed, preset, or pre-programmed portion of the memory storage device 415 (e.g., information maintained in location data 455 in the memory storage device 415). Examples of such location information may include conventional location coordinates or other descriptive details identifying the master node's location. In another embodiment where the master node may not always inherently possess a known or fixed location (e.g., for a mobile master node), the exemplary location sensing / capturing module may communicate with positioning circuitry, such as GPS circuitry 475 on the master node, to determine the master node's current location.

[0235] In this embodiment, the location of the master node can be transmitted to a server, which can use this location information as part of managing and tracking nodes in the wireless node network. For example, if the exemplary master node is moving and has already determined a new current location using positioning circuitry 475, the master node can provide this new current location to the server. Additionally, when the exemplary location sensing / capture module of the master node determines the location of a node associated with the master node, the master node can also provide the server with the location of that associated node.

[0236] server

[0237] Although Figure 3 and 4 The illustrations depict the hardware and software details of an exemplary ID node and an exemplary master node, respectively. Figure 5More detailed diagrams are provided of an exemplary server that functions as part of an exemplary wireless node network according to embodiments of the present invention. In an exemplary embodiment, server 100 may be referred to as an Association and Data Management Server (ASMS), which manages nodes, collects information from nodes, stores information collected from nodes, maintains or has access to contextual data related to the environment in which the nodes are operating, and can provide requesting entities with information about the nodes (e.g., status, sensor information, etc.). Further details regarding various embodiments utilizing this functionality are explained below. Those skilled in the art will appreciate that node density, geographical installation characteristics, and network connectivity are all types of examples of factors that can influence the desired final architecture of an embodiment of the wireless node network.

[0238] Now for reference Figure 5 The exemplary server 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 may also be capable of connecting to or interacting 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 may use a single processor or may be implemented as one or more portions of a multiprocessor component that communicate with devices such as user access devices 200, 205 and wireless nodes such as master node 110a.

[0239] Generally, those skilled in the art will further appreciate that server 100 can be implemented as a single computing system, a distributed server (e.g., a single server for a single server-related task), a hierarchical server (e.g., a server implemented using multiple levels, wherein, depending on the implementation, information can be maintained at multiple different levels and tasks can be performed at different levels), or a server farm that logically allows multiple different components to act as a single server computing platform device from the viewpoint of client devices (e.g., devices 200, 205, or master node 110a). In some regional deployments, where information collected in different regions may include and be subject to different regulatory controls and requirements implemented on the respective regional servers, exemplary servers may include servers dedicated to a specific geographic region.

[0240] Similarly, although in Figure 5The embodiment shown illustrates a single memory storage device 515, but the exemplary server 100 may deploy more than one memory storage medium. Furthermore, the memory storage medium can be various non-transient forms (e.g., conventional hard disk drives, solid-state storage such as flash memory, optical drives, RAID systems, cloud storage configurations, network storage devices, etc.).

[0241] At its core, Figure 5 The exemplary server 100 shown includes a processing or logic unit 500 coupled to a network interface 590, which facilitates and enables operable connections and communications via network 105 with one or more master nodes and, in some embodiments, with user access devices such as devices 200, 205. In one embodiment, server 100 may include a neutral and / or long-distance communication interface 595 utilized thereto for more direct communication with one or more master nodes. Using these communication paths, as well as program code or program modules (such as server control and management code 525), server 100 generally operates to coordinate and manage information associated with ID nodes as items associated with ID nodes physically move from one location to another.

[0242] As a computing platform, the processing unit 500 of the exemplary server 100 is operatively coupled to a memory storage device 515 and a volatile memory 525, which together store and provide various executable program codes (e.g., server control and management code 525), data similar to data held in the corresponding memory storage device of the master or ID node (e.g., profile data 530, security data 535, associated data 540, shared data 545, sensor data 550, location data 555, etc.), and contextual data 560 related to the environment in which the node is operating (e.g., information generated within the wireless node network and information created outside the wireless node network).

[0243] Like memory devices 315 and 415, memory device 515 is a tangible, non-transient computer-readable medium on which information (e.g., executable code / modules (e.g., server control and management code 525), node-related data (e.g., profile data 530, security data 535, associated data 540, location data 555, etc.), measurement information (e.g., types of shared data 545, sensor data 550, etc.), and information about the node's context (e.g., context data 560)) can be maintained in a non-volatile and non-transient manner.

[0244] Those skilled in the art will appreciate that the identification of specific program code and data above is not exhaustive and that embodiments may include further executable program code or modules as well as other data relating to the operation of processing-based devices such as ID nodes, master nodes, and servers.

[0245] Context data

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

[0247] Within the context database 565, an exemplary embodiment may maintain a collection of context data 560 generally relating to an environment in which a node is operating or is expected to operate. More specifically, the context data 560 may generally relate to what similar nodes have already experienced in similar environments, to what a given node is currently experiencing or is expected to experience as the given node moves.

[0248] In a typical example, the environment in which a node may actually or is expected to operate can include different types of environments—for example, an electronic communication environment (e.g., an RF environment, which may be cluttered with signals or include materials or structures that may impede or otherwise shield RF communication), a physical environment (e.g., temperature, humidity, security, and other physical characteristics) of the expected path along which the identified node moves, a transportation environment (e.g., the speed and other parameters of trucks, airplanes, transport systems), and a density environment (e.g., how many nodes are expected to occupy such an area as a specific node). Figure 22A The structure 2200 shown in the diagram is a channel (corridor), or storage facility, through which a specific ID node is expected to be transported on its shipping path.

[0249] Depending on these different aspects of the node's operating environment, exemplary context data 560 can provide information related to different structures and conditions concerning the movement of items (e.g., specific types such as delivery equipment, vehicles, facilities, shipping containers, etc.). Such information can be generated by entities operating a wireless node network, such as shipping companies. Additionally, exemplary context data 560 can include third-party data generated outside the wireless node network. Therefore, according to embodiments of the invention, context data such as data 560 can generally include various data relating to the environment in which the node is operating and can be used to advantageously provide enhanced node management capabilities.

[0250] Generally speaking, Figure 5 The illustration shows an exemplary type of context data 560 maintained in database 565 and volatile memory 520. Those skilled in the art will appreciate that, in addition to or instead of maintaining context data 560 in a database, such information can also be maintained in other data structures. For example, in... Figure 5 As illustrated in the figure, the exemplary type of context data 560 may include, but is not limited to, scan data 570, historical data 575, shipping data 580, layout data 585, RF data 587, and third-party data.

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

[0252] Historical data 575 generally refers to previously collected and / or analyzed data related to common characteristics. Historical data 575 embodies operational knowledge and know-how regarding specific characteristics relevant to the operation of a wireless node network. For example, common characteristics could be specific events (e.g., the movement of items from an open-air environment to a specific enclosed environment such as a building), the type of item (e.g., the type of package, the type of content being shipped, its location, shipping route, etc.), the success rate for a particular item (e.g., successful shipments), etc. Another example of historical data 575 could include processing information associated with how items have historically been processed as they move from one location to another (e.g., when moving within a specific facility, processing information could indicate that the item is on a specific transport aircraft and could include information about the transport aircraft (such as speed and the expected duration the item will remain on the aircraft)).

[0253] Shipment data 580 is generally data related to an item being moved from one location to another. In one embodiment, shipment data 580 may include a tracking number, content information for the item being shipped, address information related to the origin and destination locations, and other characteristics of the item being moved.

[0254] Layout data 585 is generally data associated with physical areas of one or more portions of a planned path. For example, embodiments of layout data 585 may include architectural schematics and physical dimensions of portions of buildings in which nodes may be transporting goods. Embodiments may further include density information associated with the physical areas to be traversed and the anticipated numbers of potential nodes in those areas as type layout data. In another example, embodiments of layout data may include configurations of how groups of packages can be assembled on pallets and placed in shipping containers (e.g., unit loading devices (ULDs)) that facilitate the movement of collections of goods in various forms using single-modal or intermodal transport.

[0255] RF data 587 is generally information about signal degradation in a single-path environment for a specific type of node and may involve specific adverse RF conditions that can cause signal fluctuations, interference, or other degradation from an alternative optimal signal path environment for that type of node. For example, RF data may include shielding effects when using specific packaging or locations, shielding effects when wrapped in a specific type of container or assembled as a palletized shipment, shielding effects when specific contents are shipped, and other physical and electronic interference factors.

[0256] Third-party data 589 is an additional type of contextual data 560, which generally includes data generated outside the network. For example, third-party data may include weather information associated with specific areas that an item will pass through as it moves along a planned path from one location to another. Those skilled in the art will appreciate that other types of third-party data can also be considered contextual data 560, relating to the physical and environmental conditions that an item moving from one location to another will face.

[0257] The use of context data such as the context data 560 described above advantageously helps server 100 better manage the movement of items, provide better location determination, enhance the 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 the operation of the wireless node network. In one embodiment, server control and management code 525 may provide the functionality to enable the wireless node network to be context-aware and responsive.

[0258] Server control & management code

[0259] Generally, server control and management code 525 controls the operation of exemplary server 100. In embodiments, server control and management code 525 is a set of software features implemented as programming functions or individual program modules in code that generally controls the behavior of server 100. Therefore, exemplary server control and management code 525 can be implemented using a number of 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 node manager that enhances the management of nodes in a wireless node network based on context data; (3) a security manager that manages secure pairing aspects of node management; (4) a node update manager that provides updates or different programming for specific nodes and shares information with nodes; (5) a location manager for determining and tracking the location of nodes in the network; and (6) an information update manager that maintains (services) requests for information related to the current state of nodes or generally provides information about nodes or information collected from nodes.

[0260] Server-side association manager

[0261] The server-side management manager (also known as the server-side association management function), typically the program module in Exemplary Code 525, is responsible for intelligently managing nodes in a wireless node network using a secure information framework. In embodiments, this framework can be implemented as a context-driven learning sensor platform. The framework also enables the secure sharing of information (such as RF scans, location, date / time, and sensor data) across nodes, the alteration of node behavior, and how a node knows it has been "missed." 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. Further information regarding specific embodiments of such an association management framework and method is explained in more detail below.

[0262] Context-based association manager

[0263] A context-based node manager, typically a program module as shown in Exemplary Code 525, is responsible for incorporating context data as part of management operations to provide an enhanced data foundation upon which node visibility can be provided. In some embodiments, the context-based node manager may be implemented as part of a server-side association manager, while in other embodiments, it may be implemented as a separate program module.

[0264] 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), which provides information about the conditions and environment surrounding an item and ID node moving from one location to another. Such contextual data (e.g., network expertise, building layout, and operational knowledge of nodes and shipping paths used with the wireless node network) can provide enhanced building blocks that allow server 100 to manage the tracking and location of nodes within a robust and rich contextual environment. In this embodiment, context-based management provides visibility into the system through data analysis of when and how associations should be expected as a node traverses the wireless node network. In other embodiments, it can provide a foundation for better understanding RF signal degradation, which can be caused by the operational environment, packaging, package contents, and / or other factors associated with the item and its ID node.

[0265] Security Manager

[0266] A security manager module helps associate two nodes in a wireless node network by managing the secure pairing of nodes. This security manager module can be implemented independently or as part of the association manager module in exemplary server control and management code 525. 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 wishes to connect to another node, the embodiment requires that appropriate pairing credentials be generated by a server, provided to the node, and observed within the node to account for the node's successful connection or association.

[0267] In operation, a node (such as master node 110a) identifies the address of a node (such as ID node 120a) to which it wishes to connect. Using this address, the node prepares a pairing request and sends it to server 110. Server 110 operates under the control of the security manager module of the association manager and determines whether the requesting node should connect to or otherwise associate with other points. If not, the server does not issue the requested security credentials. If so, and according to the desired association management paradigm set by the association manager of code 525, the server provides the requested credentials, which are necessary for successful wireless pairing and the establishment of secure communication between the associated nodes.

[0268] Node Update Manager

[0269] The exemplary server control and management code 525 may include a node update manager module that provides updated programming information to nodes within the wireless node network and collects information from such nodes (e.g., shared data 545, sensor data 550). The node update module may be implemented separately or as part of the association manager module in the exemplary server control and management code 525.

[0270] Providing updates to the programming of nodes can facilitate and enable the distribution of node functionality to save power and better manage nodes as a system. For example, one embodiment can change the functional responsibilities of different nodes by relying on context or associations, temporarily offloading responsibility for a specific function from one node to another. Typically, the server directs other nodes to change their functional responsibilities. However, in some embodiments, the master node can direct other nodes to change their functional responsibilities.

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

[0272] Location Manager

[0273] Exemplary server control and management code 525 may include a location manager module that helps determine and track node locations. In a general embodiment, a node's location 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 (e.g., using location information determined by one or more technologies implemented as part of code 525), and by the combined efforts of the master node and the server.

[0274] Generally, an exemplary ID node can determine its actual physical location directly or indirectly by relying on the master node. Embodiments may use one or more methods to determine node location. For example, and as described in more detail below, possible methods for determining node location may involve controlling the node's RF characteristics (e.g., RF output signal level and / or RF receiver sensitivity level), determining relative proximity, taking into account association information, adjusting location for contextual information and the RF environment, chained triangulation, and hierarchical and adaptive methods combining various positioning methods. Further information and examples of how an exemplary location manager module can determine node location based on such exemplary techniques are provided in more detail below.

[0275] Furthermore, those skilled in the art will appreciate that it is also possible to determine what constitutes an actionable location relative to the actual location based on contextual information about the item being tracked. For example, a larger item may require relatively lower location accuracy than a smaller item, making it easier to make operational decisions and state updates using contextual knowledge. If the size of the item is known, the location accuracy can be tuned accordingly. Therefore, if a larger item will be tracked, or if the system's contextual awareness allows for the use of lower location accuracy, a stronger signal and thus a wider scanning area can be employed, which can help in situations where RF interference or shielding is a problem.

[0276] Information Update Manager

[0277] 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. Such information may be provided in response to a request from a device outside the wireless node network, such as user access device 200. For example, someone shipping goods might query the current status of the goods via their laptop or smartphone (a type of user access device), which would connect to server 100 and request such information. In response, the information update manager module can serve such a request by determining which node is associated with the goods, collecting status information related to the goods (e.g., location data, etc.), and providing the requested information in a targeted, timely, and useful form to the querying entity.

[0278] In another example, a user access device can connect to server 100 and request specific sensor data from a specific node. In response, the information update manager can collaborate with the node update manager and provide the collected sensor data 545 to the user access device upon request.

[0279] Node Filter Manager

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

[0281] In one example, the "local" mode can be defined where the ID node only communicates with the last wireless node contacting the server 100 and / or where third-party data indicates the location of the assigned master node and ID node in terms of physical and wireless proximity, and is managed by the assigned master node. Therefore, in the "local" mode for service filtering, only the assigned master node transmits and processes information from the approximately nearby and assigned ID nodes.

[0282] Moving to a less restrictive filtering mode, the "regional" filtering mode can be defined, where the ID node can communicate from the location indicated by the last report back to server 100 and / or by third-party data, and is managed by any master node. Therefore, in the "regional" mode for business filtering, any master node near the ID node can transmit and process information from that ID node. This can be useful, for example, when it is desirable to implement restrictions on associations and pairings within a specific facility.

[0283] In the least restrictive filtering mode, the "global" filtering mode can be limited to substantially system-wide communication, where ID nodes can be allowed to communicate and managed by any master node. In other words, the "global" mode of service filtering allows any ID node within the wireless node network to transmit information through a specific master node located near the ID node, which can transmit and process information from that ID node.

[0284] Therefore, using such an exemplary filtering pattern, an ID node under certain conditions (e.g., adverse environmental conditions, unfavorable conditions of a node, etc.) can signal the need to bypass any filtering mechanism in locations where "alert" status flags are used to help manage communication and association. In such an example, this would operate to override any filtering rules set at the master node level, allowing the ID node to be "discovered" and connected to another node.

[0285] Therefore, the exemplary server 100 is operable when executing code 525 and having access to the types of data described above to manage nodes, collect information from nodes, store information collected from nodes, maintain or have access to context data related to the environment in which the nodes are operating, and provide information about the nodes (e.g., status, sensor information, etc.) to requesting entities.

[0286] Node communication & association examples

[0287] To better illustrate how exemplary management and communication principles can be implemented within an exemplary wireless node network Figure 8-12 The document provides several examples of how exemplary components of a wireless node network can generally transmit (announce & scan), associate, and exchange information during different types of operation in various embodiments. Figure 22A -C also provides a more detailed application of such exemplary association and communication activities when the exemplary ID node moves along a transport path (e.g., through a channel) and is tracked and managed by different master nodes and servers in the embodiments.

[0288] Example of node notification cycle

[0289] As explained in general above, a node can have several different types of advertised states, where it can be connectable to and communicate with other nodes. Furthermore, as a node moves within a wireless node network, its advertised and connected states can change as it unassociates itself with previously connected nodes, associates with new nodes, or finds itself unassociated with other nodes. In some cases, a node may be fine and may not connect to or associate with another node during normal operation. However, in other cases, if a node has not connected to any other node for a very long period, it can potentially become lost. Thus, a node can experience different types of advertised states under these different operational conditions.

[0290] Generally, a node can exist in a state where it cannot connect to other nodes for a certain period of time (also known as the unconnectable interval). Later, in another state, the node may want to be connected and similarly announce for a defined connectable period (also known as the connectable interval). When a node announces it is connectable, it can expect to be connected at some point. In other words, there may be selectable time periods within which a node expects to connect to another node. However, if a node is not connected to another node within that time period (called the alert interval), the node may need to take specific or urgent actions depending on the situation. For example, if a node has not connected to another node for 30 minutes (e.g., the example alert interval), the node may internally change its operation to "more diligently" search for other nodes to connect to. More specifically, a node can change its status flag from alert level 0 (no problem, normal operation) to alert level 2 to request acknowledgment from any available master node for receipt of the announcement packets broadcast by the node seeking connection.

[0291] Figure 8 This is a diagram illustrating an exemplary notification state (or information exchange and node connectivity state) according to an embodiment of the present invention and the factors involved in the transition between states of an exemplary ID node in a wireless node network. Referring now to... Figure 8 Three exemplary states for a node are illustrated as part of an exemplary node announcement cycle—namely, ID node unconnectable announcement state 805, ID node discoverable announcement state 815, and ID node general announcement state 830. The transitions between these states will depend on factors related to the expiration of the type of interval described above. In embodiments, the duration of each of these intervals will depend on the system implementation and the context in which the ID node is operating. Such time intervals can, for example, be set by server 100 as part of data (e.g., profile data, associated data, context data) provided to the node during node updates and management operations.

[0292] Reference Figure 8 In the example illustrated, the exemplary ID node might have an alert interval set at, for example, 30 minutes, and might be in an ID node non-connectable announcement state 805 with a non-connectable interval set at 5 minutes. In state 805, the ID node can broadcast or announce, but is not connectable and will not receive SCAN_REQ messages (a type of request for more information sent from another node to the announcing node). Therefore, in this example, the ID node in state 805 could announce in a non-connectable manner for at least 5 minutes but expect to be connected within 30 minutes.

[0293] If the reminder interval has not yet expired (factor 810) and the unconnectable interval is still running (factor 825), the ID node simply remains in state 805. However, if the reminder interval has not yet expired (factor 810) and the unconnectable interval has expired (factor 825), the ID node will enter a mode in which it wants to attempt to connect to another node for a period of time (e.g., a 1-minute connectable interval) and will move to... Figure 8 In an exemplary advertising cycle, the ID node typically advertises state 830. In state 830, as long as the connectable interval is running, the ID node remains in that state where it can connect to another node and will receive requests of type SCAN_REQ from other nodes in response to advertising packets being broadcast by the ID node. However, when the connectable interval (e.g., a 1-minute period) elapses or expires (factor 835), the ID node returns to the non-connectable advertising state 805 for the next non-connectable interval to elapse (and the ID node again attempts to connect in state 830) or to alert that the interval has finally elapsed (and the ID node finds itself in a situation where, despite its efforts to connect in state 830, it has not yet connected to another node).

[0294] When the reminder interval finally expires (factor 810), the ID node moves to ID node discoverable announcement state 815. Here, the ID node is still not connectable but will receive a SCAN_REQ type request from another node in response to a broadcast packet being broadcast by the ID node. In state 815, an exemplary ID node can change its status flag to indicate and reflect that its reminder interval has expired and the node is no longer in normal operation. In other words, the ID node can change its status flag to the type of reminder state being broadcast to indicate that the ID node urgently needs to connect to another node. For example, depending on whether the node needs to upload data (e.g., reminder level 3 state) or synchronize timers or other data with another node (e.g., synchronization state), the status flag of the announcement packet broadcast by the ID node can be changed to one of the higher reminder levels. In the case of this change in status flags and the ID node broadcasting in state 815, the ID node waits to receive a request from another node that has received the broadcast and is requesting more information via a SCAN_REQ message (factor 820) sent from that other node to the ID node. Once the SCAN_REQ message has been received by the ID node (factor 820), the ID node, which has entered alert mode because it has not yet connected to another node during the alert interval, can connect to that other node, upload or share data as needed, and then move back to state 805 and restart the alert interval and disconnectable interval.

[0295] Example of associating a master node with an ID node

[0296] Announcements (broadcasts) and scans (listening) are ways in which nodes can communicate during association operations. Figure 9-12 Examples of how network elements (e.g., ID nodes, master nodes, and servers) in a wireless node network can communicate and operate when connected and associated are provided as part of several exemplary wireless node network operations.

[0297] Figure 9 This is a diagram illustrating exemplary components of a wireless node network during an exemplary master-to-ID node association according to an embodiment. Referring now to... Figure 9 An exemplary master node M1 910a is illustrated within the communication range of an 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., by “M1... scan The ID node A 920a is in the announcement or broadcast mode (e.g., by "A") in the label indication) and in the broadcast or broadcast mode (e.g., by "A"). adv In the example, master node 910a of M1 has captured the address of ID node A 920a through an announcement in at least one announcement data group of A, and has reported it to server 900. In this way, the capture and reporting operations effectively create a “passive” association and proximity-based custody control between nodes. Such associations can be recorded in a server such as server 900 as part of association data such as association data 540.

[0298] 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, refer to... Figure 9 In the embodiment shown, server 900 can instruct master node M1 910a to associate, connect, or otherwise pair with ID node A 920a, and forward required security information (e.g., PIN credentials, security certificates, keys) to master node M1 910a. Depending on the announcement state of ID node A 920a, ID node A 920a may only be visible (discoverable) but not connectable. In such a case, master node M1 910a must wait until ID node A 920a is in a connectable state (e.g., the ID node's general announcement state) and can be paired. (Refer to the above...) Figure 8 As discussed, each ID node has a certain time window during each period in which it can be paired or connected.

[0299] In this example, when ID node A 920a successfully pairs with master node M1 910a, ID node A 920a may stop advertising its address. By default, only unassociated devices will advertise their addresses. Paired or associated nodes will only advertise their addresses if instructed to do so.

[0300] Example of associating a master node with an ID node

[0301] In various embodiments, an ID node may be associated with or connected to other ID nodes. Figure 10 This is a diagram illustrating exemplary components of a wireless node network during exemplary ID-to-ID node association according to an embodiment of the present invention. Referring now to... Figure 10 For example, master node M1 910a, ID node A 920a, and server 900 are as follows: Figure 9 The arrangement is similar to that shown, but with the addition of ID node B 920b, which is within communication range of ID node A 920a. In this example, ID node A 920a is listening for query (scan) patterns of ID node B 920b (e.g., A...). scan It runs in the context of ID node A920a. When ID node A920a detects an announcement from ID node B920b that includes one or more announcement data packets as part of an announced message (e.g., B...), ID node B920b announces... adv When ID node A 920a connects to master node M1 910a, it identifies a status flag based on a message indicating that ID node B 920b has data for uploading, such as sensor data 530. Therefore, ID node A 920a logs the scan results (e.g., as type associated data 340), and when it subsequently connects 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. Such a passive association can be recorded in server 900 as part of associated data 540.

[0302] In another embodiment, the passive association between two ID nodes can be extended to an "active" association or connection. For example, refer to... Figure 10In the embodiment shown, based on captured status flags and information about uploads to ID node B 920b in this mode, server 900 can send an active request to ID node A 920a via master node M1 910a to connect or pair with ID node B 920b for the purpose of downloading information from ID node B 920b. In one example, security credentials authorizing the active connection between ID node A 920a and ID node B 920b are downloaded from master node M1 910a to ID node A 920a, which receives the security credentials from server 900. In another example, the necessary security credentials have already been pre-prepared at ID node A 920a. And instead of relying on ID node-to-ID node connections, master node M1 may connect directly to ID node B 920b if M1 is within communication range of ID node B 920b.

[0303] Example of querying information from ID node to master node

[0304] An exemplary ID node can also issue queries to other nodes, namely both the master node and the ID node. Figure 11 This is a 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. Referring now... Figure 11 , such as in Figure 9 The nodes shown in the diagram exhibit similar group appearances, except that the exemplary master node M1 910a is in announcement or broadcast mode (e.g., M1). adv In the scan mode (e.g., A 920a), the ID node A is in scan mode. scan In this configuration, ID node A 920a can query information from master node M1 910a. 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 held by master node M1 910a.

[0305] In the passive association example, in A scan In this model, ID node A 920a may have already captured the address of master node M1 910a. However, because the ID node cannot directly connect to server 900 to request pairing security credentials (e.g., security PIN information that authorizes the active connection between ID node A 920a and master node M1 910a), a passive association and corresponding pairing will be initiated from the master node. In another example, it might be possible for ID node A 920a to store pairing credentials as security data 335 based on the previous connection. This would allow ID node A 920a to then initiate an active association with master node M1 910a after the passive association.

[0306] Example of alert level notification

[0307] As previously mentioned, in one or more embodiments a node may enter an alert phase or level. For example, if a node has not yet received confirmation from the master node for an announcement group within a set time period (e.g., an alert interval as described in some embodiments), the node will enter a specific alert phase for a more specialized announcement, allowing it to be "discovered" or passalong the information. Figure 12 This is a diagram illustrating exemplary components of a wireless node network during an exemplary alert notification mode according to an embodiment of the present invention. Referring now to... Figure 12 , such as in Figure 9 The diagram shows a similar group of nodes, plus another master node (master node M2 ​​910b) and another ID node (ID node B 920b). The exemplary ID node A920a is in announcement or broadcast mode (e.g., A...). adv In the scan mode (e.g., M1), each of nodes M1, M2, and B is in the scan mode (e.g., M1). scan M2 scan B scan In ) . In such Figure 12 In the example and configuration shown, the status flag in the announcement message from ID node A 920a has been set to a specific alert level (e.g., alert level 2) in the message header, requesting acknowledgment from any nearby master node. In one example, ID node A 920a can enter this mode if it has not yet connected to another node for a set period or time. In another example, ID node A 920a can enter this specialized announcement mode based on received instructions (e.g., from server 900 or another nearby node) or triggered conditions (other than time), such as when sensor input (e.g., light) is detected or otherwise registered, and when the node issues continuous updates to its address as a security feature. ID node A 920a, set at this alert level and in this specialized announcement mode, is therefore set to an active pairing mode, awaiting pairing credentials.

[0308] From a passive association perspective, any node in the scanning mode can be passively associated with such announcing node (e.g., ID node A 920a in this alert mode). Therefore, in the embodiment, the alert level 2 status flag in the announcement header broadcast by ID node A 920a indicates that urgent and active intervention is requested, rather than passively associating only in the absence of an active connection.

[0309] From a proactive association perspective, security credentials from server 900 can be forwarded to any node that uploads the special announcement header for ID node A 920a. This takes into account the fact that nodes receive such credentials to proactively associate or pair with ID node A 920a.

[0310] Although Figure 8 Examples of how nodes can announce are provided, and Figure 9-12 Examples are provided of how different exemplary devices (e.g., ID nodes, master nodes, and servers) can announce and associate in different ways, but Figure 22A -C provides a progressive set of diagrams detailing how association and disassociation can be applied within an exemplary wireless node network. More specifically, Figure 22A -C illustrates how association and deassociation can occur when an ID node moves through an exemplary delivery path, and when the exemplary ID node is tracked and managed by a server and different master nodes, according to an exemplary embodiment of the present invention.

[0311] Now for reference Figure 22A Structure 2200 is shown having entrance and exit points. In one example, structure 2200 may be a passageway or another part of a building or facility. In another example, structure 2200 may be a transport system that transports items and their ID nodes from the entrance point to the exit point. Master node M1 2210a is located near the entrance point of 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 arranged at additional points in structure 2200, but are not shown for convenience and to simplify the subsequent explanation of association switching. Server 100 is operatively connected to each of master nodes M1 2210a and M2 2210b via network 105.

[0312] In one embodiment, server 100 has access to contextual data 560 associated with structure 2200, such as layout data 585 regarding the dimensions and materials of the constituent structures 2200. Contextual data 560 may include historical data 575 regarding how ID nodes have been operated and successfully tracked as they traverse structure 2200 from an entry point to a point of presence. For example, server 100 may have contextual data indicating that structure 2200 is a transport vehicle capable of transporting items and their ID nodes from an entry point to an exit point over a distance of 800 feet. The contextual data may further indicate that a typical item moves at a certain speed on the transport vehicle of structure 2200 and that the nominal time from the entry point to the exit point may be approximately 5 minutes. Therefore, server 100 has access to contextual data regarding the environment in which ID nodes are operating and can utilize this to manage ID nodes better and more accurately.

[0313] exist Figure 22A In the example, ID node A 2220a is shown entering structure 2200 at the entry point. Here, ID node A 2220a can announce its entry into structure 2200 with a desired connection to the master node, for example, a 10-second inaccessible interval and a 5-second connectable interval. In this example, server 100 knows that ID node A 2220a is near the entry point and expects ID node A 2220a to be approaching master node M1 2210a at the entry point. Therefore, server 100 can accordingly set the connectable and inaccessible intervals, thus providing ID node A 2220a with ample opportunity to connect to the next master node along the predicted path of the ID node and according to the speed of travel.

[0314] Furthermore, in this context, server 100 can set the alert interval to 1 minute. Here, if ID node A2220a is not connected to another node within 1 minute, ID node A2220a can use a message to broadcast or announce a change in alert status, allowing ID node A2220a to connect to a wider range of other nodes that see it as urgent for ID node A2220a to connect and be substantially discovered. Depending on the context (e.g., the type of transport aircraft, the speed of the transport aircraft, the density of nodes near the entry point, etc.), those skilled in the art will appreciate that server 100 can adjust the announcement period interval to better adapt to the current environment of the ID node.

[0315] While master node M1 2210a is scanning (listening), it can initially detect advertisement packets from ID node A 2220a during node A's non-connectable interval. However, when ID node A 2220a changes its advertisement state and broadcasts as a connectable node in a normal advertisement state (i.e., during the connectable interval), master node M1 2210a can respond with a SCAN_REQ, which acknowledges receipt of the broadcast message and requests further 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 notify the server of its passive association with ID node A 2220a. Server 100 determines whether an active association is desired and can authorize the active association between master node M1 2210a and ID node A 2220a by sending security credentials to master node M1 2210a, which allows nodes to securely connect and share information. Furthermore, the master node M1 2210a can determine the location of the ID node A 2220a (or the server 100 can do so by instructing the master node M1 and / or the ID node A), and provide the location of the ID node A 2220a to the server 100. Therefore, the server 100 is able to manage and track the location of the ID node A 2220a when it enters the structure 2220 via at least the association.

[0316] exist Figure 22B In this context, ID node A 2220a maintains its association with master node M1 2210a by traversing the transport path passing through node 2200. However, at some point, master node M1 2210a and ID node A 2220a disassociate under the guidance of server 100 (or when they may no longer communicate). In one example where ID node A 2220a is on a transport within structure 2200, server 100 may instruct ID node A 2220a to switch to a low-power mode for a specific period of time to, for example, conserve ID node power. In another example, low-power mode may also provide better positioning accuracy. Because server 100 has access to contextual data, server 100 can know that ID node A 2220a is associated with master node M1 2210a near the entry point at a given time, and determine that ID node A 2220a will not be near the exit point until the end of the specific period of time. When ID node A 2220a is programmed in this way, once a specific period of time has elapsed, ID node A 2220a should be close to the exit point and can be placed back into normal operating mode so that it can seek a connection with master node M22210b.

[0317] Similar to the association process discussed regarding ID node A and master node M1, ID node A 2220a and master node M2 ​​2210b can be associated when ID node A 2220a approaches master node M2 ​​2210b near the exit point. Once connected, the node location and association data are updated on server 100. And as ID node A 2220a continues to move through structure 2200, as in... Figure 22C As shown, ID node A 2200a can reach the exit point, where the node location and associated data are updated again on server 100.

[0318] Those skilled in the art will appreciate how this principle can be applied to the further movement of the ID node when it switches between other master nodes (e.g., via active / passive association and disassociation) and when these associations and node locations are kept tracked on server 100. Furthermore, because server 100 tracks and monitors association, disassociation, and contextual operations, server 100 essentially learns how to better utilize contextual information, better track nodes, manage the power used by the ID node, and enhance location accuracy.

[0319] Those skilled in the art will also appreciate the general trade-off between RF power levels and location accuracy. If a node's RF power level is set high, it can advertise to and connect to other nodes over longer distances. However, with such a high power level setting, the system's ability to distinguish between different nodes and locate them can be challenging.

[0320] Association management within the wireless node network

[0321] As generally explained above, node management can rely on associations created and tracked between nodes. In some embodiments, the relied-upon associations can be active associations, where the server explicitly authorizes active connections between nodes. In other embodiments, the relied-upon associations can be passive associations, where a master node (the type of managing node) associates with other nodes but does not actively connect to them. With passive associations, the server may be able to maintain tracking and management of other nodes without requiring active associations. Therefore, those skilled in the art will appreciate that, in yet another embodiment, associations relied upon by the server for managing a wireless node network can include both active and passive associations and can generally be authenticated or more specifically authorized for secure connections that provide a degree of protection for the connection and communication using that connection.

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

[0323] Now for reference Figure 23 Method 2300 begins at step 2305 by identifying the first node as a potential for actively associating with the second node. In one example, identifying the node for association may involve reviewing messages sent by the first node to determine state information associated with the first node, and analyzing the state information to determine whether the first node should associate with the second node. In a further example, the state information may include one of several different state levels indicating whether the first node is requesting a connection to the second node at that particular state level.

[0324] Next, in step 2310, the association request is transmitted to the server. In one example, the association request may identify the first and second nodes to be associated and may request the transmission of one or more appropriate security credentials (e.g., PIN credentials, security certificates, keys, etc.) as part of the association. These one or more appropriate security credentials may be used by the nodes to enable the first and second nodes to securely connect and share data. 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 a challenge. For example, if the ID node is challenged, the ID node may send a response authorization credential, allowing the master node to acknowledge the response and supply the ID node with the appropriate security credentials for the authorized association. In some cases, the ID node may already have such a response authorization credential (also commonly referred to as a key) supplied by the server.

[0325] At step 2315, the second node receives a license response from the server related to the association request. In this example, the license response may include receiving a first license credential and a second license credential (which may be stored on the node) from the server. Thus, the first and second license credentials can be created by the server as a type of secure data and can be provided to authorize connections between the first and second nodes and to securely share information between them.

[0326] Using this authorization from the server, the first node can be associated with the second node at step 2320. In one example, method 2300 can associate the nodes by establishing an authorized connection from the second node to the first node based on authorization credentials. Furthermore, method 2300 can securely provide shared data between the first and second nodes based on a profile created by the server after associating the first and second nodes.

[0327] In an embodiment, method 2300 may further include assigning responsibility for the task to a second node after the second node has been associated with the first node, when responsibility for the task was previously assigned to a 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 could advantageously shift responsibility to a node better suited to perform the task (e.g., with more available power or a power source that does not require recharging or replacement).

[0328] Figure 24 This is a flowchart illustrating another example method for association management of a wireless node network from the server's perspective, according to an embodiment of the present invention. Now refer to... Figure 24 Method 2400 begins at step 2405 with the server receiving an association request from the second node in the node set. The association request requests permission to associate the first node with the second node.

[0329] At step 2410, the server determines the positions (actual or relative) of the first node and the second node. In one embodiment, the server may receive position data for the second node. For example, when the second node is the master node, the position data for the second node may be GPS coordinates of the master node's current position, which the second node provides to the server. Furthermore, in another embodiment, the server may determine the position of the first node using at least one of a plurality of positioning methods available to the server for locating the first node, such as those discussed in detail above (or combinations of such methods that allow for a more refined determination of the first node's position).

[0330] At step 2415, the server determines whether it expects to associate the first node with the second node, at least based on the locations of the first node and the second node. In one embodiment, the expectation of association can be determined by determining whether the association is expected based on context data. In another embodiment, the expectation of association can be determined by identifying a current filtering pattern that restricts the potential nodes to be associated and granting permission to associate the first node with the second node only if the current filtering pattern allows the association. For example, this could involve granting permission only if the current filtering pattern limits the second node to a location range of the first node consistent with the current filtering pattern. This can be defined by a specific filtering pattern, such as a local, regional, or global filtering pattern that operates to restrict nodes that can be associated with other nodes. Thus, the method can change the current filtering pattern to another filtering pattern that allows the first node to associate with the second node as a transcendence of the current filtering pattern (e.g., depending on the alert status of the first node).

[0331] At step 2420, the server records new association data if it expects to associate the first node with the second node at step 2420. At step 2425, the server transmits a response to the second node, granting permission to associate the first node with the second node. In an embodiment, the server may first generate authorization credentials that authorize the connection between the first and second nodes and the sharing of information between them. This can be done by looking up credential information or by going through a process of creating specific authorization credentials that allow the two nodes to proactively pair up and share data. Using the authorization credentials, the server can transmit them as responses.

[0332] In another example, if the server anticipates that the second node will disassociate from the first node and later request to associate with the third node, the server can pre-prepare authorization credentials associated with the second and third nodes. This could be done, for example, if the context indicates that the second node (e.g., the master node) can be placed in a container and will need to connect to the third node in the future if the second node might lose its connection to the server.

[0333] Method 2400 may further include the server receiving shared data from the second node. The shared data may originate from the first node or may have portions originating from both the first and second nodes. For example, the second node may have already received permission to associate and actively paired with the first node in a secure manner. The first node may have indicated that it has data to upload (e.g., sensor data), and the second node may receive the data from the first node. Following this sharing, the second node can upload the shared sensor data from the first node by transmitting it to the server.

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

[0335] More specifically, programmable profiles can be used to establish, track, and modify responsibilities for certain tasks. For example, in one embodiment, the server can establish a profile specifying how long task responsibilities will change. In some cases, the profile can define the time period during which a node with that profile will have responsibility for a task before responsibility for that task reverts to a default node. In another example, a node (such as a master node) can have default condition triggers that allow it to exceed such a profile, preventing it from assuming additional responsibility under certain conditions (such as low-power conditions or when it cannot communicate with the server).

[0336] Furthermore, the embodiment may have a master node that determines which other nodes can assume responsibility for certain tasks. This can be helpful in situations where access to the server can be restricted (e.g., in an air transport environment). However, managing such a profile may be easier to accomplish in other embodiments with easier access to more types of context data at the server level.

[0337] In this embodiment, association management is implemented as a system. An exemplary system for association management in 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 longer-range communication path between the second node and the server.

[0338] The server includes a server processing unit, a server volatile memory coupled to the processing unit, and a third communication interface, the third communication interface providing a longer communication path between the server and the second communication interface of the second node.

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

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

[0341] 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 have been associated and based on a shared profile provided by the server. The shared profile may define the types of information that will be securely shared between specific nodes.

[0342] When executing a second program code segment residing in the server's volatile memory, the server processing unit is operable to determine the locations of the first node and the second node, determine, at least based on the locations of the first node and the second node, whether it is desired to associate the first node with the second node, store new association data in the server's volatile memory if it is desired to associate the first node with the second node, and transmit an authorization response to the second node, the authorization response granting permission to associate the first node with the second node.

[0343] 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 has successfully associated with the first node. For example, when the second node is powered by an external power source and the first node is powered by a battery, the system can be managed more efficiently and effectively by redistributing tasks (especially those 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.

[0344] In another embodiment, the server processing unit may be further operable to set a restriction on the current filtering mode of potential nodes to be associated, and to grant permission to associate the first node with the second node only if the current filtering mode allows the first node to be associated with the second node. In a further embodiment, the server processing unit may be further operable to change (e.g., exceed) the current filtering mode to a different filtering mode. In this way, the server can adapt how nodes are managed and allow the first node to be associated with the second node if desired, such as when the first node is in an alert state level and urgently requests a connection to a larger group of nodes than is allowed in the current filtering mode.

[0345] Although Figure 23 and 24 The exemplary method illustrated in the diagram focuses on active association, but Figure 25 This is a flowchart illustrating an example method for association management in a wireless node network having at least multiple nodes and a server according to the present invention, but this is from the viewpoint of a node that will be passively associated with another node. Now refer to... Figure 25 Method 2500 begins at step 2505 with the second node receiving a message broadcast from the first node. At step 2510, the second node captures the address of the first node from the message. In step 2515, the first node is associated with the second node by storing the captured address of the first node and the address of the second node as associated data in the second node's memory. At step 2520, the second node transmits the associated data to the server.

[0346] At a certain point, when the second node does not receive additional messages broadcast from the first node, the second node can update the server using updated association data. For example, the second and first nodes may maintain an association and secure connection for a period of time, but eventually the first node may move, making the connection no longer feasible, or the first node may move closer to another node along its intended path (e.g., from the entrance point of the structure along the intended loading path of a transport aircraft within the structure, but now closer to the exit point). Because the first node is moving on the transport aircraft, it can move closer to another node near the exit point and be better managed through association with that other node near the exit point. Therefore, the updated association data reflects the disassociation of the first and second nodes.

[0347] Method 2500 may further include enabling the second node to determine the location of the first node and updating the server using the current location of the second node and the determined location of the first node. Additionally, method 2500 may include receiving location information from the server that specifies a refined location for the first node.

[0348] In an embodiment where passive association management is implemented as a management node (e.g., a master node) in a wireless node having at least one other node and a server, such an exemplary management node includes a processing unit, first and second communication interfaces each coupled to the processing unit, volatile memory coupled to the processing unit, and memory storage means coupled to the processing unit. The first communication interface provides a first communication path to other nodes, can receive messages broadcast from other nodes, and provides messages to the processing unit. The second communication interface provides a second communication path to the server.

[0349] The memory storage device can hold 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 the module's instructions, the processing unit is operable to receive messages from a first communication interface, capture the address of another node from the messages, store the captured address of the other node and the address of the management node as part of the association data in the memory storage device, and transmit the association data to the server through a second communication interface.

[0350] In one example, the memory storage device also maintains the location manager module, and when the processing unit also loads the location manager module into volatile memory and executes the instructions of the module, the processing unit is operable to determine the location of other nodes, determine the current location of the management node (e.g., via GPS positioning signals), and update the server using the current location of the management node and the determined locations of other nodes.

[0351] The management node can be further operable to update the server with updated association data when no additional messages are received from other nodes on the first communication interface. The updated association data reflects the disassociation of other nodes from the management node.

[0352] Context management within a wireless node network

[0353] As explained above, node management can rely on the node's context. For example, in... Figure 5As shown, server 100 has access to a variety of different context data 560. According to embodiments of the invention, context data such as data 560 can include a variety of data generally relating to the environment in which nodes are operating and can be used to advantageously provide enhanced node management capabilities. Thus, the use of such context data provides a data foundation in embodiments that allows the server to better and more efficiently perform management tasks related to nodes in the network, and to adjust such tasks to take into account the relevant context data when nodes move within the network (e.g., an ID node moves from its origin to its destination along a planned or predicted shipping path with shipped goods). For example, the server can leverage its ability to rely on the relevant context data to advantageously change how it instructs node operation, how it associates nodes with other nodes, how it can better locate nodes, and how it can more efficiently track and respond to requests to report node locations.

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

[0355] In one embodiment, 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, server 100 may access context data 560 (which may be maintained in a context database 565) to determine portions of context data 560 relating to the operating environment of ID node A 2220a. In this example, such context data 560 may include shipping data related to shipped items connected to ID node A 2220a, scan data regarding when items connected to ID node A 2220a were scanned upon entering structure 2200, historical data regarding how long it took for the node to traverse a transport vehicle positioned within structure 2200, and layout data regarding the dimensions of structure 220. Those skilled in the art will appreciate that context data may include operating environment information created within the wireless node network or operating environment information created by a third party (e.g., weather information relating to the operating environment of ID node A 2220a).

[0356] While the server determines contextual data related to the operating environment of the identified node in one embodiment, in a more detailed embodiment such a current or expected operating environment of the node may include one or more types of environments. For example, the current or expected operating environment of the node may include an electronic communication environment, a physical environment along the expected path the node will move along, a transportation environment related to how the node moves, and a density environment related to the node density in the area near the specific node identified by the server.

[0357] Returning to step 2610, the determination step may involve determining contextual data relating to the expected operating environment of the identified node when the identified node moves toward the location of another node in the predicted path. In another example, the determination step may involve determining contextual data relating to the expected operating environment of the identified node and the expected operating environment of the other node when the identified node moves toward another node in the predicted path in response to a desired association with another node.

[0358] At step 2615, the server performs management tasks related to the identified node, taking into account determined context data. When the determined context data (such as RF signal degradation information) indicates that no adjustment is actually needed when performing the task, no adjustment is made, taking into account the determined context data. Therefore, those skilled in the art will appreciate that adjustments can be made as needed based on context and are not always required.

[0359] In one embodiment, performing a management task may generally include instructing an identified node to change its operation based on determined context data. For example, server 100 may perform a management task instructing ID node A 2220a to change its connectable and disconnectable intervals when it approaches master node M1 (which server 100 knows from context data, such as scan data generated when node A enters structure 2200). Thus, in this example, server 100 is able to leverage the enhanced visibility of ID node A 2220a based on context data and advantageously change node A's operation to increase the node's chances of successfully associating with master node M1 2210a.

[0360] In other embodiments, performing management tasks may include associating an identified node with another node, subject to adjustments based on determined context data to change association parameters. In other words, context data can be helpful as part of associating nodes. In one example, association parameters may include at least one changing time interval, such as an alert interval or connectability interval, related to associating the identified node with another node. These intervals are parameters that can be changed as part of adjustments made by the server when associating two nodes and, for example, setting the interval to a more appropriate time duration to enhance the opportunity and timing for nodes to proactively pair and securely share data on demand.

[0361] In another embodiment, performing management tasks may include locating the identified node in the event of adjustments to power settings based on determined context data. In one example, power setting adjustments are made to the master node that communicates directly with the server. In another example, power setting adjustments may be made to an ID node whose operational adjustment information is relayed 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). Adverse conditions may be, for example, an unfavorable RF communication environment in which structural weakening or otherwise hinders normal RF communication. In another example, adverse conditions may be a highly dense cluster of nodes near the identified node.

[0362] 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 following in the operating environment of the first node: packaging, package contents, nearby packages, nearby package contents, and physical infrastructure. For example, if the identified node is located near a metal container, it is operating in an adverse RF communication environment in which it may have an increased output power level based on the context data to better handle adverse shielding conditions.

[0363] In another embodiment, performing management tasks may include providing the location of the identified node in response to a request received by the server relating to the status of the identified node. For example, if server 100 receives a request from user access device 205 regarding the status of ID node A 2220a, server 100 may provide that the location of node A is within structure 2200, but refined to be near the entrance of the structure, taking into account adjustments to context data such as scan data relating to items shipped with node A 2220a.

[0364] Those skilled in the art will appreciate that the method 2600, as disclosed and explained above in various embodiments, can be implemented in, for example, in Figure 5 and 22A On the server 100 illustrated in the figure, one or more portions of server control and management code 525 (e.g., a context-based node manager) run. Such code may be stored on a non-transitory computer-readable medium, such as memory storage device 515 on server 100. Therefore, when code 525 is executed, the server's processing unit 500 may be operable to perform operations or steps according to the exemplary methods disclosed above, including method 2600 and variations thereof.

[0365] Node location determination method

[0366] As part of managing and operating a wireless node network according to one or more embodiments of the present invention, performing actions such as tracking... Figure 22A -C ID node A 2220a, determining the node's location. As explained above, an exemplary ID node may rely directly or indirectly on the parent node to determine its location. In the embodiments discussed and described herein, the node's location can generally include its current or past location. For example, if the node is not moving, an embodiment for determining the node's location might be its current location, but if the node is moving, it might be necessary to determine that location as a past location.

[0367] Similarly, the term "location" alone can include a position with varying degrees of precision. For example, a location can include an actual location with defined coordinates in three-dimensional space, but the use of the term "location" can also include a relative location only. Therefore, the term "location" is intended to have a general meaning unless explicitly limited to a more specific type of location.

[0368] Node location can be determined by the master node alone, the server alone, or the master node working with the server. Furthermore, for such devices, embodiments may use one or more methods to determine and further refine the node's location. Such example methods may include, but are not limited to: determining node location 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 location for contextual information and the RF environment, chained triangulation, and hierarchical and adaptive methods combining various positioning methods. A more detailed description of these exemplary node location determination techniques is provided below.

[0369] Positioning by proximity

[0370] In one embodiment, signal strength measurements between two or more nodes can be used to determine the proximity of the nodes. If the actual locations of the nodes are not known, one embodiment can infer the positional relationship between the two nodes based on proximity.

[0371] Approximity when changing power characteristics

[0372] For example, an exemplary method for determining the location of a node in a wireless node network may involve altering the power characteristics of the node, such as the output power of one of the nodes. Generally and as referenced... Figure 13 As explained, power characteristics can be altered to identify the closest nodes among the nodes broadcasting to the node. A broadcasting node may transmit one or more signals, and other nodes may report receiving one or more of these signals. Those other nodes that receive at least one signal broadcast from the transmitting node can be considered part of a nearby group of nodes. And when the power characteristics are altered (increased or decreased, or both), the closest group (or individual node) of a node can be identified as the smallest group of nodes among those that receive at least one signal from the broadcasting node. Thus, while not absolute, the type of location of a broadcasting node can be determined based on the closest one or group of nodes. This can be repeated for adjacent nodes to produce a set of closest node information for each of the nodes. More specifically, an exemplary set of closest node information for each of the nodes may include which nodes are the closest (via the lowest power characteristics) and robustly supplement this information with which other nodes are progressively further away (via increasingly larger power characteristics). Therefore, the set of closest node information provides a basis for determining how close nodes in a network are to each other, providing a type of location determination for each node.

[0373] Additionally, in some embodiments, contextual data can be referenced to further enhance the determination of how close the nodes are to each other. For example, combining the set of information about the closest nodes with contextual data, such as scan information registered when items change custody controls in a delivery system, can further refine how the location of the nodes is determined. Scans and other contextual information will help determine whether one or more of the nodes are known, for example, to be in the same container, vehicle, or moving together on a conveyor belt. Therefore, this type of contextual data can be integrated into the further step of refining how close the nodes are to each other based on contextual data.

[0374] Generally, when the power characteristics of a node change or vary in a wireless node network, the location of the node can be determined based on proximity. Figure 28 This is a flowchart illustrating an exemplary method for determining the location by altering the power characteristics of nodes in a wireless node network according to an embodiment of the present invention. Referring now to... Figure 28 Method 2800 begins at step 2805 by instructing one or more signals broadcast to the first node in the instruction nodes to change the power characteristics. In a more detailed embodiment, such instructions may cause the first node to incrementally decrease or incrementally increase the power characteristics (such as the output power level) between values.

[0375] At step 2810, method 2800 continues by identifying a first group of other nodes in the wireless node network near 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 its power characteristics. In a further embodiment, step 2810 may incrementally identify which nodes in the first group of other nodes are receiving at least one of the broadcast signals when the first node incrementally changes the output power level of the broadcast signal. The incrementally identified nodes may be considered as a set of nodes that are incrementally closer to the first node.

[0376] At step 2815, method 2800 continues as follows: identifying the closest one or more of the other nodes as the closest group of other nodes that receive at least one of the one or more signals broadcast by the first node when the first node changes its power characteristics.

[0377] At step 2820, method 2800 terminates by determining the position of the first node pair based on one or more of the closest other nodes. Therefore, when power characteristics are changed, the group of nodes that have received at least one signal broadcast by the first node can change, and the smallest such group is the group of nodes closest to the first node (even if only one node). In a more detailed embodiment, step 2820 may include determining the position of the first node based on one or more of the closest other nodes and the set of nodes incrementally closer to the first node when the incrementally close set of nodes provides more detailed proximity information for refined position determination.

[0378] For example, refer to Figure 14 The set of nodes that are incrementally closer to ID node F 920f can include the farthest node M3 and M1, which is closer than M3. When the power characteristic of ID node F decreases incrementally and its output power level changes from P1 to P2, M3 may stop receiving signals, but M1 and M2 will still receive signals. And when the power characteristic of ID node F continues to decrease incrementally and its output power level changes from P2 to P3, M1 may stop receiving signals, but only M2, as the last of the nodes closest to ID node F, will receive signals. Therefore, in this example, the location of ID node F can be determined based on the fact that M2 is the closest node and the set of incrementally closer nodes includes M1 and M3, where M1 is closer than M3.

[0379] In another embodiment, one or more further refinements to the location of the first node can be performed. In one example, steps 2805-2820 can be repeated if a second node is instructed to change its power characteristics for one or more signals broadcast by the second node, and then method 2800 can further refine the location of the first node based on the location of the second node. In a more detailed example, steps 2805-2820 can be repeated if a second node is instructed to change its power characteristics for one or more signals broadcast by the second node, and then method 2800 can further refine the location of the first node based on the location of the second node and a set of nodes incrementally close to the second node. Utilizing this incrementally cross-related information about which nodes are closer to other nodes and to what extent, this can be further repeated for additional nodes, and embodiments can further refine the location of the first node within the network.

[0380] Method 2800 may further include determining context data associated with the first node and refining the position of the first node based on the context data. In an embodiment where the power characteristic is the output power level, the incremental change in the output power level of the broadcast signal in steps 2805-2815 can be set according to the context data.

[0381] Method 2800 can also determine contextual data associated with the node closest to the first node and refine the location of the first node based on this contextual data. In yet another example, method 2800 can determine contextual data associated with nodes incrementally identified in a set of nodes incrementally close to the first node and refine the location of the first node based on this contextual data. For example, the set of closest nodes and incrementally close nodes may have scan data indicating that they are within the same container. This exemplary contextual data can be used to further refine the location of the node being located, which can help efficiently determine the proximity of the node to the container. Thus, those skilled in the art will appreciate that contextual data for the node being located and the nodes identified as being close to it can provide relevant input to advantageously help further refine the location of the node.

[0382] Those skilled in the art will appreciate that the method 2800, as disclosed and explained above in various embodiments, can be implemented in, for example, in Figure 5 and 22AOn the server 100 illustrated in the figure, one or more portions of server control and management code 525 (e.g., a location manager) run. Such code may be stored on a non-transitory computer-readable medium, such as a memory storage device 515 on server 100. Therefore, when code 525 is executed, the server's processing unit 500 may be operable to perform operations or steps according to the exemplary methods disclosed above, including method 2800 and variations thereof.

[0383] Embodiments of such server equipment may include a server (such as server 100) operable to communicate with multiple nodes in a wireless node network. (See also: Regarding...) Figure 5 As explained, a server typically includes a server processing unit, server volatile memory, server memory storage device, and at least one communication interface. In this embodiment, each of the volatile memory, memory storage device, and communication interface is coupled to the processing unit. The memory storage device at least maintains program code segments and location data associated with the location of one or more nodes. The communication interface provides a communication path that operatively couples the server to the nodes.

[0384] The server processing unit mentioned above is operable when running program code segments to perform the steps and operations described above relative to method 2800 and its variants.

[0385] Proximity when observing signal patterns and intensities over a time period

[0386] In another embodiment, an improved method for determining the location of a node by proximity may include analyzing signal patterns and strengths between announcing and listening nodes. In one embodiment, the ability to locate a node (e.g., an ID node) to another node (e.g., a master node) can be improved by setting a threshold for association based on observed message counts and / or recorded signal strengths over a specific time period. In some embodiments, the observed message counts may be implemented as an average count over repeated time periods. Further still, other embodiments may filter outlying observations in the observed dataset to help improve the quality of the data on which the threshold for association settings relies and thus determine the node's location.

[0387] In a more detailed example, an improved method for determining node location through proximity can be illustrated by showing the count of captured announcement messages as a component used for node localization and determining the direction of node movement. In this example, two example master nodes (e.g., master nodes M1 910a and M2 910b) can capture announcement messages from an ID node (e.g., ID node A 920a). Master node M1 can observe and capture (e.g., record information related to the observation) 60 messages from ID node A within a 2-minute time period, while master node M2 ​​observes and captures only 7 announcement messages from ID node A within the same time period. Based on the difference in how frequently master node M1 observes messages from ID node A compared to those observed by master node M2, the system is able to determine that ID node A is closer to the master node and that it is a known location.

[0388] In a further embodiment, comparing the average timestamps of captured records allows the system to make a more accurate determination of location. For example, if the average number of captured messages found on master node M2 ​​is increasing (e.g., taking longer for messages to travel from ID node A to master node M2), this indicates that ID node A is moving away from master node M2. If the average number of captured messages found on master node M2 ​​is increasing while the average number of captured messages found on master node M1 is decreasing, this indicates that ID node A is moving away from master node M2 ​​and towards master node M1. Therefore, the location of a node can also be enhanced or refined by relying on changes in message timing (transmission to reception) over multiple observation time periods.

[0389] In another embodiment, the observed signal strength can be a component in determining the location and estimating the direction of travel, allowing the system to make a more accurate determination of location. For example, two master nodes (M1 910a and M2 910b) may be capturing notification messages from a node (ID node A 920a). M1 captures 60 messages from ID node A within 2 minutes, while M2 captures only 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 will determine that ID node A is at M1, but the predicted path may indicate that ID node A is moving 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, server 900 expects the message count and average signal strength from ID node A to increase for observations at M2 and decrease for observations at M1 over an observation period (2 minutes) as ID node moves physically closer to M2 and further away from M1. Therefore, the observed power levels and the frequency with which changes in messages are observed can indicate the actual node movement in the embodiment.

[0390] Making node proximity localization and node orientation determination based on signal patterns and characteristic strengths observed over a time period has the advantage of reducing the possibility of unwanted and spurious signal anomalies that could lead to incorrect determination of the ID node's location. Furthermore, the exemplary methods described above for determining node location, as part of refining the node's movement characteristics (e.g., moving closer to one node, moving closer to one but further away from another, etc.), can be applied in conjunction with the various embodiments described herein for determining node location.

[0391] Figure 27 This is a flowchart illustrating an exemplary method for proximity positioning of nodes in a wireless node network based on signal patterns and characteristic indications observed over a time period, according to an embodiment of the present invention. Referring now to... Figure 27 Method 2700 begins at step 2705 by instructing the first and second other nodes to detect any messages broadcast from a node over a time period. This time period can be set based on various factors such as context information. More specifically, the time period can be dynamically changed based on context data as a node moves to a different context.

[0392] Method 2700 causes the server to receive 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 the location of the node at step 2720 based on the difference between the first and second indications.

[0393] The first indication relates to the characteristics of a message broadcast from a node that is detected by a first other node during the time period. Similarly, the second indication relates to the characteristics of a message broadcast from a node that is detected by a second other node during the time period. These indications may include, for example, the count of messages received by the respective other nodes, delivery time factors (e.g., the average delivery time for messages that will be detected after broadcast), and average signal strength.

[0394] In one embodiment, the first indication may be a first count of messages broadcast from a node detected by a first other node during the time period, and the second indication may be a second count of messages broadcast from a node detected by a second other node during the time period. Thus, when the first count is greater than the second count, determining the location of a node may involve determining that it is closer to the first node than the second other node. Additionally, method 2700 may further include determining the actual direction of node movement for a node based on comparing the first count with the second count over multiple time periods. For example, method 2700 may repeatedly observe and track the first and second counts over time over several of these time periods to determine which is increasing and which is decreasing, and determine the movement of a node based on these measurements over time.

[0395] 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 direction of node movement can be based on a comparison of the first and second time factors. In a more detailed embodiment, the first time factor may be the average delivery time of messages detected at the first other node from one node to the other node, and the second time factor is the average delivery time of messages detected at the second other node from one node to the other node. Thus, determining the location of a node can be done when the first time factor is less than the second time factor, indicating that the node is closer to the first other node than the second other node.

[0396] In another embodiment, the first indication may be a first average signal strength of a message broadcast from a node detected by a first other node during the time period, and the second indication may be a second average signal strength of a message broadcast from a node detected by a second other node during the time period. Thus, determining the location of a node may be that its location is closer to the first other node than the second other node when the first average signal strength is greater than the second average signal strength.

[0397] In an embodiment, method 2700 may further include observing the degree of change in the first average signal strength and the degree of change in 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 in the first average signal strength with the degree of change in the second average signal strength.

[0398] In another embodiment, method 2700 may further refine the determined location of a node. In this embodiment, method 2700 may further include refining the location of a 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 moving master node and it is the closer of two nodes to the node being located, the embodiment may utilize positioning signaling onboard to the first other node that provides the current location of the first other node. This current location data may be transmitted by the first other node to the server to update the server in its calculation of the location of a node.

[0399] In another embodiment, method 2700 may use determined locations to layer context data to refine the location of nodes. Context data associated with a node may be determined by the server, and thus the location of a node may be refined based on this context data. In another example, when comparing the location of a node, the context data is associated with the closer of a first other node and a second other node. For example, the server may perceive that a particular master node is closer to a node than a second master node, and that the particular master node is inside a container. Using this additional context data associated with the particular master node, the server may refine the location of a node based on the context data. When refining the location of a node, other exemplary types of associated context data may be relied upon, such as context data of a specific shield associated with the environment near the particular master node (e.g., a particular type of ULD with known RF shielding characteristics, etc.).

[0400] Additionally, method 2700 may involve observing whether a node is functioning as expected. More specifically, a further embodiment of method 2700 may further compare a node's location with a node's predicted path to determine whether a node is outside the predicted path. This allows the server to use learned historical data when creating the predicted path and to maintain tracking of a node within an acceptable range associated with that predicted path. The method may also generate notification of whether a node is outside the predicted path. In this way, actionable tasks can then be taken to locate a node—for example, changing filtering mode options for nodes within that general area.

[0401] Those skilled in the art will appreciate that the method 2700, as disclosed and explained above in various embodiments, can be implemented in, for example, in Figure 5 and 22A On the server 100 illustrated in the figure, one or more portions of server control and management code 525 (e.g., a location manager) run. Such code may be stored on a non-transitory computer-readable medium, such as a memory storage device 515 on server 100. Therefore, when code 525 is executed, the server's processing unit 500 may be operable to perform operations or steps according to the exemplary methods disclosed above, including method 2700 and variations thereof.

[0402] Correlation-driven localization using variable RF characteristics

[0403] As mentioned above, signal strength measurements between two or more nodes can be used to determine the relative distance between nodes. If one of the nodes (such as the master node M1 910a) has a known location, the relative positions of one or more nodes within range of the node at the known location are generally a function of how accurately the system can determine the distance between the node with the known location and its associated nodes. In other words, embodiments can identify the relative positions of an item and its associated nodes by relying on the variable low-power RF output signal driven by the association to determine the distance of a node from a known location.

[0404] Determined by the location of the master node announcement.

[0405] As generally mentioned above, determining the location of a node can involve controlling the RF characteristics of the node (e.g., RF output signal level and / or RF receiver sensitivity level), and more specifically, can involve controlling aspects of the master node's announcements. Figure 13 This is a diagram illustrating exemplary location determination using master node announcements according to an embodiment of the present invention. Figure 13In the embodiment illustrated in the figure, a master node such as master node M1 910a with a known location is broadcasting and announcing messages at varying RF output power levels. Figure 13 The illustrations show different exemplary RF output power levels, such as concentric ranges 1305-1315 for the master node M1910a. Therefore, the master node M1910a can broadcast at the maximum power P1 associated with range 1305, but can control the RF output power level and dynamically change it to P2 to broadcast over a smaller range 1310, or to P3 to broadcast over an even smaller range 1315.

[0406] In the illustrated embodiment, the receiving ID nodes AE 920a-920e are in query (scan) mode, and each can use the received signal at different levels to determine how far it is from the transmission M1. Those skilled in the art will appreciate that, although in Figure 13 The illustrated embodiment shows all receiving nodes as ID nodes, but other embodiments may allow receiving nodes to be primary or ID nodes or a mixture of both.

[0407] exist Figure 13 In an exemplary embodiment, the location of node AE ​​can be determined based on the known location of master node M1 910a. This location is determined by adding a range measurement to each of the respective receiving nodes AE when it last received a signal from node M1 and factoring in a confidence factor for the range measurement, based on the variable RF signal power. Depending on the quality of the range measurement, individual receiving nodes may or may not have separately calculated locations. In another embodiment, if third-party or contextual data, such as scanning information, is available, such data can be used as an additional confidence factor to determine a refined location. As the communication range of M1 is restricted from P1 to P3, the accuracy of positioning via association increases.

[0408] exist Figure 13 The illustrated example illustrates an exemplary method for determining node location using master node announcements. First, when the available power short-range communication interface 480 of master node M1 is set to P1 at its maximum output, master node M1 910a is seen by each of the ID nodes AE 920a-e. Based on analysis or historical measurements, the outdoor performance (optimal range) of M1's variable power short-range communication interface 480 at the P1 power level may have previously been found to be approximately 30 feet. Therefore, without needing to review the RSSI levels from individual ID nodes AE 920a-e and without requiring an active calibration phase, the system can know that ID nodes AE are within 30 feet of master node M1 910a.

[0409] Next, when the variable power short-range communication interface 480 of master node M1 is set to P2, at the medium output level in this example, master node M1 is seen by nodes A and B. Based on previous analysis or historical measurements, the optimal range (per user performance) of the variable power short-range communication interface 480 of master node M1 operating at the P2 power level has been determined to be approximately 15 feet. Therefore, without needing to examine the RSSI levels from individual nodes, we know that ID nodes A 920a and B 920b are within 15 feet of master node M1. Furthermore, we know that ID nodes (e.g., ID nodes C 920c, D 920d, and E 920e) that are no longer receiving broadcast RF signals from master node M1 910a are somewhere within 30 feet of master node M1 910a, but possibly more than 15 feet away from M1.

[0410] Furthermore, when the master node M1's variable power short-range communication interface 480 is set to P3, its minimum output level in this example, it is seen by the ID node B 920b. Based on previous analysis or historical measurements, the outdoor performance (optimal range) of the master node M1's variable power short-range communication interface 480 operating at the P3 power level has been determined to be approximately 5 feet. Therefore, without needing to examine the RSSI level from the individual ID node, we know that the location of the ID node B 920b is within 5 feet of the known location of the master node M1 910a.

[0411] The ranging steps, as discussed in the example above, can then be repeated for any of the identified nodes to build a more accurate picture of the relative position of each node. The granularity of the RF characteristic settings (e.g., RF output signal power level settings) will provide more granular localization differences when performing the ranging steps. In one embodiment, the ranging steps can be performed on a total set of RF characteristic settings (e.g., several settings over a wide range), and similar steps can then be performed on a more refined range of RF characteristic settings.

[0412] Figure 29 This is a flowchart illustrating an exemplary method for location determination using one or more associations of nodes in a wireless node network according to an embodiment of the present invention. Referring now... Figure 29Method 2900 begins at step 2905, where the 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 the optimal distance for the first node. For example, assuming a clear environment, the radio in the first node's communication interface can have a maximum setting to allow the node to broadcast at maximum range. Such a setting provides a known expected range distance. Figure 13 In the example, master node M1 910a can broadcast at a maximum power level P1 reaching a first expected range distance from node M1. However, if node M1 is known to be in an adverse RF shielding environment, the first expected range distance can be an adjusted distance to take into account the context of such shielding (e.g., a type of context data). The expected range distance can be adjusted based on one or more types of relevant context (e.g., one or more types of context data related to how the RF output signal from the node might be blocked).

[0413] At step 2910, method 2900 identifies which of the nodes associated with the first node receive at least one of the first messages. In one embodiment, the first node may be able to access and review associated data in its onboard memory as a marker of which nodes are part of 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) or an active association (e.g., actively paired and able to securely connect and share data) or a combination of both types of association.

[0414] Next, at step 2915, the first node broadcasts one or more second messages at a second expected range distance, the second expected range distance being incrementally smaller than the first expected range distance. Figure 13 In the example, the master node M1 910a can be the first node and is currently broadcasting at a moderate power level P2, reaching a second expected range distance from node M1. By incrementally changing the RF power level in this way, the master node M1 910a can no longer reach the same level as before. Figure 13 The node CE is shown in the image.

[0415] At step 2920, method 2900 terminates by determining the location of one or more 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 a first and a second expected range distance from the first node. Again, in Figure 13In the example, master node M1 910a can determine the location of node CE (assuming they do not receive messages broadcast at RF power level P2 outside the second expected range distance) between a first expected range distance (when master node M1 broadcasts at power P1) and a second expected range distance (when master node M1 broadcasts at power level M2) from the known location of master node M1.

[0416] In one embodiment, method 2900 may further cause the first node to broadcast one or more third messages at a third expected range distance (a range incrementally smaller than the second expected range distance), and determine the location of one or more 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 at a second expected range distance from the first node. Again, in Figure 13 In the example, by incrementally changing the power level downwards to P1 and broadcasting a third message at a expected range distance for that P1 level, the master node M1 can determine the location of node A (when node A receives the second message but not the third message) approximately close to the expected range distance for P2 from the location of the master node M1.

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

[0418] Furthermore, in some embodiments, the refined location of associated nodes can be transmitted to the server. This provides updates to the server and helps track and manage the locations of nodes in the network. Again, refer back. Figure 13 For example, master node M1 910a can use such a method to locate the position of associated nodes, such as ID nodes AE 920a-920e, and update server 100 with this new location data related to the current position of node M1 and any of the nodes associated with node M1.

[0419] Those skilled in the art will appreciate that on a node (e.g., a location-aware / capture module) running one or more parts of the main control and management code 425, the main control and management code 425 can be implemented. Figure 4 The master node 110a in Figure 13 The master node M1 910a or Figure 22A The method 2900, as disclosed and explained above in various embodiments, is implemented on the master node M1 (2210a). Such code can be stored on a non-transitory computer-readable medium, such as a memory storage device 415 on the master node 110a. Therefore, when the code 425 is executed, the processing unit 400 of the master node can be operable to perform operations or steps according to the exemplary methods disclosed above, which include method 2900 and variations thereof.

[0420] In another embodiment, a node device in a wireless node network is described using location determination via association, as described in the steps associated with method 2900. As mentioned above, the node device may be implemented using a master node, which has a node processing unit, node volatile memory, node memory storage device, and first and second communication interfaces. Each of the memory and communication interface is coupled to the node processing unit. Further, the node memory storage device maintains at least program code segments, association data, and location data, and sometimes shipping information. The first communication interface provides a first communication path operatively coupling the node to a plurality of other nodes in the network, while the second communication interface provides a second communication path operatively and independently coupling the node to a server in the network.

[0421] In this embodiment, the node processing unit is operable to transmit one or more first messages via a first communication interface over a first expected range distance, and to identify which of the other nodes associated with the first node receive at least one of the first messages. In one embodiment, the node processing unit may be operable to access associated 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 association) receive at least one of the first messages.

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

[0423] The node processing unit is also operable to transmit one or more second messages via the first communication interface at a second expected range distance (incrementally smaller than the first expected range distance) and to determine the location of one or more identified associated nodes that did not receive any of the second messages but received at least one of the first messages. The location is between the first expected range distance from the node's known location and the second expected range distance from the node's known location. In a further example, the node processing unit may be operable to store the determined location in a node memory as part of the location data.

[0424] The node processing unit is also 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 to determine the location of one or more 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.

[0425] In another embodiment, the nodes may be mobile, and the node processing unit may be further operable to refine the locations of one or more identified associated nodes that did not receive the second message but received 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., by checking the node's onboard positioning circuitry for valid GPS signals and locking the location based on such signals), and based on the current mobile location of the first node, refine the locations of one or more identified associated nodes that did not receive any of the messages in the second message but received at least one of the first messages. The node processing unit may also be operable to transmit the refined locations to a server via a second communication interface.

[0426] Determined by the location of the ID node announcement

[0427] Although Figure 13 An example of location determination via master node announcements is provided, but Figure 14 The focus is on location determination via ID node announcements. Specifically, Figure 14 This is a diagram illustrating exemplary location determination using ID node announcements according to an embodiment of the present invention. Figure 14 In the embodiment illustrated in the diagram, the exemplary ID node F 920f is in announcement mode but has no known location. Figure 13 Same, Figure 14The illustration shows exemplary different RF output power levels from ID node F 920f, as concentric ranges 1405-1415 of ID node F 920f. Therefore, ID node F 920f can broadcast at the maximum power P1 associated with range 1405, but can control the RF output power level and dynamically change it to P2 and broadcast to a smaller range 1410, or change it to P3 and broadcast to even smaller ranges 1415. Master nodes M1-M3910a-910c are arranged in various known locations near ID node F 920f, which has unknown locations. In this way, ID node F 920f can utilize the ability to adjust RF characteristics such as the RF output signal power level of its own short-range communication interface, as part of how the system can determine the location of ID node F through ID node announcements.

[0428] In the illustrated embodiment, the RF output signal power level of the ID node F 920f can be changed or dynamically adjusted via programmable settings (such as simplified settings or parameters) related to the operation of the variable power short-range communication interface 375. Furthermore, while the actual communication range may vary depending on the surrounding environment, the maximum expected communication range of the ID node's transmitter at each power level is known, assuming optimal operating conditions or the absence of significant RF shielding or interference. Therefore, a specific power level setting for a broadcast node is inherently associated with the corresponding expected range distance.

[0429] In an exemplary method of determining node location using ID node announcements, the RF output signal power level can vary across multiple power levels to improve localization via master node association. More specifically, when the variable power short-range communication interface of ID node F is set to P1—its maximum output—ID node F 920f is seen by each of the master nodes M1-3 910a-910c. It may have been previously discovered that 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 power level P1 is approximately 30 feet. Therefore, without any review of the RSSI level from individual master nodes, the system knows that ID node F is within 30 feet of master nodes M1-M3.

[0430] Next, 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 review of the RSSI levels from individual nodes, we know that master nodes M1 910a and M2 910b are within 15 feet of ID node F 920f in this example. Furthermore, we know that master nodes that no longer receive broadcast RF signals from ID node F 920f (e.g., master node M3 910c) are somewhere within 30 feet of ID node F 920f, but in this example, they may be more than 15 feet away from node F.

[0431] Furthermore, when the variable power short-range communication interface 375 of ID node F is set to P3—its 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 the variable power short-range communication interface 375 of ID node F at the P3 power level is approximately 5 feet. Therefore, without any review of the RSSI level from the master node, we know that in this example, the location of ID node F 920f is within 5 feet of the known location of master node M2910b.

[0432] Then, for any of the identified nodes, the ranging steps for the RF characteristics of the change of the announcement ID node, as discussed above in the example, can be repeated to build a more complete picture of the relative position of each node.

[0433] Furthermore, depending on whether the node is moving, the timing between such ranging steps can vary dynamically. Those skilled in the art will appreciate that, when moving, a faster flow of such ranging steps will help provide better accuracy that takes into account the node's movement. Therefore, when a node is moving, it is expected that the time interval between instructing the node to broadcast one or more messages at a specific power level and then instructing the node to broadcast one or more messages at a different power level, the node's movement being determined based on context data. For example, the context data could indicate that the node is within a node package on a moving transport system. Thus, the node is moving relative to a fixed master node that can be positioned along the transport system. Therefore, the server can cause the first node to perform the ranging step, where the power changes in a relatively rapid, continuous manner compared to a situation where the context data indicates the node is not moving or is substantially stationary.

[0434] Figure 30 This is a flowchart illustrating another exemplary method for location determination using one or more associations of nodes in a wireless node network according to an embodiment of the present invention. (Reference) Figure 30 Regarding how it interprets the specific way of locating nodes using association and master node / one or more master node notification techniques, method 3000 begins at step 3005 by instructing the first of the nodes to broadcast one or more first messages at a first power level, which is related to a first expected range distance. In one example, the first expected range distance could be the optimal range for the first of the nodes (e.g., assuming there are no obstacles and clear signal paths between the nodes). In another example, the first expected range distance could be the optimal range for the first node adjusted based on contextual data (e.g., data related to the surrounding RF environment of the first node).

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

[0436] Method 3000 continues at step 3015 by determining which of the identified associated nodes receive at least one of the first messages. Next, method 3000 instructs the first node at step 3020 to broadcast one or more second messages at a second power level, wherein the second power level is related to a second expected range distance and is incrementally smaller than the first power level. In a further example, the first and second expected range distances may be adjusted based on one or more types of context data related to how the RF output signal from the first node might be blocked.

[0437] At step 3025, method 3000 determines which of the identified associated nodes received at least one of the two messages. Method 3000 ends at step 3030, wherein the method determines that the location of the first node is 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.

[0438] As mentioned above, determining the location of a node can be improved when movement is taken into account. Thus, embodiments of method 3000 can instruct the first node to broadcast one or more second messages within a time interval after instructing it to broadcast one or more first messages. This time interval can be predetermined in some implementations, but in others it can be a parameter dynamically set based on context data associated with the first node. More specifically, the time interval can decrease from a prior value when the context data associated with the first node indicates that the first node is moving, but can increase from a prior value when the context data associated with the first node indicates that the first node is substantially stationary.

[0439] In another embodiment, method 3000 may further include instructing a first node to broadcast one or more third messages at a third power level. Such a third power level is related to a third expected range distance and is a range that is incrementally smaller than a second expected range distance. The method may then determine that the location of the first node is at or between the second and third expected range distances from each of the identified associated nodes that did not receive any of the third messages but received at least one of the second messages.

[0440] In another embodiment, method 3000 may include refining the location of the first node using updated locations of one or more of the identified associated nodes that have not received at least one of the second messages but have received at least one of the first messages. For example, if the first node is associated with a mobile master node, the updated location of the mobile master node (which may be closer to the first node than previously determined) may be used to refine the location of the first node.

[0441] In a further embodiment, during the operation of method 3000, the first node may not be aware of its own position. In another embodiment, during the operation of method 3000, the first node may have previously been aware of its own position but may no longer be aware of its own position before broadcasting one or more first messages. More specifically, the first node may no longer be aware of its own position before broadcasting a first signal due to changes in the environment surrounding the first node. Such changes in the environment may, for example, occur when the first node has moved inside a structure (e.g., a building, vehicle, aircraft, container, etc.) that prevents the position signal from being received by the first node.

[0442] Those skilled in the art will appreciate that it is possible to achieve this at nodes (e.g., Figure 4 The method 3000, as disclosed and explained above in various embodiments, is implemented on the master node 110a, which runs one or more portions of the master control and management code 425 (e.g., a location-aware / capture module) to control ID nodes (such as...). Figure 14 The operation of the ID node (F) in the process is part of the location determination performed via the ID node announcement. Such code can be stored on a non-transitory computer-readable medium, such as the memory storage device 415 on the master node 110a. Therefore, when code 425 is executed, the processing unit 400 of the master node can be operable to perform operations or steps according to the exemplary method disclosed above, which includes method 3000 and variations thereof.

[0443] From the device's perspective, an exemplary node device in a wireless node network using location determination via association may include a node processing unit, node memory (e.g., node volatile memory and node memory storage device) coupled to and used by the node processing unit. The node memory storage device maintains at least program code segments, association data, and location data. The node device further includes a first communication interface that provides a first communication path coupled to the node processing unit and operatively coupling the node to a plurality of other nodes in the network. For example, in Figure 4 The main node 110 shown in the diagram includes this type of operational structure.

[0444] A node processing unit (e.g., processing unit 400 of master node 110a) is operable to perform a specific function or step when at least executing a program code segment residing in the node's volatile memory. Specifically, the node processing unit is operable to transmit instructions via a first communication interface to the first of other nodes (e.g., an ID node or a master node temporarily acting as an ID node) to cause the first other node to broadcast one or more first messages at a first power level, wherein the first power level is related to a first expected range distance.

[0445] The first expected range distance can be the optimal range for the first of the nodes, and more specifically, the optimal range for the first of the nodes adjusted based on context data. Even more specifically, the first and second expected range distances can be adjusted based on one or more types of context data relating to how the RF output signal broadcast from the first node might be blocked.

[0446] The node processing unit is also operable to identify which of the nodes associated with the first node have known locations. To do this, the node processing unit can access and review association data stored in the node memory (e.g., data indicating which nodes are passively or actively associated with the first other node), can determine which of the remaining other nodes are associated with the first other node based on the reviewed association data, and can identify which of the remaining other nodes identified as being associated with the first other node have known locations.

[0447] The node processing unit is also operable to determine which of the identified associated nodes receive at least one of the first messages, and to transmit another instruction to the first node via the first communication interface to cause the first node to broadcast one or more second messages at a second power level, wherein the second power level will be a distance from a second expected range and incrementally smaller than the second power level.

[0448] Finally, the node processing unit is operable to determine which of the identified associated nodes receive at least one of the second messages, and then determine the location of the first node 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.

[0449] In a further embodiment, the node processing unit may be operable to transmit a third instruction to the first node via a third communication interface, causing the first node to broadcast one or more third messages at a third power level. The third power level is related to 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 at or between the second and third expected range distances from each of the identified associated nodes that have not received any of the third messages but have received at least one of the second messages.

[0450] In another embodiment, the node processing unit can take into account the movement of the first node using the time interval between instructions sent to the first node. Specifically, the node processing unit can be further operable to transmit another instruction to the first node via a first communication interface to broadcast a second message within the time interval after instructing the first node to broadcast a first message. In a more detailed example, the time interval can be dynamically set based on context data associated with the first node. Even more specifically, the time interval can be programmatically decreased from a prior 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 moving transport system), and / or the time value of the interval can be increased from a prior 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 recently placed in a storage area).

[0451] In a further embodiment, the node processing unit may be operable to refine the location of the first other node using the updated location of one or more of the identified associated nodes that have not received at least one of the second messages but have received at least one of the first messages, and cause a second communication interface (e.g., a medium / long-distance communication interface 485 coupled to the processing unit 400) to transmit the refined location to the server.

[0452] From the server's perspective, Figure 31 This illustration depicts yet another exemplary method for location determination using one or more associations of nodes in a wireless node network, according to an embodiment of the present invention. Figure 30 (Similar flowchart). Those skilled in the art will appreciate that although the server is operable to implement the steps shown in method 300 and discussed above, Figure 31Method 3100 provides further details on how a server processing unit (such as processing unit 500 running server code 525) can implement such a method at this level of the network. In this more detailed embodiment, the server is communicating directly with a master node (e.g., a first node) to instruct and control how the master node interacts with ID nodes (e.g., a second node) and causes operations to be undertaken on the ID nodes (e.g., the second node). Therefore, step 3105 is similar to step 3005, but more precisely requires communication with the first node via a communication interface so that the second node in the network broadcasts one or more first messages at a first power level at a request from the first node, wherein the first power level is related to and corresponds to a first expected range distance. Similarly, step 3120 is similar to step 3020, but more precisely requires communication with the first node via a communication interface so that the second node broadcasts one or more second messages at a second power level at a request from the first node, wherein the second power level is related to a second expected range distance and is incrementally smaller than the first power level. The other steps of method 3100 are similar to those illustrated and explained above relative to method 3000, and similar principles will apply to method 3100.

[0453] Those skilled in the art will appreciate that it is possible to use a server (e.g., Figure 5 The server 100 implements the method 3100 as disclosed and explained above in various embodiments, wherein the server runs one or more portions of server control and management code 525 to instruct the master node to control ID nodes (such as... Figure 14 The operation of the ID node (F) in the system is part of the location determination performed via the ID node announcement. Such code can be stored on a non-transitory computer-readable medium, such as a memory storage device 515 on server 100. Therefore, when code 525 is executed, the server's processing unit 500 can be operable to perform operations or steps according to the exemplary methods disclosed above, which include method 3100 and variations thereof.

[0454] Similar to the node devices described above, one embodiment includes an exemplary server device in a wireless node network that uses location determination via association. The exemplary server device generally includes a server processing unit, server memory (e.g., server volatile memory and server memory storage device) coupled to and used by the server processing unit. The server memory storage device maintains at least program code segments, associated data, and location data. The server device further includes a communication interface coupled to the server processing unit and providing access to a communication path operatively coupling the server to at least a first node in the network.

[0455] An exemplary server processing unit is operable to perform specific functions or steps when at least executing 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 such that a second node in the network, upon request from the first node, broadcasts one or more first messages at a first power level, wherein the first power level is related to a first expected range distance; identifies which of the remaining nodes in the network associated with the second node have known locations; determines which of the identified associated nodes receive at least one of the first messages; communicates with the first node via the communication interface such that a second message, upon request from the first message, broadcasts one or more second messages at a second power level, wherein the second power level is related to a second expected range distance and incrementally less than the first power level; determines which of the identified associated nodes receive at least one of the second messages; and determines that the location of the second node is 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 any of the second messages but received at least one of the first messages. Furthermore, in a further embodiment, the processing unit of the server device may be further operable to store the determined location in the server's memory as part of location data.

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

[0457] Determined by the location of the main node in the announcement.

[0458] In another example, the master node may no longer know its location. For instance, this could occur when the master node determines its current location via GPS positioning circuitry 475 but finds it cannot access a sufficient number of GPS signals (e.g., it cannot determine its location due to a lack of sufficient GPS signals from different GPS satellites). This could also occur when a master node moving indoors approaches a structure that interferes with positioning signals.

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

[0460] Next, the master node will communicate with the relevant parties regarding... Figure 14 The ID node F 920f responds by broadcasting one or more notification messages in a similar manner. This allows a master node with an unknown location to advantageously utilize the known locations of other nearby nodes. Thus, embodiments can allow for the utilization of various types of chain effects, whereby the known locations of a particular type of node can be used to extend location information to other nodes (e.g., ID nodes) that do not know their locations or to nodes that have detected a loss of location confidence (e.g., master nodes). Therefore, such embodiments can be used to determine the indoor location of master nodes (including equipment equipped with master node functionality) when the conventional airborne positioning circuitry 475 is unavailable.

[0461] Referring back to exemplary method 3000 and Figure 30 Method 3000 allows a first node to become unaware of its own location. This can occur when the first node (e.g., an ID node) is actually a master node that previously became aware of its own location (e.g., via received GPS signals) but no longer does (e.g., when GPS signals can no longer be received), causing the master node to change its operation to act as an ID node before broadcasting the first message. In other words, due to changes in the environment surrounding the master node, such as when the master node has moved into a structure that prevents the master node from receiving location signals, the master node may no longer be aware of its own location and begin acting as an ID node for the purpose of location determination before broadcasting the first message. Therefore, embodiments can advantageously allow nodes to adaptively change their operation when moving from a clear outdoor environment to an indoor environment. And when such a master node temporarily acts as an ID node for location purposes, the server can interact with that master node.

[0462] Positioning using improved RSSI measurement records

[0463] In another embodiment, signal strength measurements between two or more nodes can be used to determine node proximity by employing one or more improvements to conventional RSSI measurements. In conventional RSSI measurements such as Bluetooth 4.0, those skilled in the art will appreciate that adaptive frequency hopping, as 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 avoidance can have a negative impact on using such signals for stable proximity-based location determination. Therefore, it may be desirable to emphasize signal stability and limit fluctuations for location determination purposes.

[0464] In one embodiment, improvements for RSSI measurement may include reducing the number of channels and / or the corresponding frequency range in use during node announcements. For example, the node may enable processing unit 300 / 400 to adaptively control the variable power short-range communication interface 374 / 480 to reduce the number of channels and / or the frequency range in use during node announcements. In some embodiments, such dynamic changes can be achieved by altering the content of specific types of profile data 330 / 430, such as RF profile data that effectively defines the node's RF characteristics (e.g., frequency, power level, duty cycle, number of channels, channel spacing, alternative fluctuation modes, etc.). In a further embodiment, a first fluctuation mode may be defined, providing a default or more standard communication protocol, such as the conventional frequency hopping, spread spectrum, and channel allocation used for Bluetooth® communication. Other alternative modes (one or more) may be defined, altering one or more RF characteristics to provide an increasingly stable and less fluctuating RF output signal from the node. Therefore, nodes can be dynamically placed in one or more modes regarding such RF characteristics, which increasingly emphasize the stability of the node's RF output signal and limit fluctuations for the purpose of enhanced location determination using RSSI measurements.

[0465] In another embodiment, one type of improvement for RSSI measurement may include ensuring visibility of and advantageous management of (not shown) Automatic Gain Control (AGC) circuitry, which can cause the RF output signal to change for the node. For example, a node may include a type of AGC circuitry as part of a variable power short-range communication interface 375 / 480. This type of AGC circuitry may allow other logic circuitry of the node processing unit 300 / 400 or 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 circuitry settings may be defined in exemplary RF profile data that 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 can be dynamically positioned in one or more modes regarding such RF characteristics (including ACG circuitry settings), which increasingly emphasize the stability and limiting of fluctuations in the node's RF output signal for the purpose of enhanced location determination using RSSI measurements.

[0466] Positioning by adjusting environmental factors in RF signal quality

[0467] Generally, 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 depends on the signal path environment and is not desired to change. Passive physical interference factors (e.g., in the form of electronic signal shielding) can be substantially near and cause a decrease in signal strength across the node's output range. Additionally, active radio interference factors can vary across the node's RF output range, depending on other active devices in the vicinity of the receiver. Thus, the proximity environment of a node can have many adverse factors that affect communication and, consequently, the ability to locate the node.

[0468] In one embodiment, location determination can be enhanced by a data analysis-type approach that can adjust for and account for different RF environmental factors for similar types of nodes in similar situations. For example, for a given environment, 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. In this example, the system defines the maximum range of the signal based on predetermined conditions such as outdoor connectivity. This can assume an environment where there is no signal degradation due to interference or physical shielding. However, both interference and physical shielding can reduce the range of the node's RF output signal. In a dynamically adaptive and learning manner, the system can collect information about how a particular type of node can operate in a particular environment under certain settings (e.g., signal strength and corresponding settings reported for RF output signal power levels). This analysis can be repeated for similar environments. In other words, through such data analysis of the expected environment to be faced by similar nodes, signal loss information can be generated and used as a type of contextual data (i.e., RF data) for nodes in similar environments to refine location determination. Therefore, exemplary embodiments can leverage adaptive signal loss characteristics to refine location determination without requiring a calibration phase, based on contextual understanding of the expected environment (e.g., physical shielding, such as packaging that causes signal changes, package contents, nearby packages, nearby package contents, and physical infrastructure).

[0469] Furthermore, combining those data points with third-party data describing the physical environment in which the nodes were located at that time can further refine the location. In future efforts, such information can be used as RF data (a type of context data) to manage and locate similar types of nodes expected to be in similar environments.

[0470] More specifically, in embodiments where location determination is refined based on context and data analysis to adjust for known RF obstacles, the maximum physical range of the node's RF output signal relative to a receiver with known RF sensitivity is determined. In one example, this first range value may be referred to as the theoretical or nominal outdoor range of a similar type of transmitter-receiver node pair in a similar environment but without physical shielding or signal interference that substantially negatively affects the signal range. A second range value, which can be considered the actual RF range value, may be the observed range of the signal in a similar environment, but in which contextual factors that reduce the communication range exist, including physical shielding factors such as packaging, package contents, nearby packages, nearby package contents, physical infrastructure, interference from other wireless sources, or shipper-specific information such as vehicle or facility layout information. By accessing prior data analysis of the different range values ​​and utilizing knowledge of the operating environment of the transmission node therein (e.g., an environment similar to the environment near the node), a refined location can be determined using an approximation of what might be expected as the actual RF output range of the node's RF environment, intelligently adjusted. In other words, by knowing the appropriate context associated with a node (such as signal degradation information about how similar nodes operate in similar environments), improved location determination can be made to make intelligent and efficient adjustments (such as communication distance adjustments), which provides a refined location for the node.

[0471] In one example, such as in Figure 2 In the example shown, the master node 110b is located outside a container (such as Uniform Loading Device (ULD) container 210, known for its use in transporting goods on aircraft) with ID nodes inside the container. When a package (and associated ID node) is known to be less than 10 feet away from the scanning node (e.g., master node 110b), a first or theoretical range value between master node 110b and ID node 120b at a specific RF output power level can be determined to be 10 feet. A second range value at a similar distance to a similar type of node, but with accompanying RF signal loss as a result of communication through the wall of container 210, might be between 4 and 5 feet. If contextual data, such as third-party information or scanning data, indicates that the transmitting node is inside the ULD container 210, the system will expect to limit the transmission range based on data analysis associated with that known RF obstacle (e.g., characteristics of transmission through the ULD container 210), thus reducing the number of possible scanning nodes that can see the broadcasting node inside the ULD container, or requiring the transmitting node to increase its RF output power to be heard.

[0472] Figure 32This is a flowchart illustrating an exemplary method for determining the location of a first node in a wireless node network based on context data, according to an embodiment of the present invention. Referring now... Figure 32 Method 3200 begins at step 3205 with a network device (such as a master node or server) accessing first type of context data related to the proximity environment of the first node.

[0473] 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 proximity environment when the second node is of a similar type to the first node. Therefore, instead of calibration using actual measurements relative to the first node's current proximity environment, the signal degradation information provides compensation information about what can generally be expected in a more general proximity environment based on how a similar type of node can operate in a similar environment. Since a similar environment for a similar node is generally an approximation of what is expected to be the first node's proximity environment, this advantageously avoids the need for actual calibration of the approximate 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 (such as an environment similar to the first node's proximity environment) and how the second node will communicate when exposed to a nominal communication environment (such as an environment unaffected by shielding and interference). Those skilled in the art will appreciate that the nominal communication environment does not need to perfectly eliminate all the effects of shielding or interfering with communication.

[0474] The type and aspects of signal degradation information can depend on variations in various factors. In one embodiment, signal degradation information may be associated with at least one of shielding and interference. Therefore, signal degradation information can include both passive and active factors affecting the communication environment.

[0475] In another embodiment, the signal degradation environment can be based on the degradation operation of a second node when the similar environment is an unfavorable communication environment. More specifically, the signal degradation message can be based on the difference between how the second node communicates when exposed to an unfavorable communication environment and how the second node communicates when exposed to a substantially nominal communication environment such as an outdoor environment.

[0476] In another embodiment, the signal degradation information may at least relate to shipment data for one or more items that are being shipped (e.g., currently being shipped or previously shipped) and located in the proximity environment of the first node. For example, a package near the first node may include metallic materials that can obstruct or block RF signals, and the signal degradation information may relate to such information regarding a closed package being shipped near the first node. In another example, the signal degradation information may at least relate to layout data for one or more physical structures in the proximity environment of the first node. More specifically, the layout data may relate to one or more physical structures (e.g., walls, machines, shells, and transport vehicles) in the proximity environment of nodes along a predicted path near the first node. In yet another example, the signal degradation information may at least relate to historical data on prior operations of one or more analyses regarding a second node.

[0477] At step 3210, a network device, such as a master node or server, can adjust the expected communication distance associated with the first node based on the first type of context data. In one example, the expected communication distance could be a theoretical broadcast distance based on the parameters of the device's radio. Such an expected communication distance is known because it is an estimate of the radio's range. In one example, the adjusted communication distance includes an expected reduction in range distance for transmissions from the first node. In another example, the adjusted communication distance includes an expected reduction in receiver sensitivity distance for the first node.

[0478] In yet another example, adjusting the communication distance can be accomplished by the network device adaptively adjusting the communication distance based on signal degradation information and a second type of context data. In other words, the communication distance can be adjusted based on signal degradation information taken into account along with other types of context data, such as how the first node is moved (e.g., the expected movement of the first node along a predicted delivery path for the first node) or the density of other nodes near the first node.

[0479] At step 3215, the network device determines the location of the first node based on the adjusted communication distance. In a further embodiment, the method may also update the adjusted communication distance by the network device based on the movement of the first node, and the updated adjusted communication distance may be used to refine the location of the first node. This can occur if the first node is a mobile master node capable of determining its own location.

[0480] Those skilled in the art will appreciate that the method 3200, as disclosed and explained above in various embodiments, can be implemented in one or more parts of the corresponding control and management code of the network device to perform the steps of the method 3200 as described above (e.g., network devices running corresponding control and management code of the network device). Figure 4 Example master node 110a or Figure 5 The code is implemented on server 110. Such code can be stored on a non-transitory computer-readable medium, such as memory storage device 415 on master node 110a or memory storage device 515 on server 100. Therefore, when such code is executed, the processing unit of the corresponding network device can be operable to perform operations or steps according to the exemplary method disclosed above, which includes method 3200 and variations thereof.

[0481] More specifically, the exemplary network device apparatus is used to determine the location of a first node in a wireless node network based on context data. The exemplary network device may include a processing unit, volatile memory coupled to the processing unit, and memory storage means coupled to the processing unit. The exemplary network device further includes a communication interface coupled to the processing unit and providing a communication path operatively coupling the network device to the first node in the network.

[0482] The device's memory stores at least a program code segment and at least context data containing signal degradation information. Such signal degradation information, as a type of context data, is information about how the second node will operate in an environment similar to that of the first node when the second node is of a similar type. Examples of signal degradation information may include those discussed above with respect to step 3205 of method 3200.

[0483] When at least the program code segment residing in volatile memory is executed, the processing unit of the network device can operate to perform the steps mentioned and described above with respect to method 3200. More specifically, the processing unit can operate to connect at least to the memory storage device to access signal degradation information, adjust the communication distance associated with the first node (if necessary) based on the signal degradation information, 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.

[0484] The processing unit can adjust the communication distance as described above regarding step 3120 of method 3200. Furthermore, as mentioned above, the processing unit can be further operable to adaptively adjust the communication distance while also taking into account other types of context data, such as movement and anticipated node movement as detailed above.

[0485] In a further embodiment, the network device may include a positioning circuit (such as...) Figure 4The exemplary master node 110a shown in the diagram has a GPS circuit 475 for its mobile master node. In this embodiment, the processing of the network device can be further operable to determine the location of the network device based on the output signal received by the processing unit from the positioning circuit, and to determine the location of the first node based on the adjusted communication distance and the location of the network device. Thus, a first type of contextual data related to the proximity environment of the first node is based on the determined location of the first node.

[0486] Those skilled in the art will appreciate that, in one embodiment, in certain operating environments, signal degradation information may not require adjustment of the communication distance. However, in other environments (e.g., adverse RF environments), signal degradation information can provide a basis for adjusting the communication distance in the embodiment, even if not performed every time. Therefore, adjustment of the communication distance may not be needed in all proximity environments of the first node but can be performed based on the proximity environment of the first node, if necessary. The ability of the embodiment to adjust the communication distance when needed and if required is advantageously considered for more accurate positioning of the first node.

[0487] Positioning by triangulation

[0488] In some embodiments, various methods for determining the location of nodes may rely at least in part on triangulation techniques. In other words, other methods for determining the location of individual nodes using triangulation may be at least partially possible when a wireless node network collects data about receiver-transmitter pairs. Figure 15 This is a diagram illustrating exemplary location determination via triangulation within a wireless node network according to an embodiment of the present invention. Referring now... Figure 15 The illustrated embodiment shows three exemplary master nodes M1-M3 910a-910c, each with a known location. Exemplary ID nodes AE 920a-920e are also shown, wherein they are within the communication range of at least one or more of the exemplary master nodes MA-M3 910a-910c.

[0489] In the example illustrated, master nodes M1-M3 can detect and collect advertisement messages from ID node 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 made. For example, when sufficient information is available, such as the visibility of each node at each power level and factors like RSSI, the location of the node can be determined with a high degree of accuracy.

[0490] For an exemplary system of triangulation nodes, three nodes with known locations must have already seen the broadcast node. In this example, two advertising ID nodes, A 920a and B 920b, have been seen by three nodes (master nodes M1-M3 910a-910c) with known locations. The locations of ID nodes A 920a and B 920b are calculated based on the captured information.

[0491] Chain triangulation

[0492] In another embodiment, a node with an inferred location can be used in conjunction with triangulation techniques to determine the location of another node in a wireless node network. Figure 16 This diagram illustrates an exemplary position determination using chain triangulation according to an embodiment of the present invention. The positions of ID nodes A920a and B920b have been determined by triangulation across master nodes M1-M3, as shown in... Figure 15 As illustrated in the exemplary embodiments shown in the illustrations. However, as in Figure 16 As shown in the diagram, the location of ID node C 920c can also be determined according to the embodiment.

[0493] For example, an exemplary method for determining the location of a node using chain triangulation can be used to determine the computed location of ID node B 920b (as referenced). Figure 15 (As explained) Next, a node closer to ID node B 920b can be used to obtain the missed third signal point needed for triangulation. This can be done by placing ID node B 920b in query (scan) mode so that it listens for messages from ID node C 920c. ID node C is instructed to advertise, thus providing a signal that can be captured by ID node B. After capturing C's signal profile, ID node B can transmit or share the captured information and forward it along with the backend server 100 via either master node M1 or M2. The obtained location determination of ID node C 920c may have a high level of positioning error because ID node C 920c is partly based on a calculated reference (e.g., the location of ID node B), but the utilized location determination of ID node C 920c may be sufficiently accurate (or an actionable location) to gather useful information about ID node C 920c. For example, the utilization or chained location determination of ID node C can, with the help of context data, indicate that nodes M1, M2, and ID node B are all sufficiently close to ID node C, and ID node C is determined to be within the same container nodes M1, M2, and ID node B.

[0494] Proximity-to-triangulation (LP2T) positioning

[0495] In an embodiment where chain triangulation can determine location via proximity-to-triangulation (LP2T), the starting point can be determining the relative position of the ID node to the master node based on a proximity method, as explained above. However, once the relative position of the ID node has been determined, a more accurate or refined position of the ID node can be determined based on the positions of all master nodes capable of capturing the RF output signal broadcast from the ID node, and then triangulation is performed based on the observed signal strength of the ID node. In this example, proximity-based positioning is used as input in the triangulation calculation to estimate the historically observed possible signal degradation between the node at the proximity-determined position and the scanning master node. In a further embodiment, more accurate triangulation can be possible by considering historical data on patterns of signal degradation, leading to more accurate location determination.

[0496] Figure 33 This is a flowchart illustrating an exemplary method for determining the location of one of a plurality of nodes in a wireless node network having a server using chain triangulation, according to an embodiment of the present invention. Such exemplary node localization does not need to be precise or stringent, but can be sufficiently accurate without being absolute.

[0497] Now for reference Figure 33 Method 3300 begins at step 3305 with the server receiving the position of the first node from the first node. Next, at step 3310, the server receives the position of the second node from the second node. For example, refer to... Figure 16 In the example shown, master nodes M1 910a and M2 910b can transmit their respective position coordinates from their respective airborne positioning circuits to the server, so that the server has the current position of the two master nodes.

[0498] At step 3315, the server infers the position of the third node. For example, in Figure 16 In the example illustrated in the diagram, the server can infer the location of ID node B 920b. In one embodiment, the inference may include enabling the server to determine a proximity-based location of a third node relative to another node with a known location, such that the proximity-based location serves as the inferred location of the third node.

[0499] In another embodiment, inferring the position of the third node may include having the server determine the relative position of the third node with respect to the first node (as a node with a known position) or with respect to the second node (as another node with a known position). In another embodiment, method 3300 may further include having the server adjust the inferred position of the third node to determine a refined position of the third node based on third node context data associated with the inferred position of the third node.

[0500] At step 3320, method 3300 triangulates the position of a node based on a determined distance from the server to each of the first and second nodes and a determined distance from the node to the inferred position of the third node.

[0501] In a more detailed embodiment, method 3300 can triangulate the position of a node by accessing first node context data associated with a context environment near a first node and second node context data associated with a context environment near a second node. Such a context environment may include an environment on a transport system, within a specific facility, or adjacent to materials that could degrade or shield signals received by a node. Next, more detailed triangulation allows the server to adjust a determined distance from the position of a node to the first node based on the first node context data to provide a refined distance from the node to the first node. The server can then triangulate the position of a node based on the adjusted determined distance from the position of a node to the first node, the adjusted determined distance from the position of a node to the second node, and the refined determined distance from the node to the third node.

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

[0503] In 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 determined distance from one node to the location of a first node may be based on a signal captured by the first node from another node and reported by the first node to the server. In another embodiment, the determined distance from one node to the location of a second node may be based on a signal captured by the second node from another node and reported by the second node to the server.

[0504] In yet another embodiment, method 3300 may also enable the server to transmit location information to a requesting entity (e.g., another node, user access device, etc.) upon receiving a request for the location of a node.

[0505] Those skilled in the art will appreciate that the method 3300, as disclosed and explained above in various embodiments, can be used on a server (such as in...) to run control and management code (such as code 525) or one or more parts of the server. Figure 5 The exemplary server 100 illustrated in the figure is implemented to perform any of the functions described above. Such code may be stored on a non-transitory computer-readable medium, such as memory storage device 515 on the exemplary server. Thus, when such code is executed, the server's processing units (such as unit 500) may be operable to perform operations or steps according to the exemplary methods disclosed above, including method 3300 and variations thereof.

[0506] The embodiments also describe a server device for determining the location of one of a plurality of nodes in a wireless node network using chain triangulation. The server device generally includes a server processing unit, server volatile memory, server memory storage, and a communication interface. Each of the server volatile memory, server memory storage, and communication interface is configured in the device to be coupled to the server processing unit. The server memory storage maintains at least program code segments and location data associated with nodes in the network. In some embodiments, the server memory storage may also maintain context data, such as first node context data and second node context data. The communication interface provides a communication path that operatively couples the server to nodes in the network, such as the first and second nodes.

[0507] The server processing unit is operable to perform various functions, such as those described in the steps related to method 3000 above, when at least executing program code segments 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 corresponding locations of the first and second nodes and store the locations as a portion of the location data held in the server's memory. The server processing unit is further operable to infer the location of a third node and store the inferred location of the third node as a portion of the location data held in the server's memory. The server processing unit is then operable to perform triangulation on 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 inferred location of the third node. Finally, the server processing unit is operable to transmit location information to the requesting entity via the communication interface in response to the request.

[0508] In one embodiment, the server processing unit may be further operable to infer the position of the third node by being operable to determine the proximity-based position of the third node relative to another node with a known position, wherein the proximity-based position serves as the inferred position of the third node.

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

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

[0511] In 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, to the second node.

[0512] In yet another embodiment, the refined position can rely on context data. More specifically, the server processing unit can be further operable to adjust the inferred position of the third node to determine the refined position of the third node based on the third node context data related to the inferred position of the third node.

[0513] In a more detailed embodiment, the server memory storage device can further maintain context data, and the server processing unit can be further operable to perform triangulation by being operable to access first node context data, which is a portion of the context data maintained on the server memory storage device, wherein the first node context data is associated with the context environment adjacent to the first node. Similarly, the server processing unit can be further operable to access second node context data, which is a portion of the context data maintained on the server memory storage device, wherein the second node context data is associated with the context environment adjacent to the second node. The server processing unit can then be operable to adjust a determined distance from a node to a first node based on the first node context data to provide a refined distance from a node to a first node. Thus, the server processing unit can be operable to perform triangulation on the position of a node based on the adjusted determined distance from a node to a first node, the adjusted determined distance from a node to a second node, and the refined determined distance from a node to a third node.

[0514] Combinatorial methods for determining node positions

[0515] Based on the examples for locating nodes explained above, those skilled in the art will appreciate that, when determining the refined location of nodes in a wireless node network, further embodiments explicitly envision using more than one location determination technique described above. For example, such combined embodiments may apply an ordered or prioritized approach, whereby a first location technique is applied to generate first location information about the location of a node in the wireless network. Subsequently, a second location technique may be selected from a hierarchy or priority set of techniques (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 about the location of the node or a refined location of the node. Other embodiments may apply additional location techniques to generate further refined location information.

[0516] In embodiments, information in the exemplary hierarchy generally identifies which technology may be preferred for initial use and may be a hierarchical grouping or list of when other positioning technologies are applied. Such information in the exemplary hierarchy may be fixed (based on historical data and experience of success) or change dynamically over time as nodes can move relative to each other, and may be based, for example, on contextual data that provides more information relative to the current or expected contextual environment.

[0517] Application of node location determination in transportation environments

[0518] The various exemplary methods and techniques described above for determining the location of nodes provide advantageous ways to locate nodes. However, further embodiments may advantageously apply such methods and techniques in a transportation environment when processing logistics operations in which nodes will be located in, moved within, or removed from a vehicle for delivery.

[0519] Essentially, embodiments can use packages utilizing enabling nodes (generally referred to as node packages or packages enabling nodes) to transport one or more items, and such node packages can be advantageously placed, positioned, moved, or removed for delivery in a vehicle / transport / shipping / logistics environment. As explained throughout this specification, a node package is generally a package to be shipped associated with a specific node. The node and the associated package travel together as part of the shipping process. In general embodiments, the node may be solely within the package. In another embodiment, the node may be attached to the package (e.g., adhered to an internal portion of the package, one or more status indicators fixed thereto to a portion of the package visible through the package, etc.). In yet another embodiment, the node of a node package may be packaging material or part of the package, used to include external, internal, or separating / cushioning material within the node package. More specifically, the node may be integrated as part of the package or packaging material (e.g., integrated as part of a pallet, ULD container, corrugated fiberboard box, etc.). In yet another detailed embodiment, the nodes of the node package may be wholly or partially embedded within a package or packaging material used to help form a general container, which holds the items to be shipped along with the nodes. As explained herein, Figure 75A , 75B 76-78 provide various illustrations of different exemplary packaging materials for enabling nodes that can be used as parts of the node wrapping.

[0520] Figure 93 This is a diagram illustrating an exemplary node package located in an exemplary vehicle environment according to an embodiment of the present invention. Referring now... Figure 93The exemplary vehicle 9300 is illustrated as an example of a general mobile logistics transport vehicle or transport vehicle carrying packages to be transported. Those skilled in the art will appreciate that vehicle 9300 can be implemented as various types of logistics transport vehicles (e.g., automobiles, vans, autonomous vehicles, cars, trailers, trains, aircraft, seagoing vessels, etc.). Within the exemplary vehicle 9300, packages can be placed, stored, and organized in different storage devices or units such as storage unit A9305 or storage unit B9310. Generally, storage devices or units help to maintain one or more packages in a configuration that helps ensure economical shipping, minimizes damage to packages, and provides a way to organize the stored items. Different embodiments of the storage unit can store a single package or can store a large number of packages of various different types using different types of packaging materials (e.g., corrugated fiberboard boxes, wooden and non-wooden pallets, containers, etc.).

[0521] Vehicle 9300 includes vehicle master node 9315—an exemplary implementation of the master node, such as regarding Figure 4 The master node 110a is shown and described. The vehicle master node 9315 is shown operable to communicate with server 100 via a long-distance communication interface (such as interface 485 on the exemplary master node 110a) and 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 such storage units and portions of the nodes stored within them. More specifically, in some embodiments, each storage unit may include built-in nodes associated with a particular shelf, locker, container, or other portion of the particular storage unit.

[0522] Therefore, an exemplary storage unit (such as storage unit A 9305) can be a storage unit that enables nodes to be used within a logistics vehicle to transport node packages securely and intelligently. Thus, the exemplary storage unit itself can have a hierarchy of nodes (e.g., a master node, and one or more other nodes (ID nodes or other master nodes) assigned to different parts of the unit) and is operable to detect the location of a particular node package via various location determination methods discussed herein when the node package is placed in a storage location within the unit, moves between storage locations within the unit, or moves between different units, or is simply removed from a storage location within the unit.

[0523] As in Figure 93As shown, various node packages 9330a-9330d can be held in different storage locations within storage unit A 9305 within vehicle 9300. Similarly, other node packages 9330e-9330g can be held in portions of storage unit B 9310. Node packages can be placed in specific storage locations based on shipping information associated with them. For example, node packages can be placed in specific storage locations based on their weight, planned loading schemes (such as according to expected delivery schedules), storage capacity of specific locations within the storage unit, or storage type for specific locations (e.g., one location for storing packaged packages, another for storing boxed / container-type packages, another for storing containerized packages (e.g., ULDs)).

[0524] The shipment of containerized parcels (e.g., ULD-type containers manufactured to optimize the air logistics handling of parcels) is an example of where mobile storage units (such as mobile unit loading devices (ULDs)) can be deployed when shipping node parcels in an air transport environment. Figure 94 This is an illustration of an exemplary mobile storage unit, such as a ULD, used as a container according to an embodiment of the present invention, which facilitates the loading of node packages in an exemplary air transport environment. Reference is now made to... Figure 94 The illustration shows a cutaway perspective view of an exemplary aircraft fuselage 9400. Specifically, an exemplary floor 9405 of the cargo storage area within the fuselage 9400 is shown having multiple roller elements that facilitate the movement of cargo within the cargo area. Additionally, although not shown in... Figure 94 As shown, the cargo storage area and floor 9405 typically include structures and fastening points to help accommodate any cargo loaded within the fuselage 9400. The cargo storage area within the exemplary fuselage 9400 may be divided into an upper and lower area by an additional floor 9410.

[0525] exist Figure 94 The cutaway perspective illustration in the middle shows the lower cargo area, where various ULD containers 9420a-9420d are shown along with the air transport master node 9415, which is operable to communicate with server 100 (depending on the aircraft's position, communication mode, and status) – much like in... Figure 93 As shown in the diagram, the main node 9315 of the transportation system does. Generally, this is similar to... Figure 93The storage units illustrated and described in the diagram similarly use the illustrated configuration of ULD containers 9420a-d. For example, each ULD container 9420a-d may have different storage locations within it and one or more dedicated and internally attached master nodes (not shown), enabling them to track, monitor, and communicate with different node packages, other nodes, and servers loaded within the ULD—much like the master node 9320 for storage unit A 9305, which can track, monitor, and communicate with different node packages, other nodes, and servers 100 loaded within the storage unit. Node packages within each ULD can communicate with nodes within the ULD and can communicate directly (or indirectly through other master nodes within the ULD) with airlift master node 9415. In this way, shipping information can be used when placing node packages in specific storage locations based on the weight of a particular node package, the planned loa...

Claims

1. A method for multi-entity management of ID nodes deployed together with goods to be shipped in a wireless node network, comprising: By generating first association data on the ID node, the ID node is associated with the first entity user access device. The first association data reflects the logical pairing between the ID node and the first entity user access device. The first entity user access device operates as a master node in the network and is operable to communicate directly with the server in the network through a first communication path and communicate separately with the ID node through a second communication path. The ID node is operable to communicate directly with the first entity user access device through the second communication path but cannot communicate directly with the server. If granted initial privileges, the ID node provides access to the data collected by the ID node to the associated first entity user access device. Prior to the first entity user access device being granted access to the data collected by the ID node, the initial privileges have been automatically granted to the first entity user access device by the server and are separately granted to associate the ID node provided by the server with the first entity user access device. By generating second association data on the ID node, the ID node is associated with the main node of the shipping entity in the network. The second association data reflects the logical pairing between the ID node and the main node of the shipping entity. The ID node provides access to the data collected by the ID node to the associated shipping entity master node based on the transferred privileges. The transferred privileges are provided by the server to the shipping entity master node during the shipment of the items to be shipped, which are deployed with the ID node. By generating third association data on the ID node, the ID node is associated with the second entity user access device. The third association data reflects the logical pairing between the ID node and the second entity user access device. If authorized by destination privileges, the ID node provides access to the data collected by the ID node to the associated second entity user access device. The destination privileges are provided by the server to the second entity user access device during the shipment of the items to be shipped, with the ID node deployed with it. The destination privileges allow the second entity user access device to access the data collected by the ID node from the ID node via short-range communication and then allow the second entity user access device to provide the data accessed from the ID node to the server via long-range communication. as well as The ID node requests software updates from the server for the program code stored on the ID node, regardless of where the data collected by the ID node is stored.

2. The method of claim 1, wherein the initial privileges include payment privileges for accessing data collected by the ID node.

3. The method of claim 1, wherein the initial privileges include payment privileges for the location of the ID node being provided.

4. The method of claim 1, wherein the initial privileges include payment privileges for tracking items associated with the ID node over time.

5. The method of claim 1, wherein the initial privileges include privileges for the first entity user to access the device to manage where the data collected by the ID node is stored.

6. The method of claim 5, wherein the initial privilege includes payment privilege to enable data collected by the ID node to be uploaded to the first entity user access device via a second communication path.

7. The method of claim 5, wherein the initial privilege includes payment privilege to enable data collected by the ID node to be uploaded from the first entity user access device to the server via a first communication path.

8. The method of claim 1, wherein destination privileges include payment privileges for accessing any data in the data collected by the ID node.

9. The method of claim 1, wherein destination privileges include payment privileges for accessing only a restricted portion of the data collected by the ID node.

10. The method of claim 1, further comprising, after the ID node is associated with the shipping entity master node, restricting the first entity user access device from directly accessing the data collected by the ID node.

11. The method of claim 1, wherein when the second entity user access device is not authorized to access the collected data according to destination privileges, the data collected by the ID node remains owned by the shipping entity associated with the shipping entity master node when the ID node is associated with the shipping entity master node.

12. A non-transitory computer-readable medium containing instructions that, when executed on a processor, perform a method for multi-entity management of ID nodes deployed with items to be shipped in a wireless node network, the method comprising: By generating first association data on the ID node, the ID node is associated with the first entity user access device. The first association data reflects the logical pairing between the ID node and the first entity user access device. The first entity user access device operates as a master node in the network and is operable to communicate directly with the server in the network through a first communication path and communicate separately with the ID node through a second communication path. The ID node is operable to communicate directly with the first entity user access device through the second communication path but cannot communicate directly with the server. If granted initial privileges, the ID node provides access to the data collected by the ID node to the associated first entity user access device. Prior to the first entity user access device being granted access to the data collected by the ID node, the initial privileges have been automatically granted to the first entity user access device by the server and are separately granted to associate the ID node provided by the server with the first entity user access device. By generating second association data on the ID node, the ID node is associated with the main node of the shipping entity in the network. The second association data reflects the logical pairing between the ID node and the main node of the shipping entity. The ID node provides access to the data collected by the ID node to the associated shipping entity master node based on the transferred privileges. The transferred privileges are provided by the server to the shipping entity master node during the shipment of the items to be shipped, which are deployed with the ID node. By generating third association data on the ID node, the ID node is associated with the second entity user access device. The third association data reflects the logical pairing between the ID node and the second entity user access device. If authorized by destination privileges, the ID node provides access to the data collected by the ID node to the associated second entity user access device. The destination privileges are provided by the server to the second entity user access device during the shipment of the items to be shipped, with the ID node deployed with it. The destination privileges allow the second entity user access device to access the data collected by the ID node from the ID node via short-range communication and then allow the second entity user access device to provide the data accessed from the ID node to the server via long-range communication. as well as The ID node requests updates to instructions executed by the processor from the server, regardless of where the data collected by the ID node is stored.

13. The non-transitory computer-readable medium of claim 12, wherein the initial privileges include payment privileges for accessing data collected by the ID node.

14. The non-transitory computer-readable medium of claim 12, wherein the initial privileges include payment privileges for providing the location of the ID node.

15. The non-transitory computer-readable medium of claim 12, wherein the initial privileges include payment privileges for tracking items associated with the ID node over time.

16. The non-transitory computer-readable medium of claim 12, wherein the initial privileges include privileges for a first entity user to access the device to manage where the data collected by the ID node is stored.

17. The non-transitory computer-readable medium of claim 16, wherein the initial privileges include payment privileges for uploading data collected by the ID node to the first entity user access device via a second communication path.

18. The non-transitory computer-readable medium of claim 16, wherein the initial privileges include the privilege to enable data collected by the ID node to be uploaded from the first entity user access device to the server via a first communication path.

19. The non-transitory computer-readable medium of claim 12, wherein destination privileges include payment privileges for accessing any data in the data collected by the ID node.

20. The non-transitory computer-readable medium of claim 12, wherein destination privileges include payment privileges for accessing only a restricted portion of the data collected by the ID node.

21. The non-transitory computer-readable medium of claim 12, wherein the method further comprises, after the ID node is associated with the shipping entity master node, the ID node restricting the first entity user access device from directly accessing the data collected by the ID node.

22. The non-transitory computer-readable medium of claim 12, wherein when a second entity user access device is not authorized to access the collected data according to destination privileges, the data collected by the ID node remains owned by the shipping entity associated with the shipping entity master node when the ID node is associated with the shipping entity master node.

23. An ID node deployed with articles shipped and managed by multiple entities using a wireless node network, the ID node comprising: Node processor; The node memory is coupled to the processor and holds code for execution by the processing unit and data collected by the ID node during node operation; A short-range communication interface, which is coupled to the processing unit and is operable to communicate directly with the master node in the network via a short-range communication path, but cannot communicate directly with the server in the network; and The node processor can operate on the code maintained in the node memory when executing the code. An ID node is associated with a first entity user access device by generating first association data in the node memory. The first association data reflects the logical pairing between the ID node and the first entity user access device. The first entity user access device operates as a master node and is operable to communicate directly with the server via a longer communication path and separately with the ID node via a shorter communication path. If granted initial privileges, the first entity user access device is granted access to the data collected by the ID node. Prior to the first entity user access device being granted access to the data collected by the ID node, the initial privileges have been automatically granted by the server to the first entity user access device and are separately granted to associate the ID node provided by the server with the first entity user access device. The ID node is associated with the shipping entity master node by generating second association data in the node memory. The second association data reflects the logical pairing between the ID node and the shipping entity master node. The privileges transferred grant access to the data collected by the ID node to the associated shipping entity master node. The transferred privileges are provided by the server to the shipping entity master node during the shipment of the items to be shipped, which are deployed with the ID node. The ID node is associated with the second entity user access device by generating third association data in the node memory. The third association data reflects the logical pairing between the ID node and the second entity user access device. The second entity user access device operates as another master node and is operable to communicate directly with the server via a longer communication path and communicate separately with the ID node via a shorter communication path. If authorized by destination privileges, access to data collected by the ID node is provided to the associated second entity user access device. The destination privileges are provided by the server to the second entity user access device during the shipment of the items to be shipped, with the ID node deployed with it. The destination privileges allow the second entity user access device to access the data collected by the ID node from the ID node via short-range communication and then allow the second entity user access device to provide the data accessed from the ID node to the server via long-range communication. as well as The server requests software updates for the code maintained in the node's memory, regardless of where the data collected by the ID node is stored.

24. The ID node of claim 23, wherein the initial privileges include payment privileges for accessing data collected by the ID node.

25. The ID node of claim 23, wherein the initial privileges include payment privileges for providing the location of the ID node.

26. The ID node of claim 23, wherein the initial privileges include payment privileges for tracking items associated with the ID node over time.

27. The ID node of claim 23, wherein the initial privileges include privileges for a first entity user to access the device to manage where the data collected by the ID node is stored.

28. The ID node of claim 27, wherein the initial privileges include payment privileges for uploading data collected by the ID node from the node memory to the first entity user access device via a short-range communication path through a short-range communication interface.

29. The ID node of claim 27, wherein the initial privileges include privileges for enabling data collected by the ID node to be uploaded from the first entity user access device to the server via a longer communication path.

30. The ID node of claim 23, wherein destination privileges include payment privileges for accessing any data in the data collected by the ID node.

31. The ID node of claim 23, wherein destination privileges include payment privileges for accessing only a limited portion of the data connected by the ID node.

32. The ID node of claim 23, wherein the node processor is further operable to restrict direct access to the node memory by the first entity user access device for data collected against the ID node after the ID node is associated with the shipping entity master node.

33. The ID node of claim 23, wherein when the second entity user access device is not authorized to access the collected data according to destination privileges, the data collected by the ID node remains owned by the shipping entity associated with the shipping entity master node when the ID node is associated with the shipping entity master node.

Citation Information

Patent Citations

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

    US9095001B2

  • Radio network control

    CN101015224A

  • Open network connection

    CN101582822A