| United States Patent Application |
20140308963
|
| Kind Code
|
A1
|
|
Twitchell, JR.; Robert W.
|
October 16, 2014
|
MAINTAINING INFORMATION FACILITATING DETERMINISTIC NETWORK ROUTING
Abstract
In a wireless network that includes a plurality of nodes, a method of
maintaining, by a first node, information regarding communications links
between nodes in the wireless network includes: for each communications
link that is established with another node, recording an identification
of the other node; and for each message received by the first node from
the other node through the communications link with the other node,
recording a network pathway by which the message has been sent in the
wireless network, the network pathway identifying the nodes and the
communications links therebetween by which the message has been sent.
Another method includes recording, by a server, for each message that is
received by the server from the wireless network, a network pathway by
which the message has been sent, the network pathway identifying the
nodes and the communications links therebetween by which the message has
been sent.
| Inventors: |
Twitchell, JR.; Robert W.; (Cumming, GA)
|
| Applicant: | | Name | City | State | Country | Type | Google Inc. | Mountain View | CA | US
| | |
| Assignee: |
Google Inc.
Mountain View
CA
|
| Family ID:
|
1000000599827
|
| Appl. No.:
|
14/100357
|
| Filed:
|
December 9, 2013 |
Related U.S. Patent Documents
| | | | |
|
| Application Number | Filing Date | Patent Number | |
|---|
| | 13367341 | Feb 6, 2012 | 8605660 | |
| | 14100357 | | | |
| | 12271850 | Nov 15, 2008 | 8111651 | |
| | 13367341 | | | |
| | 11428536 | Jul 3, 2006 | 7940716 | |
| | 12271850 | | | |
| | 60696159 | Jul 1, 2005 | | |
|
|
| Current U.S. Class: |
455/445 |
| Current CPC Class: |
H04W 40/02 20130101 |
| Class at Publication: |
455/445 |
| International Class: |
H04W 40/02 20060101 H04W040/02 |
Claims
1. A wireless two-way RF data communication device that forms a node of a
data communications network, the device comprising: (a) a memory having
stored therein an unique identifier of the wireless two-way RF data
communication device that uniquely identifies the wireless two-way RF
data communication device within the data communications network; (b) a
receiver configured to receive radio frequency transmissions; (c) a
transmitter configured to make radio frequency transmissions; and (d)
electronic components arranged and configured such that (i) the wireless
two-way RF data communication device communicates with other nodes of the
data communications network in communicating messages from originating
nodes to destination nodes, (ii) each message that is communicated by the
wireless two-way RF data communication device includes (A) the unique
identification of the wireless two-way RF data communication device, and
(B) a message identification, and (iii) upon receiving a message from a
first other node of the data communications network, the wireless two-way
RF data communication device screens the received message to determine if
a message identification of the received message matches a message
identification stored in memory, and (A) if the message identification of
the received message does not match a message identification stored in
memory, (1) forwards the message to a second other node of the data
communications network for communication to a destination node, and (2)
stores the message identification of the received message in memory for
future screening, and (B) if the message identification of the received
message does match a message identification stored in memory, not
forwarding the message.
2. The wireless two-way RF data communication device of claim 1, wherein
the electronic components of the wireless two-way RF data communication
device are further arranged and configured such that each message that is
communicated by the wireless two-way RF data communication device
includes the unique identification of each intermediate node by which the
message has been communicated in the data communications network.
3. The wireless two-way RF data communication device of claim 1, wherein
the electronic components of the wireless two-way RF data communication
device are further arranged and configured such that each message that is
communicated by the wireless two-way RF data communication device
includes the unique identification of the originating node for the
message in the data communications network.
4. A data communications network, comprising: (a) a plurality of wireless
two-way radio frequency (RF) data communication devices, each wireless
two-way RF data communication device forming a node of the data
communications network and each wireless two-way RF data communication
device including a memory having stored therein an unique identifier of
the wireless two-way RF data communication device; (b) wherein each
wireless two-way RF data communication device comprises, (i) a receiver
configured to receive radio frequency transmissions, (ii) a transmitter
configured to make radio frequency transmissions, and (iii) electronic
components arranged and configured such that (A) the wireless two-way RF
data communication device communicates with other wireless two-way RF
data communication devices of the data communications network in
communicating messages from originating nodes to destination nodes, (B)
each message that is communicated by the wireless two-way RF data
communication device includes (1) the unique identification of the
originating node for the message, (2) a message identification, and (3)
the unique identification of each intermediate node by which the message
has been communicated in the data communications network, whereby the
pathway by which each message is communicated in the data communications
network is included with the message, (C) upon receiving a message from a
first other node of the data communications network, the wireless two-way
RF data communication device screens the received message to determine if
a message identification of the received message matches a message
identification stored in memory, and (1) if the message identification of
the received message does not match a message identification stored in
memory, (I) forwards the message to a second other node of the data
communications network for communication to a destination node, and (II)
stores the message identification of the received message in memory for
future screening, and (2) if the message identification of the received
message does match a message identification stored in memory, not
forwarding the message.
5. The data communications network of claim 4, wherein the identification
of an intermediate node of the pathway by which the electronic message
has been communicated is added to the pathway information by an
intermediate node.
6. The data communications network of claim 4, wherein each node
comprises a wireless radio-frequency data communication device having a
transmitter and a receiver that collectively receive and transmit
information wirelessly.
7. The data communications network of claim 4, wherein each wireless
two-way RF data communication device comprises a standards-based data
packet radio component that includes both said receiver and said
transmitter of the respective wireless two-way RF data communication
device.
8. The data communications network of claim 4, wherein the information is
wirelessly communicated in data packets.
9. The data communications network of claim 4, wherein the data
communication device includes an interface for communicating with a
sensor for receiving sensor-acquired data.
10. The data communications network of claim 4, wherein the data
communication device is attached to an asset for monitoring and tracking
of the asset.
11. The data communications network of claim 4, wherein the data
communication device is permanently affixed to a structure for monitoring
and/or tracking assets that come within a proximity thereto.
12. The data communications network of claim 4, wherein the communication
includes a message identification that is unique to the message being
communicated within the data communications network.
13. The data communications network of claim 4, wherein each
communication of a message within the data communications network
includes a predetermined pathway by which the message is to be
communicated.
14. The data communications network of claim 4, wherein each
communication of a message within the data communications network
includes, for each communications link between nodes identified in the
pathway by which the message has been communicated, a link quality.
15. In a data network comprising a plurality of wireless two-way radio
frequency (RF) data communication devices, each wireless two-way RF data
communication device forming a node of the data communications network, a
method comprising: (a) maintaining a unique identification of each of the
plurality of wireless two-way RF data communication devices that form a
node of the data communications network; and (b) upon receiving a message
from a first other node of the data communications network at a wireless
two-way RF data communication device, the message comprising (i) the
unique identification of the first other node, (ii) the unique
identification of each node in the pathway by which the message has been
sent, and (iii) a message identification, screening the received message
to determine if the message identification of the received message
matches a message identification stored in memory, and (A) if the message
identification of the received message does not match a message
identification stored in memory, (1) forwarding the message to a second
other node of the data communications network for communication to a
destination node, and (2) storing the message identification of the
received message in memory for future screening, and (B) if the message
identification of the received message does match a message
identification stored in memory, not forwarding the message.
16. The method of claim 15, wherein each wireless two-way RF data
communication device that comprises an intermediate node with respect to
communicating a message from an originating node to a destination node in
the data communications network includes with the message its unique
identification when communicating the message to the next subsequent
node.
17. The method of claim 15, wherein each node in the data communications
network that receives a communication of a message from a wireless
two-way RF data communication device includes, with the message, the
unique identification of the wireless two-way RF data communication
device from which the message is communicated.
18. The method of claim 16, further comprising the step of, for each node
that receives a communicated message from a wireless two-way RF data
communication device in the data communications network, including with
the unique identification of the two-way RF data communication device a
link quality of the communications link established between with the
wireless two-way RF data communication device and the node receiving the
communicated message such that a link quality for each communication link
in the pathway by which the message is sent from an originating node to a
destination node is communicated to the destination node upon delivery of
the message to the destination node.
19. The method of claim 18, further comprising the step of calculating an
overall link quality for the pathway by which the message is sent from an
originating node to a destination node.
Description
I. CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present application is a U.S. continuation patent application
of, and claims priority under 35 U.S.C. .sctn.120 to, U.S. nonprovisional
patent application Ser. No. 13/367,341, filed Feb. 6, 2012, incorporated
herein by reference, which published as U.S. patent application
publication no. 2012/0250619, incorporated herein by reference, and
issued Dec. 10, 2013 as U.S. Pat. No. 8,605,660, incorporated herein by
reference, which '341 application is a U.S. continuation patent
application of, and claims priority under 35 U.S.C. .sctn.120 to, U.S.
nonprovisional patent application Ser. No. 12/271,850, filed Nov. 15,
2008, incorporated herein by reference, which published as U.S. patent
application publication no. 2009/0092082, incorporated herein by
reference, and issued Feb. 7, 2012 as U.S. Pat. No. 8,111,651,
incorporated herein by reference, which '850 application is a
continuation patent application of, and claims priority under 35 U.S.C.
.sctn.120 to, U.S. nonprovisional patent application Ser. No. 11/428,536,
filed Jul. 3, 2006, incorporated herein by reference, which published as
U.S. patent application publication no. 2007/0002793, incorporated herein
by reference, and issued May 10, 2011 as U.S. Pat. No. 7,940,716,
incorporated by reference herein, and which '536 application is a
nonprovisional of, and claims priority under 35 U.S.C. .sctn.119(e) to,
U.S. provisional patent application No. 60/696,159, filed Jul. 1, 2005,
incorporated herein by reference, the disclosure of which is contained in
the Appendix to the present specification.
II. INCORPORATED REFERENCES
[0002] The present application hereby incorporates by reference: Twitchell
U.S. Pat. No. 6,934,540 B2 (titled "Network Formation in Asset-Tracking
System Based on Asset Class"); Twitchell U.S. Pat. No. 6,745,027 B2
(titled "Class Switched Networks for Tracking Articles"); Twitchell U.S.
patent application publication no. 2005/0093703 A1 (titled "Systems and
Methods Having LPRF Device Wake Up Using Wireless Tag"); Twitchell U.S.
patent application Ser. No. 11/422,321 (titled "Remote Sensor Interface
(RSI) Stepped Wake-Up Sequence"), which published as U.S. patent
application publication no. 2006/0276161, also incorporated herein by
reference; and Twitchell U.S. patent application Ser. No. 11/423,127
(titled "All Weather Housing Assembly For Electronic Components"), which
published as U.S. patent application publication no. 2006/0289204, also
incorporated herein by reference.
III. COPYRIGHT STATEMENT
[0003] All of the material in this patent document is subject to copyright
protection under the copyright laws of the United States and other
countries. The copyright owner has no objection to the facsimile
reproduction by anyone of the patent document or the patent disclosure,
as it appears in official governmental records but, otherwise, all other
copyright rights whatsoever are reserved.
IV. SUMMARY OF THE INVENTION
[0004] The present invention broadly relates to wireless communications
utilizing nondeterministic and deterministic networking and, in
particular, to wireless communications utilizing nondeterministic and
deterministic networking within ad hoc networking environments.
Commercial implementations of the present invention are particularly
suited for use in asset tracking networks, sensor data acquisition
networks, and combinations thereof, including class-based networks. Such
class-based networks are disclosed, for example, in U.S. Pat. Nos.
6,934,540 and 6,745,027, which have been incorporated herein by reference
above. Commercial implementations of the present invention also may be
particularly suited for use in voice and video conferencing
communications between persons.
[0005] The present invention includes many aspects and features, and
certain aspects and features of the present invention relate to a
wireless network that includes a plurality of nodes.
[0006] In such a wireless network, a first aspect of the invention
includes a method of communicating a message from an originating node,
intended for receipt by a destination node, via one or more intermediate
nodes, includes the step of communicating with all nodes within the
communications range of the originating node--including sending the
message--if a network pathway to the destination node is unknown by the
originating node.
[0007] In a feature of this aspect, the method further includes
communicating the message from the originating node by a first
intermediate node by communicating with all nodes within the
communications range of the first intermediate node if a network pathway
to the destination node is unknown by the first intermediate node. The
step of communicating by the first intermediate node includes sending the
message and the link quality between the originating node and the first
intermediate node.
[0008] In such a wireless network, another aspect of the invention
includes a method of communicating a message from an originating node,
intended for receipt by a destination node, via one or more intermediate
nodes, includes the steps of: (a) communicating with just a single node
within the communications range of the originating node if a network
pathway to the destination node is known by the originating node, the
single node being the first intermediate node identified in the known
network pathway, said step of communicating including sending the message
and the known network pathway to the first intermediate node; and (b)
communicating with one or more first intermediate nodes within the
communications range of the originating node if a network pathway to the
destination node is unknown by the originating node, said step of
communicating including sending the message.
[0009] In a feature of this aspect, the method further includes
communicating the message by a first intermediate node by: (a)
communicating with just a single node within the communications range of
the first intermediate node if a network pathway to the destination node
is known by the first intermediate node, the single node being the node
identified next after the first intermediate node in the known network
pathway, including sending, to the next identified node the message, the
known network pathway, and the link quality between the originating node
and the first intermediate node; and (b) communicating with one or more
nodes within the communications range of the first intermediate node if a
network pathway to the destination node is unknown by the first
intermediate node, including sending the message, and the link quality
between the originating node and the first intermediate node.
[0010] In another feature of this aspect, the method further includes
communicating the message by the first intermediate node by: (a)
communicating with just a single node within the communications range of
the first intermediate node if a single network pathway to the
destination node is known by the first intermediate node, the single node
being the node identified next after the first intermediate node in the
single network pathway, said step of communicating including sending, to
the single node, the message, the known network pathway, and the link
quality between the originating node and the first intermediate node; (b)
if a plurality of network pathways to the destination node are known by
the first intermediate node, then, determining a preferred network
pathway from the plurality of known network pathways in accordance with
an algorithm, and communicating with just a single node within the
communications range of the first intermediate node, the single node
being the node identified next after the first intermediate node in the
preferred network pathway, including sending, to the next identified
node, the message, the preferred network pathway, and the link quality
between the originating node and the first intermediate node; and (c) if
no network pathway is known by the first intermediate node, then
communicating with one or more nodes within the communications range of
the first intermediate node, including sending the message and the link
quality between the originating node and the first intermediate node.
Determining a preferred network pathway from the known network pathways
in accordance with an algorithm may include comparing, for each known
network pathway, the number of hops, between nodes, that are required to
reach the destination node; and/or comparing the overall link quality of
the respective known network pathways.
[0011] In such a wireless network, another aspect of the invention
includes a method of maintaining, by a first node, information regarding
communications links between nodes in the wireless network. The method
includes the steps of: (a) for each communications link that is
established with another node, recording an identification of the other
node; and (b) for each message received by the first node from the other
node through the communications link with the other node, recording a
network pathway by which the message has been sent in the wireless
network, the network pathway identifying the nodes and the communications
links therebetween in the wireless network by which the message has been
sent.
[0012] In a feature of this aspect, the method further includes recording,
in association with the identification of the other node, data indicative
of a link quality between the first node and the other node.
[0013] In a feature of this aspect, the method further includes recording,
for each message received by the first node from the other node through
the communications link with the other node, data indicative of a link
quality between each communications link in the network pathway by which
the message has been sent.
[0014] In a feature of this aspect, the method further includes recording,
in association with the identification of the other node, data indicative
of class designations of the other node.
[0015] In a feature of this aspect, the method further includes recording,
for each message received by the first node from the other node through
the communications link with the other node, data indicative of class
designations of each node in the communications links in the network
pathway by which the message has been sent.
[0016] In a feature of this aspect, the method further includes recording,
for each message received by the first node from the other node through
the communications link with the other node, data generally indicative of
the time at which the message has been sent via the network pathway.
[0017] In a feature of this aspect, the method further includes recording,
for each message received by the first node from the other node through
the communications link with the other node, a network pathway to a
destination node by which the message is being sent if such network
pathway to the destination node is identified with the message.
[0018] In a feature of this aspect, the method further includes
communicating, by the first node, the message to a subsequent node in the
wireless network if the message is intended for receipt by a node other
than the first node, including the steps of: determining whether one or
more network pathways are known by the first node from the first node to
the destination node of the message; communicating with just a single
node within the communications range of the first node if a single
network pathway to the destination node is known by the first node, the
single node being the node identified next in the single network pathway
after the first node, including sending, to the single node, the message,
the single network pathway, and the link quality between the first node
and the other node from which the message was received by the first node;
and (c) if more than one network pathway to the destination node is known
by the first node, then determining a preferred network pathway from the
known network pathways in accordance with an algorithm, and communicating
with just a single node within the communications range of the first
node, the single node being the node identified next in the preferred
network pathway after the first node, including sending, to the single
node, the message, the preferred network pathway and the link quality
between the first node and the other node from which the message was
received by the first node; and (d) if no network pathway to the
destination node is known by the first node, then communicating with one
or more nodes within the communications range of the first node,
including sending, the message and the link quality between the first
node and the other node from which the message was received by the first
node. Determining whether one or more network pathways are known by the
first node from the first node to the destination node of the message may
include searching the maintained information for a network pathway from
the first node to the destination node, and the maintained information
that is searched may include any network pathway to the destination node
that is identified with the message.
[0019] In features of this aspect, determining a preferred network pathway
from the known network pathways in accordance with an algorithm includes
comparing the general times at which messages were sent via the network
pathways; comparing the number of hops between nodes in the known network
pathways; and/or comparing the overall link quality of the known network
pathways.
[0020] In such a wireless network, another aspect of the invention
includes a method of maintaining information regarding communications
links between nodes in the wireless network includes recording, by a
server, for each message that is received by the server from the wireless
network, a network pathway by which the message has been sent in the
wireless network, the network pathway identifying the nodes and the
communications links therebetween in the wireless network by which the
message has been sent.
[0021] In a feature of this aspect, the method further includes recording,
in association with the identification of the nodes and the
communications links therebetween in the wireless network by which the
message has been sent, data indicative of a link quality for each
communications link.
[0022] In a feature of this aspect, the method further includes recording,
in association with each network pathway by which the message has been
sent, data indicative of overall link quality for the network pathway.
[0023] In a feature of this aspect, the method further includes recording,
in association with each network pathway by which the message has been
sent, data generally indicative of the time at which the message was sent
via the network pathway.
[0024] In a feature of this aspect, the method further includes: (a)
determining, based on the maintained information, a network pathway for
communicating a message to a destination node of the wireless network,
and (b) communicating the message to a gateway node of the wireless
network together with the determined network pathway to the destination
node.
[0025] In a feature of this aspect, the method further includes
distributing, to one or more nodes of the wireless network, information
regarding communications links based on the information maintained by
said server.
[0026] In a feature of this aspect, the method further includes
distributing, to one or more nodes of the wireless network, information
regarding network pathways based on the information maintained by said
server.
[0027] In additional feature of the foregoing aspects, a message may be
communicated between nodes utilizing transmission control protocol (TCP),
and messages may be communicated between nodes of the wireless network
via data packets.
[0028] In addition to the foregoing methods in accordance with aspects the
invention, other aspects of the invention relate to wireless networks
that utilize such methods and, in particular, such wireless networks that
are ad hoc wireless networks. The wireless networks furthermore may
comprise class-based wireless network that may be utilized for monitoring
and/or tracking assets.
[0029] In features of these aspects, a node of the wireless network may be
a data communications device and include, for example, a standards based
radio such as a Bluetooth radio. The node may further includes a wireless
receiver for powering up the standards based radio upon receipt of a
broadcast that is intended for the standards based radio. The second
wireless receiver further may perform a stepped wake-up sequence of the
standards based radio. The standards based radio further may include a
sensor interface whereby data is acquired by the data communications
device from an associated sensor, and the wireless network may comprise a
remote sensor interface (RSI) network.
[0030] In addition to the aforementioned aspects and features of the
invention, it should be noted that the invention further includes the
various possible combinations of such aspects and features, including the
combinations of such aspects and features with those aspects and features
of the incorporated references from which priority is claimed.
V. BRIEF DESCRIPTION OF THE DRAWINGS
[0031] Particular embodiments of the invention are to be understood
according to the detailed descriptions that follow in conjunction with
the attached figures, wherein:
[0032] FIG. 1 illustrates an architecture associated with an exemplary
embodiment of the invention.
[0033] FIGS. 2-8 illustrate the wireless network of FIG. 1 in which the
sequence of node-to-node communications occurs when a message from node
X.sub.7 is originated and communicated for further communication to the
server of FIG. 1.
[0034] FIG. 9 illustrates a table of representative link quality for each
possible communications link that may be established between each pair of
nodes of the wireless network of FIG. 1.
[0035] FIG. 10 illustrates a table of representative overall link quality
for each possible pathway between a node and the server in the wireless
network of FIG. 1, the overall link quality being based on the link
quality for each node-to-node communications link set forth in the table
of FIG. 9.
[0036] FIG. 11 illustrates a table of representative link quality for each
communications link established between each pair of nodes of the
wireless network of FIG. 1 that is known to the server at time t=t.sub.5
based on communication sequences of FIGS. 2-8.
[0037] FIG. 12 illustrates a table of overall link quality for each
pathway between a node and the server in the wireless network based on
the table of link qualities of FIG. 11 that are known to the server.
[0038] FIG. 13 illustrates another architecture associated with exemplary
embodiments of the invention in which class-based wireless networks are
utilized.
[0039] FIGS. 14-30 illustrate network routing in the class-based wireless
networks of FIG. 13.
VI. DETAILED DESCRIPTION
[0040] As a preliminary matter, it will readily be understood by one
having ordinary skill in the relevant art ("Ordinary Artisan") that the
present invention has broad utility and application. Various embodiments
are discussed for illustrative purposes in providing a full and enabling
disclosure of the present invention. Moreover, many embodiments, such as
adaptations, variations, modifications, and equivalent arrangements, will
be implicitly disclosed by the descriptions of embodiments herein and
fall within the scope of the present invention.
[0041] Accordingly, while the present invention is described herein in
detail in relation to one or more embodiments, it is to be understood
that this disclosure is illustrative and exemplary of the present
invention, and is made merely for the purposes of providing a full and
enabling disclosure of the present invention. The detailed disclosure
herein of one or more embodiments is not intended, nor is to be
construed, to limit the scope of patent protection afforded the present
invention. It is not intended that the scope of patent protection
afforded the present invention be defined by reading into any claim a
limitation found herein that does not explicitly appear in the claim
itself.
[0042] Thus, for example, any sequence(s) and/or temporal order of steps
of various processes or methods that are described herein are
illustrative and not restrictive. Accordingly, it should be understood
that, although steps of various processes or methods may be shown and
described as being in a sequence or temporal order, the steps of any such
processes or methods are not limited to being carried out in any
particular sequence or order, absent an indication otherwise. Indeed, the
steps in such processes or methods generally may be carried out in
various different sequences and orders while still falling within the
scope of the present invention. Accordingly, it is intended that the
scope of patent protection afforded the present invention is to be
defined by the appended claims rather than the description set forth
herein.
[0043] Additionally, it is important to note that each term used herein
refers to that which the Ordinary Artisan would understand such term to
mean based on the contextual use of such term herein. To the extent that
the meaning of a term used herein--as understood by the Ordinary Artisan
based on the contextual use of such term--differs in any way from any
particular dictionary definition of such term, it is intended that the
meaning of the term as understood by the Ordinary Artisan should prevail.
[0044] Furthermore, it is important to note that, as used herein, "a" and
"an" each generally denotes "at least one," but does not exclude a
plurality unless the contextual use dictates otherwise. Thus, reference
to "a picnic basket having an apple" describes "a picnic basket having at
least one apple" as well as "a picnic basket having apples." In contrast,
reference to "a picnic basket having a single apple" describes "a picnic
basket having only one apple."
[0045] When used herein to join a list of items, "or" denotes "at lease
one of the items," but does not exclude a plurality of items of the list.
Thus, reference to "a picnic basket having cheese or crackers" describes
"a picnic basket having cheese without crackers", "a picnic basket having
crackers without cheese", and "a picnic basket having both cheese and
crackers." Finally, when used herein to join a list of items, "and"
denotes "all of the items of the list." Thus, reference to "a picnic
basket having cheese and crackers" describes "a picnic basket having
cheese, wherein the picnic basket further has crackers," as well as
describes "a picnic basket having crackers, wherein the picnic basket
further has cheese."
TERMINOLOGY
[0046] In addition to the foregoing, the following terminology also is
used herein.
[0047] As used herein with reference to a wireless network, a "node" of
the wireless network refers to a wireless radio-frequency data
communication device comprising a transceiver that receives and transmits
information wirelessly with one or more other nodes of the wireless
network. Moreover, in preferred embodiments and implementations of the
invention, the transceiver comprises a standards-based radio, such as a
Bluetooth radio, and information is communicated in data packets using
transmission control protocol ("TCP"). A data communication device of a
node of the wireless network may be mobile or fixed at a particular
location, and the data communication device may include an internal power
supply source or utilize an external power supply source. The data
communication device also preferably includes an interface for
communicating with an associated sensor or other data acquisition device,
which sensor may or may not form part of the node. The data communication
device constituting the node may be attached to an asset that is to be
monitored and/or tracked; alternatively, the data communication device
constituting the node may be permanently affixed to a structure for
monitoring and/or tracking assets that come within proximity thereto.
[0048] Generally, in receiving or transmitting information wirelessly
between two nodes of a wireless network, a communications link is
established between the two data communication devices of the two nodes.
An electronic message then is transmitted via the communications link
between the two data communication devices. Following transmission of the
electronic message, the communications link is disconnected.
[0049] Alternatively, the communications link established between the data
communication devices of the two nodes may be maintained, if desired, in
order to provide continuous communications between the two nodes without
having to reestablish a communications link therebetween. Establishing a
continuous communications link between two nodes without having to
reestablish the communications link therebetween is particularly
desirable, for instance, in transmitting real time audiovisual content,
or in providing real time audiovisual communications between persons.
Such person-to-person communications further may be "two-way" when each
data communication device at each node includes dual radios. This is
particularly true when Bluetooth radios are utilized, which do not
include duplex capabilities. Thus, for example, maintaining continuous
communications between two nodes each employing dual radios is
particularly desirable if data packets for Voice-over-IP ("VoIP")
services are to be wirelessly transmitted between the two nodes.
[0050] A node of a wireless network from which an electronic message first
is sent is referred to herein as an "originating node." Similarly, a node
of a wireless network to which an electronic message is ultimately
destined is referred to herein as a "destination node." Any node that
relays the electronic message from the originating node to the
destination node is referred to herein as an "intermediate node." Each
route by which an electronic message is communicated from an originating
node to a destination node is referred to herein as a "pathway," and each
pathway is identified by the identification of the originating node, each
intermediate node that relays the electronic message, and the destination
node.
[0051] In accordance with the invention, one or more nodes of a wireless
network preferably are disposed in direct electronic communication with a
network that is external to the wireless network. Such a node is referred
to herein as a "gateway." Communications between the gateway and the
external network may be wireless or hard wired and comprise, for example,
a network interface card that accepts a CAT 5 cable for Ethernet
communications; a cellular transceiver for communications via a cellular
telephone network; a satellite transceiver for communications via a
satellite network; or any combination thereof. The wired network itself
may be a wide area network ("WAN") and include the Internet.
[0052] A computer system preferably is disposed in electronic
communication with the same wired network, whereby the computer system
and each node of the wireless network may communicate with each other
through the external network, such as the WAN, and the one or more
gateways. Generally, the computer system preferably includes application
software and a database (or access to a database), and the computer
system records and maintains information regarding the wireless network,
nodes thereof, and/or data received therefrom. Such a computer system is
referred to herein as a "server."
[0053] A node of the wireless network at which a data communication device
establishes a communications link with a gateway is referred to herein as
a "top level node."
[0054] As further used herein with reference to a wireless network, an "ad
hoc network" refers to a wireless network in which node-to-node
communications occur without central control or wired infrastructure.
Such a network typically will have dynamic pathways and is advantageous
because it is inexpensive, fault-tolerant, and flexible. Wireless
networks used in accordance with the present invention preferably
comprise ad hoc networks.
[0055] Each communication of an electronic message between nodes may
include several components, including a header and a body. The body of
the communication preferably carries the original message from the
originating node and would include any data acquired at the node or by a
sensor associated with the node that is to be communicated to the server.
The header of the communication preferably includes information
pertaining to the message itself, such as a unique "message ID" that
comprises information representative of the originating node of the
message and may include a count representing the number of messages
originated by the originating node. In class-based networks, the message
ID further may include the class or classes of the originating node.
[0056] The header of the communication also preferably includes the
pathway by which the message is to be communicated when the message is
being sent in accordance with a deterministic routing method of the
present invention, which is described in detail below.
[0057] Other header information of the communication preferably includes
the pathway history by which the message has been communicated, including
the original communication from the originating node, and the link
quality of each communications link between nodes in the pathway history.
A possible checksum and priority optionally may be included in the
message header. In class-based networks, the header of the communication
also may include one or more class designations.
Exemplary Implementation
[0058] Turning now to the figures, FIG. 1 illustrates an architecture
associated with an exemplary embodiment of the invention.
[0059] In FIG. 1, a server 10 is shown disposed in communication with a
wide area network (WAN) 12 such as, for example, the Internet. A wireless
network 14 also is represented in FIG. 1, wherein eight nodes form an ad
hoc network. The eight nodes include seven nodes X.sub.1, X.sub.2,
X.sub.3, X.sub.4, X.sub.5, X.sub.6, X.sub.7 that are not directly
connected to the WAN 12, and an eighth node G 16 disposed in direct
electronic communication with the WAN 12, thereby serving as a gateway 16
in the wireless network 14. Each of the nodes X.sub.1, X.sub.2, X.sub.3,
X.sub.4, X.sub.5, X.sub.6, X.sub.7 may be fixed or mobile, and each of
the nodes X.sub.1, X.sub.2, X.sub.3, X.sub.4, X.sub.5, X.sub.6, X.sub.7
may exit the wireless network 14 and may or may not rejoin the wireless
network 14. The eighth node G also may be mobile or fixed. Accordingly,
the wireless network 14 is shown in a grid formation in FIG. 1 only for
simplicity and clarity in illustrating the present invention, and it is
to be understood that the spatial relationships between any of the
various nodes G, X.sub.1, X.sub.2, X.sub.3, X.sub.4, X.sub.5, X.sub.6,
X.sub.7 likely will be fluid in any actual implementation.
[0060] The exemplary grid arrangement also aids in illustrating an
exemplary range of communication for each node. In this respect, each
node is deemed to have a communications range equal to the length of a
side of one of the nine basic squares of the grid. Consequently,
communications may occur between a node either to the immediate side or
top or bottom of another node within the grid; however, a node disposed
diagonally to another node is out of direct communications range and,
therefore, direct communications between such nodes do not occur. Again,
each node is shown having the same communications range only for
simplicity and clarity in illustrating the present invention, and it is
to be understood that the actual communications ranges of the nodes
likely will vary in any actual implementation.
Communications Between Server and Nodes
[0061] In accordance with the present invention, communications between
the server 10 and each node of the wireless network 14 occur in which
information is acquired by the server 10 from each of the nodes. The
information may include data that is stored within a computer-readable
medium of the node and/or data that is acquired from a sensor that is
associated with the node. In communicating with each node other than a
gateway 16, the server 10 communicates via one or more intermediate nodes
including a gateway 16. In communicating with a node that is a gateway
16, the server 10 communicates with the gateway 16 preferably without
communicating via one or more other nodes of the wireless network 14. In
communicating between nodes and between the gateway 16 and the server 10,
TCP preferably is utilized as the protocol, which well known protocol is
robust and accounts for error detection and correction.
[0062] Origination and communication of a message from a node to the
server 10 preferably is triggered upon occurrence of a predefined event
("Trigger Event"). The Trigger Event may be based on data that is
acquired by a sensor. Thus, for example, if a sensor monitors the opening
of a maritime shipping container door, a Trigger Event may include the
detection that the container door has been opened. In another example, if
a sensor monitors for motion of an asset being tracked, a Trigger Event
may include the movement of the asset.
[0063] Alternatively, or in addition thereto, Trigger Events may be
predefined to occur at regular defined intervals at which times messages
are originated and communicated from a node to the server 10. Such
messages may include all or a portion of data that has been acquired from
a sensor associated with the node. Such intervals may be determined
utilizing a timer.
[0064] In addition to origination and communication of a message from a
node to the server 10 upon occurrence of a Trigger Event, a message also
may be originated and communicated from a node to the server 10 in
response to an inquiry that is received by and directed to the node, a
response to which is included in the message.
Communicating via Pathways in the Wireless Network: Deterministic vs.
Nondeterministic Routing
[0065] Upon occurrence of a Trigger Event, and assuming that the
originating node is other than a gateway 16, a message is originated and
communicated from the originating node to a neighboring node. Two
scenarios exist in this situation. First, a particular pathway for
reaching a gateway 16 may be known to the originating node. In this first
scenario, the wireless network 14 is deemed a "Deterministic Network," at
least to the extent that the originating node can provide determined
routing information in the communication of the message, whereby the
message will be sent to the gateway 16 via the identified pathway. In the
second scenario, a pathway for reaching a gateway 16 is not known by the
originating node, and the wireless network 14 is deemed a
"Nondeterministic Network," at least to the extent that the originating
node does not know and, therefore, cannot provide determined routing
information identifying a pathway for communication of the message to a
gateway 16. Each of these scenarios will be discussed in greater detail
below. The nondeterministic network scenario is described in detail
first.
Nondeterministic Routing Illustration: Node to Server Communication
[0066] FIGS. 2-8 illustrate the wireless network 14 of FIG. 1 in which a
Trigger Event occurs at node X.sub.7 and a sequence of node-to-node
communications takes place thereafter. Because of the occurrence of the
Trigger Event, a message is originated and communicated from node X.sub.7
for further communication to the server 10. The sequence of node-to-node
communications illustrated here is in accordance with nondeterministic
routing and may occur, for example, when none of the nodes X.sub.1
through X.sub.7 have previously communicated with the server 10 through
the wireless network 14, i.e., when each node may be "new" to the
wireless network 14 and/or "new" to the wireless network topology shown
in FIG. 1.
[0067] With particular regard to certain steps in the sequence of
communicating the message from node X.sub.7 to the gateway 16, FIG. 2
illustrates the wireless network 14 at time t=t.sub.0 before any message
has been originated or communicated. In contrast thereto, at time
t=t.sub.1 a Trigger Event (FIG. 3) has occurred at node X.sub.7, and a
message as been originated at node X.sub.7. At this time the pathway for
reaching a gateway 16 in the wireless network 14 is unknown to the data
communication device of node X.sub.7. In accordance with the present
invention, because the pathway is unknown, the message is communicated
generally to all data communication devices falling within communications
range of node X.sub.7. The message therefore is shown in FIG. 3 being
communicated at time t=t.sub.1 to neighboring node X.sub.6, which node
happens to be within the communications range of node X.sub.7. Indeed,
the communications range of node X.sub.7 is graphically illustrated in
FIG. 3 by the generally circular outline around node X.sub.7, within
which only node X.sub.6 at least partially lies. Nodes within the
communications range of node X.sub.7, i.e., node X.sub.6, also are
explicitly identified in the range definition set forth in FIG. 3. The
act of communicating the message by node X.sub.7 further is graphically
illustrated in FIG. 3 by shading of the square of the grid containing
node X.sub.7.
[0068] Furthermore, it will be appreciated from the foregoing description
that in communicating the message from node X.sub.7 to node X.sub.6, a
communications link first was established between these two nodes. In
establishing the communications link, preferably each node is identified
to the other node in the communications link, whereby the originating
node will come to learn the neighboring node that falls within its
communications range (at least at that time). Furthermore, node
X.sub.6--an intermediate node--will come to learn the node from which the
message is received for forwarding to a gateway 16. In establishing the
communications link and in communicating the message, information
regarding the quality of the link also may be monitored and recorded.
[0069] At time t=t.sub.2, the message is shown in FIG. 4 being
communicated by node X.sub.6 to neighboring nodes X.sub.4, X.sub.5,
X.sub.7, which nodes happen to be within the communications range of node
X.sub.6. Again, because node X.sub.6 does not know a pathway to the
gateway 16, node X.sub.6 proceeds to communicate the message generally to
all nodes within its communications range following the same protocol as
originating node X.sub.7. The communications range of node X.sub.6 is
graphically illustrated in FIG. 4 by the generally circular outline
around node X.sub.6, within which only nodes X.sub.4, X.sub.5, X.sub.7
each at least partially lies. Nodes within the communications range of
node X.sub.6, i.e., nodes X.sub.4, X.sub.5, X.sub.7, also are explicitly
identified in the range definition set forth in FIG. 4. The act of
communicating the message by node X.sub.6 further is graphically
illustrated in FIG. 4 by shading of the square of the grid containing
node X.sub.6.
[0070] At time t=t.sub.3, the message is shown in FIG. 5 being
communicated by each of nodes X.sub.4, X.sub.5 to respective neighboring
nodes that happen to be within communications range. The communications
range of node X.sub.4 is graphically illustrated by the generally
circular outline around node X.sub.4 in FIG. 5, and the communications
range of node X.sub.5 is graphically illustrated by the generally
circular outline around node X.sub.5 in FIG. 5. As further identified in
FIG. 5, nodes X.sub.2, G, X.sub.6 each at least partially lies within the
communications range of node X.sub.4, and nodes G, X.sub.6 each at least
partially lies within the communications range of node X.sub.5. The act
of communicating the message by node X.sub.4 further is graphically
illustrated in FIG. 5 by shading of the square of the grid containing
node X.sub.4, and the act of communicating the message by node X.sub.5
further is graphically illustrated in FIG. 5 by shading of the square of
the grid containing node X.sub.5. Receipt of a communication containing
the message by node G at time t=t.sub.3 also is emphasized in FIG. 5 by
shading of the square of the grid containing node G.
[0071] Furthermore, it should be noted that although node X.sub.7 received
the communication from node X.sub.6, node X.sub.7 does not communicate
the message a second time. Preferably, a message that has been
communicated from a node is stored or cached within memory of the data
communication device of the node, and before a message received from
another node is forwarded, the message is screened against those messages
stored or cached within memory. Alternatively, a message ID of a message
that has been communicated from a node preferably is stored or cached
within memory of the data communication device of the node, and before a
message received from another node is forwarded, the message ID of that
message is screened against the message IDs stored or cached within
memory. In either case, if it is determined that a message previously has
been communicated from the node, then the same message will not be
communicated again from the node. Consequently, node X.sub.7 is not
illustrated in FIG. 5 as communicating the message again. Only nodes
X.sub.4, X.sub.5, which have not previously communicated the message, are
shown in FIG. 5 as communicating the message.
[0072] At time t=t.sub.4, the message is shown in FIG. 6 being
communicated to neighboring nodes X.sub.1, X.sub.3, X.sub.4, which nodes
happen to be within the communications range of node X.sub.2. The
communications range of node X.sub.2 is graphically illustrated in FIG. 6
by the generally circular outline around node X.sub.2, within which only
nodes X.sub.1, X.sub.3, X.sub.4 each at least partially lies. The nodes
within the communications range of node X.sub.2, i.e., nodes X.sub.1,
X.sub.3, X.sub.4, also are explicitly identified in the range definition
set forth in FIG. 6. The act of communicating the message by node X.sub.2
further is graphically illustrated by shading of the square of the grid
containing node X.sub.2. Node G, which also received the message at
t=t.sub.3, does not communicate the message to other nodes in the
wireless network 14 like node X.sub.2. Instead, node G is in
communications with the external network and knows that the pathway to
the server 10 from node G does not include any of the nodes within the
wireless network 14. Consequently, node G does not communicate the
message within the wireless network 14 because it knows that it is
unnecessary to do so in order to communicate the message to the server
10. More generally, if a node knows of a deterministic pathway to a
destination node when it receives a communication via nondeterministic
routing, then the node may further communicate the message via the known
deterministic pathway from that point forward.
[0073] At time t=t.sub.5, the message is shown in FIG. 7 being
communicated by each of nodes X.sub.1, X.sub.3 to respective neighboring
nodes that happen to be within communications range. The communications
range of node X.sub.1 is graphically illustrated by the generally
circular outline around node X.sub.1 in FIG. 7, and the communications
range of node X.sub.3 is graphically illustrated by the generally
circular outline around node X.sub.3 in FIG. 7. As further identified in
FIG. 7, nodes G, X.sub.2 each at least partially lies within the
communications range of node X.sub.1, and node X.sub.2 at least partially
lies within the communications range of node X.sub.3. The act of
communicating the message by node X.sub.1 further is graphically
illustrated by shading of the square of the grid containing node X.sub.1,
and the act of communicating the message by node X.sub.3 further is
graphically illustrated by shading of the square of the grid containing
node X.sub.3. Receipt of a communication containing the message by node G
at time t=t.sub.5 also is emphasized in FIG. 7 by shading of the square
of the grid containing node G.
[0074] At time t=t.sub.6, the message now has been communicated to the
gateway 16 by way of three different pathways, the message has been
propagated generally to all nodes of the wireless network 14, and no
further communication of the message within the wireless network 14
occurs, as illustrated in FIG. 8. Moreover, each node is identified in
FIG. 8 with reference to the number of "hops" that occurred in receiving
the message (for the first time) from the originating node.
[0075] In accordance with preferred implementations, when node G (the
gateway 16) receives the message intended for the server 10, the message
is communicated to the server 10. Together with the message, the
following information also preferably is communicated from the gateway 16
to the server 10: the pathway, including the identification of the
originating node and each intermediate node by which the message was
communicated; and the link quality of each communications link of the
pathway. Other information also may be communicated, as desired.
[0076] Based on the illustration set forth in FIGS. 2-8, the server 10 of
FIG. 1 will receive three communications of the message from the gateway
16. In accordance with the present invention, the server 10 will record,
for each receipt of the message, the pathway by which the message was
communicated, including the identification of the originating node and
each intermediate node by which the message was communicated. The server
10 additionally will record the link quality of each communications link
in the pathway and will calculate a representative overall link quality
for each pathway. Any other information communicated with the message
also may be recorded in association therewith.
[0077] For purposes of illustration and understanding of the present
invention, a table setting forth exemplary link qualities of each
possible communications link in the wireless network topology of FIG. 1
is shown in FIG. 9. In these examples, the link quality is represented by
a percentage of packets that are successfully transmitted to total
transmitted packets. (It should be noted that differences in link quality
are overstated in order to emphasize differences in link quality in FIG.
9 and differences in overall link quality in FIG. 10. In actuality, the
differences in link quality between a "good link" and a "poor link" are
typically much smaller. It further should be noted that other means for
determining link quality can be utilized, such as by monitoring the
number of packets that are retransmitted between two nodes.)
[0078] Notably, in the foregoing illustration of FIGS. 2-8, the server 10
will not record the link quality for the communications link between
respective data communication devices of nodes X.sub.2 and X.sub.3. This
communications link will not be recorded by the server 10 because no
pathway included node X.sub.3. Thus, the server 10 will receive and
record the link quality for all possible links except the communications
link between respective data communication devices of node X.sub.2 and
node X.sub.3. A table setting forth exemplary link qualities for all
links known to the server 10 is shown in FIG. 11.
[0079] Additionally, for purposes of illustration and understanding of the
present invention, a table setting forth exemplary overall link qualities
of each possible pathway is shown in FIG. 10. The overall link quality
shown here is based on the link quality for each node-to-node
communications link set forth in the table of FIG. 9, and is achieved
through multiplication of the individual link qualities making up a
particular pathway. In the foregoing illustration of FIGS. 2-8, the
server 10 will be able to calculate the overall link quality for all
pathways in the wireless network 14 except for the pathways that include
node X.sub.3. A table setting forth exemplary overall link qualities for
all pathways known to the server 10 is shown in FIG. 12.
[0080] It is revealing to note that the tables of FIGS. 9-10 and the
tables of FIGS. 11-12 do not differ significantly, and that a significant
amount of information has been learned by the server 10 about the
wireless network 14 upon the single message having been originated and
communicated from node X.sub.7 (i.e., the data communication device
thereof) in the nondeterministic manner. (It should be noted that the
identification of the nodes in the tables of FIGS. 9-12 represent the
data communication devices of the nodes and that each data communication
device is identified by a unique identifier.)
[0081] Furthermore, several observations of characteristics of the
wireless network 14 and manner of communicating as set forth in FIGS. 2-8
should now be apparent to the Ordinary Artisan.
[0082] For example, it should be apparent that no node of the wireless
network 14 will appear twice in any pathway.
[0083] Second, it should be apparent that a node must either be an
originating node or an intermediate node in a pathway by which a message
is successfully communicated to the server 10 in order for the server 10
to gain information regarding that node.
[0084] Third, a message sent in nondeterministic manner from an
originating node that arrives via the same gateway 16 from two top level
nodes evidences the fact that the two top level nodes each represents an
ad hoc network in which the nodes of the particular network are disposed
in communication with each other. Conversely, a message sent in
nondeterministic manner from an originating node that arrives via a
gateway 16 from only one of two or more known top level nodes evidences
the fact that the top level node represents an ad hoc network in which
nodes of that network are disposed in radio isolation from all other
nodes of the other ad hoc networks represented by the other top level
nodes. In the exemplary wireless network 14 of FIGS. 1-8, top level nodes
include nodes X.sub.1, X.sub.4, and X.sub.5. There are no isolated ad hoc
networks shown in FIG. 8.
Deterministic Routing Illustration: Server to Node Communication
[0085] A deterministic routing illustration is readily described based on
the information obtained from the nondeterministic routing illustration
of FIGS. 2-8. In this regard, if a message such as an inquiry or command
is to be sent from the server 10 to a data communication device of a node
of the wireless communications network 14, the information received by
the server 10 preferably is utilized in sending the message via a known
pathway that includes the recipient node as the last node of the pathway.
In particular, if the server 10 is to send a message, for example, to
node X.sub.7, then the server 10 preferably searches the known pathways
in Table 4 of FIG. 12 and identifies each pathway that ends with the data
communication device of node X.sub.7. Of all such pathways that are
identified, the server 10 preferably sends the message along one of the
pathways that is selected to be the "best" based on one or more
predefined parameters and/or algorithms.
[0086] An exemplary algorithm that may be used includes selecting the
pathway having the shortest number of intermediate nodes, thereby
reducing the number of "hops" that must occur in successfully
communicating the message to the destination node. In other words, the
"shortest" known pathway is selected. Referring to the Table 4 of FIG.
12, two pathways comprise the shortest pathways, and are represented by
the notations //G/X4/X6/X7 and //G/X5/X6/X7.
[0087] In selecting the "best" of these two "shortest" pathways,
additional factors may be considered, such as the overall link quality of
the pathway, with the pathway having the best overall link quality being
selected. In this case, the first pathway has an overall link quality of
24.3% which exceeds, in this case substantially, the overall link quality
of 8.1% of the second pathway and, thus, the first pathway preferably
would be selected as the determined route for sending the message from
the server 10 to the data communication device of node X.sub.7.
[0088] Another algorithm for selecting a pathway may comprise selecting
the pathway having the best overall link quality without regard to the
number of intermediate nodes or hops. For example, with reference to
Table 4 of FIG. 12, a message to be communicated to the data
communication device of node X.sub.5 would be sent via pathway
//G/X4/X6/X5 in accordance with this algorithm, even though pathway
//G/X5 is the shortest, because the overall link quality of the longer
pathway is 72.9% compared to the overall link quality of the shorter
pathway of 30%. The unexpected difference in link qualities may be
attributed, for example, to environmental factors including radio
frequency obstacles. Moreover, such radio frequency obstacles can be
inferred from the data that is collected with messages received from the
wireless network 14, including the various pathways and link qualities,
as shown in the tables. Inferences that may be drawn include the absolute
or relative locations of radio frequency obstacles if absolute or
relative locations of the data communication devices of certain nodes is
known. Such information, for example, can be acquired from GPS sensors
and the like that are included or associated with these data
communication devices.
Dynamic Nature of the Ad Hoc Wireless Network and Continual Maintenance of
Routing Tables
[0089] Due to the nature of the ad hoc network and the mobility of one or
more of the data communication devices of the nodes thereof, the wireless
network topology likely will change over time. Consequently, pathways and
link qualities will change, and pathways and link qualities recorded in
any table that may be maintained by the server 10 likely will become
outdated. To address this, the server 10 preferably updates any such
table as each message and associated information is received from the
wireless network 14. Due to the significant amount of information that
may be received from the wireless network 14 with any given message,
information maintained by the server 10 nevertheless may prove valuable
during its useful life. Moreover, information that is outdated may be
identified based on more recent information that is received by the
server 10 with another message, as well as by the failure to receive an
acknowledgement ("ACK") in response to a communication by the server 10
to a particular node of the wireless network 14 via a previously known
pathway. An entry for a pathway by which a message is not successfully
sent from the server 10 to a node may be removed, together with all
sub-pathways including the destination node of the message.
Acknowledging Successful Receipt of a Message: Sending an ACK
[0090] Upon the successful receipt of a message by the server 10, the
server 10 preferably sends an ACK to the originating node of the message
to acknowledge the successful receipt of the message. Preferably, only
one ACK is sent for each particular message, regardless of the number of
times that the particular message is received by the server 10 via
different pathways. In sending the ACK, the server 10 preferably selects
a known pathway based on information that is received with the message or
that has been received in conjunction with previous messages or other
intelligence that is known about the network topology. Selection of the
particular pathway is made in accordance with one of the disclosed
algorithms or in accordance with some other algorithm, as desired. If an
ACK is not received from the server 10 by the originating node, then the
originating node will save the message in memory for communication at a
later time when communication with the server 10 is available, whether
via the wireless network 14 of FIGS. 1-8 or via a future wireless
network.
[0091] Similarly, the receipt of a message representing a command or
inquiry that is sent by a server 10 to a destination node preferably is
acknowledged by an ACK being sent to the server 10 from the destination
node. The message may be sent via a known pathway, or, if the pathway is
outdated or otherwise unknown, then the message is sent in accordance
with the nondeterministic routing method of the present invention. In
particular, the message is communicated to the wireless network in which
the destination node is likely to be found. The message then propagates
through the nodes of that wireless network and, when the destination node
receives the message, the ACK is communicated by the destination node to
the server 10. Moreover, like the server 10 in the implementation
illustrated in FIGS. 2-12, the node in this case will have sufficient
information upon receipt of the message to select the "best" pathway for
communicating the ACK back to the server 10. Additionally, if an ACK is
not received by the server 10, then the server 10 can store or cache the
message for later communication, or the server 10 can communicate the
message to one or more other suspected wireless networks in which the
data communication device of the destination node (the actual recipient
of the message) may be found.
[0092] In accordance with preferred implementations, the successful
receipt of an ACK is not acknowledged in order to avoid a recurring chain
of communications.
Sleep/Standby Functionality & Corresponding Wake-Up
[0093] In order to lessen power consumption, especially in mobile settings
in which each data communication device constituting a node is
self-powered by a mobile power supply, each mobile data communication
device preferably includes the capability of powering down to a standby
or sleep state, in which power is consumed at a substantially lower rate
than when the data communication device is in a fully active state. In
particular, the radio of the data communication device of the node
preferably includes this capability to go into a standby or sleep mode.
In such a mode, a standards based radio even may be turned completely off
to be later awakened by a passive or semi-passive receiver of the data
communications device designed for such purpose.
[0094] If mobile data communication devices and, in particular, radios
thereof, include a standby or sleep capability, then each such radio
further preferably includes the capability of being awakened in response
to a communication from another data communication device of another node
of the wireless network 14. Moreover, such a radio of a node preferably
includes the ability to be selectively awakened--or powered up--out of a
population of similar radios of data communication devices of nearby
nodes. In this respect, implementations of the present invention
preferably include the ability to power down and be selectively powered
up in accordance with the technologies set forth in Twitchell U.S. Patent
Application Publication No. 2005/0093703 A1, and/or Twitchell U.S. patent
application Ser. No. 11/422,321, each of which has been incorporated
herein by reference above.
First Responder Implementation
[0095] The present invention has utility in various implementations. For
example, the present invention may be utilized in first responder
scenarios in order to maintain and gather real time intelligence that
will aid first responders on the scene of an emergency.
[0096] For example, firemen responding to a building fire preferably can
temporarily place data communication devices at points along their entry
into a building or other structure in combating a fire. Basically, the
firemen, upon entering into the building, can leave a "trail of
breadcrumbs" comprising nodes of an ad hoc wireless network, and
communications between the nodes thereof may be carried out in accordance
with the present invention. A data communication device of a node further
may be carried on a fireman's person. Such data communication devices
further can be shot, thrown, or otherwise inserted into the building in
placing one or more nodes of the ad hoc networks.
[0097] In further accordance with this exemplary implementation, each data
communication device preferably includes a heat and/or smoke sensor for
communicating data indicative of the level or heat and/or smoke at the
sensor. The data then may be communicated back to a computer (e.g., the
server 10 of FIG. 1) located either at a central emergency operations
center or at the exterior of the building. Information regarding the
spread of the fire and any exits that may have been cut off can be
monitored and any appropriate actions or responses can be coordinated
from the exterior of the building.
[0098] More importantly perhaps, each data communication device further
preferably includes the capability of establishing two-way communications
between the firemen inside the building and firemen outside of the
building so that the fire fighting efforts inside the building may be
coordinated from outside of the building. In this respect, each node
preferably includes a data communication device having the capability for
establishing a duplex communications link with other data communication
devices of other nodes. Indeed, by including multiple nodes along
different pathways from the exterior of the building to the firemen in
the interior of the building, communications can be established that
otherwise could not be established directly between an exterior radio and
a radio of a fireman in a remote location in the interior of the
building.
Class-Based Networks
[0099] Another architecture associated with an exemplary embodiment of the
invention is illustrated in FIG. 13. In FIG. 13, a server 10 is shown
disposed in communication with a wide area network (WAN) 12 such as, for
example, the Internet. A wireless network 24 also is represented in FIG.
13 having thirteen nodes including: seven nodes X.sub.1, X.sub.2,
X.sub.3, X.sub.4, X.sub.5, X.sub.6, X.sub.7, none of which are directly
connected to the WAN 12; five nodes Y.sub.1, Y.sub.2, Y.sub.3, Y.sub.4,
Y.sub.5, none of which are directly connected to the WAN 12; and a
thirteenth node G disposed in direct electronic communication with the
WAN 12 and serving as a gateway 16. Each of the nodes X.sub.1, X.sub.2,
X.sub.3, X.sub.4, X.sub.5, X.sub.6, X.sub.7, Y.sub.1, Y.sub.2, Y.sub.3,
Y.sub.4, Y.sub.5 may be fixed or mobile, and each of the nodes X.sub.1,
X.sub.2, X.sub.3, X.sub.4, X.sub.5, X.sub.6, X.sub.7, Y.sub.1, Y.sub.2,
Y.sub.3, Y.sub.4, Y.sub.5 may exit the wireless network 24 and may or may
not rejoin the wireless network 24. Node G also may be fixed or mobile.
Accordingly, the wireless network 24 is shown in a grid formation in FIG.
13 only for simplicity and clarity in illustrating the present invention,
and it is to be understood that the spatial relationships between any of
the various nodes X.sub.1, X.sub.2, X.sub.3, X.sub.4, X.sub.5, X.sub.6,
X.sub.7, Y.sub.1, Y.sub.2, Y.sub.3, Y.sub.4, Y.sub.5 likely will be fluid
in any actual implementation.
[0100] Furthermore, while the twelve nodes X.sub.1, X.sub.2, X.sub.3,
X.sub.4, X.sub.5, X.sub.6, X.sub.7, Y.sub.1, Y.sub.2, Y.sub.3, Y.sub.4,
Y.sub.5 generally have been described as forming the wireless network 24
of FIG. 13, it will be appreciated that subsets of these nodes (and,
specifically, subsets of the data communication devices of these nodes)
actually may form their own wireless network comprising an intranet to
the exclusion of the other nodes. In this regard, each of nodes X.sub.1,
X.sub.2, X.sub.3, X.sub.4, X.sub.5, X.sub.6, X.sub.7 may represent one or
more certain classes and include class designations corresponding to
those classes. In the example, these nodes are deemed to have a class
designation of "X". Similarly, nodes Y.sub.1, Y.sub.2, Y.sub.3, Y.sub.4,
Y.sub.5 may represent one or more certain classes and include class
designations corresponding to those classes. In the example, these nodes
are deemed to have a class designation of "Y". Node G, which serves as
the gateway 16 for both class-based networks, preferably includes both
"X" and "Y" class designations. Class designations and class-based
networks are described in detail in the incorporated references,
including U.S. Pat. No. 6,745,027 and Application Publication No. US
2004/0082296A1. Each class of network may be associated with asset
tracking or monitoring or, more generally, with sensors for data
acquisition used for asset tracking or monitoring, or otherwise.
[0101] In accordance with class-based networks, nodes X.sub.1, X.sub.2,
X.sub.3, X.sub.4, X.sub.5, X.sub.6, X.sub.7 form a network of the class
"X" and nodes Y.sub.1, Y.sub.2, Y.sub.3, Y.sub.4, Y.sub.5 form a network
of the class "Y"; communications directed to the "X" class network are
not received and further processed or transmitted by the "Y" class nodes;
and communications directed to the "Y" class network are not received and
further processed or transmitted by the "X" class nodes. Additionally,
each node preferably includes an overriding class designation such as "A"
that is representative of all nodes of the overall wireless network 24 of
FIG. 13, whereby communications directed to the "A" class will be
received and further processed and/or transmitted by all nodes X.sub.1,
X.sub.2, X.sub.3, X.sub.4, X.sub.5, X.sub.6, X.sub.7, Y.sub.1, Y.sub.2,
Y.sub.3, Y.sub.4, Y.sub.5.
[0102] The exemplary grid arrangement also aids in illustrating an
exemplary range of communication for each node. In this respect, and with
particular regard to FIG. 13 and figures thereafter, each node is deemed
to have a communication range equal to the length of two sides of one of
the thirty-six basic squares of the illustrated grid.
[0103] Consequently, communications may occur between a node that is
within two spaces to the immediate side or top or bottom of another node
within the grid, or between a node that is immediately diagonal to
another node; however, a node disposed diagonally at two spaces or more
to another node is out of direct communication range and, therefore,
direct communications between such nodes do not occur. Again, each node
is shown having the same communications range only for simplicity and
clarity in illustrating the present invention, and it is to be understood
that the actual communications ranges of the nodes likely will vary in
any actual implementation.
Communications Between Server and Nodes in the Class-Based Networks
[0104] As described above with reference to FIGS. 1-12, and in accordance
with the present invention, communications between the server 10 and each
node of the class-based wireless networks in FIGS. 13-30 occur in which
information is acquired by the server 10 from each of the nodes. The
information may include data that is stored within a computer-readable
medium of the node and/or data that is acquired from a sensor that is
associated with the node. In communicating with each node other than a
gateway 16, the server 10 communicates via one or more other nodes
including a gateway 16. In communicating with a node that is a gateway
16, the server 10 communicates with the gateway 16 preferably without
communicating via one or more other nodes of the wireless network 24. In
communicating between nodes and between the gateway 16 and the server 10,
TCP preferably is utilized as the protocol, which well known protocol is
robust and accounts for error detection and correction.
[0105] Origination and communication of a message from a node to the
server 10 preferably is triggered upon occurrence of a predefined event
("Trigger Event"). The Trigger Event may be based on data that is
acquired by a sensor. Thus, for example, if a sensor monitors the opening
of a maritime shipping container door, a Trigger Event may include the
detection that the container door has been opened. In another example, if
a sensor monitors for motion of an asset being tracked, a Trigger Event
may include the movement of the asset.
[0106] Alternatively, or in addition thereto, Trigger Events may be
predefined at regular defined intervals upon which messages are
originated and communicated from a node to the server 10. Such messages
may include all or a portion of data that has been acquired from a sensor
associated with the node.
[0107] In addition to origination and communication of a message from a
node to the server 10 upon occurrence of a Trigger Event, a message also
may be originated and communicated from a node to the server 10 in
response to an inquiry that is received by and directed to the node, a
response to which is included in the message.
Communicating via Pathways in the Class-Based Wireless Networks:
Deterministic vs. Nondeterministic Routing
[0108] Upon occurrence of a Trigger Event, and assuming that the
originating node is other than a gateway 16, a message is originated and
communicated from the originating node to a neighboring node within a
class-based network. Two scenarios exist in this situation. First, a
particular pathway for reaching a gateway 16 may be known to the
originating node. In this first scenario, the class-based wireless
network is deemed a deterministic network, at least to the extent that
the originating node can provide determined routing information in the
communication of the message, whereby the message will be sent to the
gateway 16 via the identified pathway. In the second scenario, a pathway
for reaching a gateway 16 is not known by the originating node, and the
class-based wireless network is deemed a nondeterministic network, at
least to the extent that the originating node does not know and,
therefore, cannot provide determined routing information identifying a
pathway for communication of the message to a gateway 16. Each of these
scenarios will be discussed in greater detail below. The nondeterministic
network scenario is described in detail first with reference to FIGS.
14-19 with two separate illustrations: one in connection with the "X"
class-based network and one in connection with the "Y" class-based
network.
Nondeterministic Routing Illustrations: Node to Server Communication in
Each Class-Based Network
[0109] FIGS. 14-19 illustrate the "X" class-based wireless network of FIG.
13 in which the sequence of node-to-node communications takes place
following occurrence of a Trigger Event at node X.sub.7. Because of the
occurrence of the Trigger Event, a message is originated and communicated
from node X.sub.7 for further communication to the server 10. The
sequence of node-to-node communications illustrated here is in accordance
with nondeterministic routing and may occur, for example, when nodes
X.sub.1 through X.sub.7 have not previously communicated with the server
10 through the wireless network, i.e., when each node may be "new" to the
"X" class-based wireless network and/or "new" to the wireless network
topology thereof shown in FIG. 13.
[0110] With particular regard to certain steps in the sequence of
communicating the message from node X.sub.7 to the gateway 16, FIG. 14
illustrates the wireless network 24 at time t=t.sub.1 when a Trigger
Event has occurred at node X.sub.7 and a message as been originated at
node X.sub.7. At this time the pathway for reaching a gateway 16 in the
"X" class-based wireless network is unknown to the data communication
device of node X.sub.7. Accordingly, the message is communicated
generally to all data communication devices of class "X" falling within
the communications range of node X.sub.7. The message therefore is shown
in FIG. 14 being communicated at time t=t.sub.1 to neighboring node
X.sub.6, which node happens to be within the communications range of node
X.sub.7. Indeed, the communications range of node X.sub.7 is graphically
illustrated in FIG. 14 by the generally circular outline around node
X.sub.7, within which only node X.sub.6 at least partially lies. The act
of communicating the message by node X.sub.7 further is graphically
illustrated in FIG. 14 by shading of the square of the grid containing
node X.sub.7.
[0111] Furthermore, it will be appreciated from the foregoing description
that in communicating the message from node X.sub.7 to node X.sub.6, a
communications link first was established between these two nodes. In
establishing the communications link, preferably each node is identified
to the other node, whereby the originating node will come to learn the
neighboring node that falls within its communications range (at least at
that time). Furthermore, node X.sub.6--an intermediate node--will come to
learn from which node the message is received for forwarding to a gateway
16. In establishing the communications link and in communicating the
message, information regarding the quality of the link also is monitored
and recorded.
[0112] At time t=t.sub.2, the message is shown in FIG. 15 being
communicated by node X.sub.6 to neighboring nodes X.sub.4, X.sub.5,
X.sub.7, which nodes happen to be within the communications range of node
X.sub.6. Again, because node X.sub.6 does not know a pathway to the
gateway 16, node X.sub.6 proceeds to communicate the message generally to
all nodes within its communications range following the same protocol as
originating node X.sub.7. The communications range of node X.sub.6 is
graphically illustrated in FIG. 15 by the generally circular outline
around node X.sub.6, within which only nodes X.sub.4, X.sub.5, X.sub.7
each at least partially lies. The act of communicating the message by
node X.sub.6 further is graphically illustrated in FIG. 15 by shading of
the square of the grid containing node X.sub.6.
[0113] At time t=t.sub.3, the message is shown in FIG. 16 being
communicated by each of nodes X.sub.4, X.sub.5 to respective neighboring
nodes that happen to be within communications range. The communications
range of node X.sub.4 is graphically illustrated by the generally
circular outline around node X.sub.4 in FIG. 16, and the communications
range of node X.sub.5 is graphically illustrated by the generally
circular outline around node X.sub.5 in FIG. 16. As further identified in
FIG. 16, nodes X.sub.2, G, X.sub.6 each at least partially lies within
the communications range of node X.sub.4, and nodes G, X.sub.6 each at
least partially lies within the communications range of node X.sub.5. The
act of communicating the message by node X.sub.4 further is graphically
illustrated in FIG. 16 by shading of the square of the grid containing
node X.sub.4, and the act of communicating the message by node X.sub.5
further is graphically illustrated in FIG. 16 by shading of the square of
the grid containing node X.sub.5. Receipt of a communication containing
the message by node G at time t=t.sub.3 also is emphasized in FIG. 16 by
shading of the square of the grid containing node G.
[0114] Furthermore, it should be noted that node X.sub.7 that receives the
communication from node X.sub.6 does not again communicate the message.
Preferably, a message that has been communicated from a node is stored or
cached within memory of the data communication device of the node, and
before a message received from another node is forwarded, the message is
screened against those messages stored or cached within memory.
Alternatively, a message ID of a message that has been communicated from
a node preferably is stored or cached within memory of the data
communication device of the node, and before a message received from
another node is forwarded, the message ID of that message is screened
against the message IDs stored or cached within memory. In either case,
if it is determined that a message previously has been communicated from
the node, then the same message will not be communicated again from the
node. Consequently, node X.sub.7 is not illustrated in FIG. 16 as
communicating the message again. Only nodes X.sub.4, X.sub.5, which have
not yet communicated the message, are shown in FIG. 16 as communicating
the message.
[0115] At time t=t.sub.4, the message is shown in FIG. 17 being
communicated to neighboring nodes X.sub.1, X.sub.3, X.sub.4, which nodes
happen to be within the communications range of node X.sub.2. The
communications range of node X.sub.2 is graphically illustrated in FIG.
17 by the generally circular outline around node X.sub.2, within which
only nodes X.sub.1, X.sub.3, X.sub.4 each at least partially lies. The
act of communicating the message by node X.sub.2 further is graphically
illustrated by shading of the square of the grid containing node X.sub.2.
[0116] At time t=t.sub.5, the message is shown in FIG. 18 being
communicated by each of nodes X.sub.1, X.sub.3 to respective neighboring
nodes that happen to be within communications range. The communications
range of node X.sub.1 is graphically illustrated by the generally
circular outline around node X.sub.1 in FIG. 18, and the communications
range of node X.sub.3 is graphically illustrated by the generally
circular outline around node X.sub.3 in FIG. 18. As further shown in FIG.
18, nodes G, X.sub.2 each at least partially lies within the
communications range of node X.sub.1, and node X.sub.2 at least partially
lies within the communications range of node X.sub.3. The act of
communicating the message by node X.sub.1 further is graphically
illustrated by shading of the square of the grid containing node X.sub.1,
and the act of communicating the message by node X.sub.3 further is
graphically illustrated by shading of the square of the grid containing
node X.sub.3. Receipt of a communication containing the message by node G
at time t=t.sub.5 also is emphasized in FIG. 18 by shading of the square
of the grid containing node G.
[0117] At time t=t.sub.6, the message now has been communicated to the
gateway 16 by way of three different pathways, the message has been
propagated to all nodes of the "X" class-based wireless network, and no
further communication of the message within the "X" class-based wireless
network occurs, as illustrated in FIG. 19.
[0118] In accordance with preferred implementations, when node G (the
gateway 16) receives the message intended for the server 10, the message
is communicated to the server 10. Together with the message, the
following information also preferably is communicated from the gateway 16
to the server 10: the pathway, including the identification of the
originating node and each intermediate node by which the message was
communicated; and the link quality of each communications link of the
pathway. Other information also may be communicated, as desired.
[0119] Based on the illustration set forth in FIGS. 14-19, the server 10
will receive three communications of the message from the gateway 16. In
accordance with the present invention, the server 10 will record, for
each receipt of the message, the pathway by which the message was
communicated, including the identification of the originating node and
each intermediate node by which the message was communicated. The server
10 additionally will record the link quality of each communications link
in the pathway and will calculate a representative overall link quality
for each pathway. Any other information communicated with the message
also may be recorded in association therewith. For instance, the server
10 will receive and record the link quality for all possible links in the
"X" class-based network except the communications link between respective
data communication devices of node X.sub.2 and node X.sub.3; this
communications link will not be identified by the server 10 because no
pathway included node X.sub.3.
[0120] A subset of FIGS. 14-19--namely, FIGS. 17-19--illustrate
nondeterministic networking in the "Y" class-based wireless network of
FIG. 13. In this case, the sequence of node-to-node communications
illustrated takes place following occurrence of a Trigger Event at node
Y.sub.5.
[0121] In particular, because of the occurrence of the Trigger Event at
node Y.sub.5, a message is originated and communicated from node Y.sub.5
for further communication to the server 10. The sequence of node-to-node
communications illustrated here is in accordance with nondeterministic
routing and may occur, for example, when nodes Y.sub.1 through Y.sub.5
have not previously communicated with the server 10 through the wireless
network, i.e., when each node may be "new" to the "Y" class-based
wireless network and/or "new" to the wireless network topology thereof
shown in FIG. 13.
[0122] With particular regard to certain steps in the sequence of
communicating the message from node Y.sub.5 to the gateway 16, FIG. 17
illustrates the wireless network 24 at time t=t.sub.4 when a Trigger
Event has occurred at node Y.sub.5 and a message as been originated at
node Y.sub.5. At this time the pathway for reaching a gateway 16 in the
"Y" class-based wireless network is unknown to the data communication
device of node Y.sub.5. Accordingly, the message is communicated
generally to all data communication devices of class "Y" falling within
the communications range of node Y.sub.5. The message therefore is shown
in FIG. 17 being communicated at time t=t.sub.4 to neighboring node
Y.sub.4, which node happens to be within the communications range of node
Y.sub.5. Indeed, the communications range of node Y.sub.5 is graphically
illustrated in FIG. 17 by the generally circular outline around node
Y.sub.5, within which only node Y.sub.4 of the "Y" class-based network at
least partially lies. The act of communicating the message by node
Y.sub.5 further is graphically illustrated in FIG. 17 by shading of the
square of the grid containing node Y.sub.5.
[0123] Furthermore, it will be appreciated from the foregoing description
that in communicating the message from node Y.sub.5 to node Y.sub.4, a
communications link first was established between these two nodes. In
establishing the communications link, preferably each node is identified
to the other node, whereby the originating node will come to learn the
neighboring node that falls within its communications range (at least at
that time). Furthermore, node Y.sub.4--an intermediate node--will come to
learn from which node the message is received for forwarding to a gateway
16. In establishing the communications link and in communicating the
message, information regarding the quality of the link also is monitored
and recorded.
[0124] At time t=t.sub.5, the message is shown in FIG. 18 being
communicated by node Y.sub.4 to neighboring nodes Y.sub.3, Y.sub.5, which
nodes happen to be within the communications range of node Y.sub.4 in the
"Y" class-based wireless network. Again, because node Y.sub.4 does not
know a pathway to the gateway 16, node Y.sub.4 proceeds to communicate
the message generally to all nodes of the "Y" class-based network within
its communications range following the same protocol as originating node
Y.sub.5. The communications range of node Y.sub.4 is graphically
illustrated in FIG. 18 by the generally circular outline around node
Y.sub.4, within which only nodes Y.sub.3, Y.sub.5 each at least partially
lies. The act of communicating the message by node Y.sub.4 further is
graphically illustrated in FIG. 18 by shading of the square of the grid
containing node Y.sub.4.
[0125] At time t=t.sub.6, the message is shown in FIG. 19 being
communicated by node Y.sub.3 in propagation of the message. The act of
communicating the message by node Y.sub.3 is graphically illustrated by
shading of the square of the grid containing node Y.sub.3. Furthermore,
it should be noted that node Y.sub.5, which received the communication
from node Y.sub.4, does not communicate the message a second time.
Preferably, a message that has been communicated from a node is stored or
cached within memory of the data communication device of the node, and
before a message received from another node is forwarded, the message is
screened against those messages stored or cached within memory.
Alternatively, a message ID of a message that has been communicated from
a node preferably is stored or cached within memory of the data
communication device of the node, and before a message received from
another node is forwarded, the message ID of that message is screened
against the message IDs stored or cached within memory. In either case,
if it is determined that a message previously has been communicated from
the node, then the same message will not be communicated again from the
node. Consequently, node Y.sub.5 is not illustrated in FIG. 19 as
communicating the message again. Only node Y.sub.3, which has not yet
communicated the message, is shown in FIG. 19 as communicating the
message.
[0126] As further shown in FIG. 19, node G at least partially lies within
the communications range of node Y.sub.3. Receipt of the communication
containing the message by node G at time t=t.sub.6 is emphasized in FIG.
19 by shading of the square of the grid containing node G.
[0127] Moreover, because node G was the only node of the "Y" class-based
network within the communication range of node Y.sub.3, no further
communication of the message within the "Y" class-based wireless network
occurs.
[0128] In accordance with preferred implementations, when node G (the
gateway 16) receives the message intended for the server 10, the message
is communicated to the server 10. Together with the message, the
following information also preferably is communicated from the gateway 16
to the server 10: the pathway, including the identification of the
originating node and each intermediate node by which the message was
communicated; and the link quality of each communications link of the
pathway. Other information also may be communicated, as desired.
[0129] Based on the illustration set forth in FIGS. 17-19, the server 10
will receive a communication of the message from node Y.sub.5 through the
"Y" class-based network via the gateway 16. In accordance with the
present invention, the server 10 will record the pathway by which the
message was communicated, including the identification of the originating
node and each intermediate node by which the message was communicated.
The server 10 additionally will record the link quality of each
communications link in the pathway and will calculate a representative
overall link quality for the pathway. Any other information communicated
with the message also may be recorded in association therewith.
Acknowledging Successful Receipt of a Message: Sending an ACK via
Deterministic Routing in Class-Based Networks
[0130] Upon the successful receipt of a message by the server 10, the
server 10 preferably sends to the originating node of the message an ACK
to acknowledge the successful receipt of the message. Preferably, only
one ACK is sent for each particular message, regardless of the number of
times that the particular message is received by the server 10 via
different pathways.
[0131] In sending the ACK, the server 10 preferably selects a known
pathway based on information that is received with the message or that
has been received in conjunction with previous messages or other
intelligence that is known about the network topology. Selection of the
particular pathway is made in accordance with one of the disclosed
algorithms or in accordance with some other algorithm, as desired. If an
ACK is not received from the server 10 by the originating node, then the
originating node will save the message in memory for communication at a
later time when communication with the server 10 is available.
[0132] Similarly, the receipt of a message representing a command or
inquiry that is sent by a server 10 to a destination node preferably is
acknowledged by an ACK being sent to the server 10 from the destination
node. The message may be sent via a known pathway or, if the pathway is
outdated or otherwise unknown, then the message is sent in accordance
with the nondeterministic routing method of the present invention. In
particular, the message is communicated to the wireless network in which
the destination node is likely to be found. The message then propagates
through the nodes of that wireless network and, when the destination node
receives the message, the ACK is communicated by the destination node to
the server 10. Moreover, like the server 10, the node in this case will
have sufficient information upon receipt of the message to select the
"best" pathway for communicating the ACK back to the server 10.
Additionally, if an ACK is not received by the server 10, then the server
10 can store or cache the message for later communication, or the server
10 can communicate the message to one or more other suspected wireless
networks in which the data communication device of the destination node
(the actual recipient of the message) may be found.
[0133] FIGS. 20-22 illustrate communication of an ACK from the server 10
to originating node X.sub.7 of FIG. 14 along a deterministic route, and
FIGS. 22-24 illustrate communication of an ACK from the server 10 to
originating node Y.sub.5 of FIG. 17 along a deterministic route. The
deterministic route in each class-based wireless network is readily based
on the information obtained from the nondeterministic routing
illustration of FIGS. 14-19 and the information that is acquired by the
server 10 in conjunction with the receipt of the message. Additionally,
as will be appreciated, the information also may permit the server 10 to
send a command or inquiry to any intermediate node via a deterministic
route.
Server Search for Specific Node: Using all Available Resources of the
Overall Wireless Network
[0134] One of many advantages of the present invention utilized in
class-based wireless networks is the ability to send communications via
data communication devices of a particular class-based network without
consuming power resources of data communication devices of one or more
other class-based networks. This is particularly beneficial if two
different class-based networks having nodes within communication range of
each other are owned or operated by or on the behalf of separate legal
entities.
[0135] Nevertheless, it also is beneficial to be able to utilize all nodes
within communications range of another node regardless of particular
classes of the nodes. For example, an urgent need may arise to
communicate with a particular mobile data communications device that may
be out of range of a node of a class with which that data communications
device is associated, but nevertheless within range of a node of a
different class-based wireless network.
[0136] An example of this scenario is illustrated in FIGS. 25-30 where
node Y.sub.2 is within communications range of nodes of the "X"
class-based wireless network, but out of communications range of all
other nodes of the "Y" class-based wireless network. If the server 10 has
reason to suspect that the data communications device associated with
node Y.sub.2 is within the overall wireless network 24 of FIG. 13, then
the server 10 may send a communication to node Y.sub.2 via
nondeterministic routing utilizing all nodes of the overall wireless
network 24. In this case, the overall wireless network 24 is identified
by the "A" class-based wireless network, of which all nodes (i.e., data
communication devices) are members.
[0137] The server 10 thus sends a communication destined for receipt by
node Y.sub.2 via node G to the "A" class-based network. Transmission of
this message by node G at time t=t.sub.12 is illustrated in FIG. 25.
Nodes X.sub.1, X.sub.4, X.sub.5, Y.sub.3 all are within the
communications range of node G and, therefore, receive the message.
Because each of these nodes X.sub.1, X.sub.4, X.sub.5, Y.sub.3 are
members of the "A" class-based network, each node X.sub.1, X.sub.4,
X.sub.5, Y.sub.3 (i.e., data communications device thereof) will receive
the message and transmit the message intended for receipt by Y.sub.2.
[0138] Assuming that none of the nodes X.sub.1, X.sub.4, X.sub.5, Y.sub.3
have information identifying a deterministic pathway to node Y.sub.2,
each preferably will transmit the message generally to all nodes of class
"A" within its respective communications range for propagation of the
message. This retransmission of the message by nodes X.sub.1, X.sub.4,
X.sub.5, Y.sub.3 is illustrated in FIG. 26 at time t=t.sub.13. On the
other hand, if a node X.sub.1, X.sub.4, X.sub.5, Y.sub.3 has information
identifying a deterministic pathway to node Y.sub.2, then that node
preferably will transmit the message to node Y.sub.2 via such
deterministic network pathway.
[0139] As shown in FIG. 26, node Y.sub.2 is within communications range of
node X.sub.4 and first receives the message from the server 10 via
intermediate node X.sub.4. As the message continues to propagate, node
Y.sub.2 also receives the message from the server 10 via intermediate
node X.sub.2 as shown in FIG. 27 at time t=t.sub.14; and receives the
message from the server 10 via intermediate node X.sub.3 as shown in FIG.
28 at time t=t.sub.15. The data communications device of node Y.sub.2
acknowledges receipt of the message from the server 10 by sending an ACK
to the server 10, as illustrated in FIGS. 29-30.
[0140] Moreover, as will be appreciated, the message has been received
three times and, hence, several pathways to the server 10 and information
regarding those pathways are known to the data communications device of
node Y.sub.2
[0141] Accordingly, a deterministic route is chosen based on an
appropriate algorithm for sending the ACK to the server 10. The
appropriate algorithm may take into account factors such as, for example,
the number of intermediate nodes of the pathway, the link quality of the
various communications links of the pathway, the overall link quality of
the pathway, the number of "Y" class-based network nodes of the pathway,
and the number of non "Y" class-based network nodes of the pathway.
[0142] In this example, node Y.sub.2 transmits a message representing the
ACK to the server 10 by transmitting the message to node X.sub.4 as shown
in FIG. 29 at time t=t.sub.16 and, in turn, node X.sub.4 transmits the
message representing the ACK to the node G as shown in FIG. 30 at time
t=t.sub.17. Node G further is shown as receiving this message in FIG. 30.
It also should be noted that the ACK is transmitted in this case to an
"X" class-based network node because node Y.sub.2 otherwise would be out
of communications range with the server 10 via node G and, therefore,
unable to transmit the ACK successfully to the server 10 via node G.
Class Tables
[0143] In accordance with class-based networks, each data communications
device of a node of a class-based wireless network preferably maintains
membership information in the form of a membership table of the classes
of which that device is a member. Furthermore, membership in a class need
not be exclusive relative to membership in another class. For example, a
particular communications device may include membership in both the "X"
class and the "Y" class of the exemplary network 24 of FIG. 13. The class
table can be referenced when a class-based message is received by a data
communications device to determine whether the message is applicable to
the data communications device.
[0144] Class tables also are helpful to reference when attempting to send
a message. In this respect, a class table may include not only
identification of the classes of which a data communications device is a
member, but also the identification of other classes with which the data
communications device may need to communicate under certain scenarios.
Such a class table similarly is useful for a server 10 when sending
class-based communications.
[0145] Additionally, in preferred embodiments, a server 10 maintains and
updates class tables for various data communications devices of one or
more class-based wireless networks, whereby centralized assignment of
classes may be performed and distributed from the server 10 down to the
different devices. Communications of updates and/or assignments of new
classes for each data communications device thereby can be efficiently
performed in accordance with such an architecture.
[0146] While the present invention is described herein in detail in
relation to one or more embodiments, it is to be understood that this
disclosure is illustrative and exemplary of the present invention, and is
made merely for the purposes of providing a full and enabling disclosure
of the present invention. The detailed disclosure herein of one or more
embodiments is not intended, nor is to be construed, to limit the scope
of patent protection afforded the present invention. It is not intended
that the scope of patent protection afforded the present invention be
defined by reading into any claim a limitation found herein that does not
explicitly appear in the claim itself.
ALTERNATIVE EMBODIMENTS
[0147] In alternative embodiments of the exemplary network architectures
shown in FIGS. 1 and 13, it further is contemplated that the server 10
may be combined with a gateway 16, which combination sometimes may be
referred to as a "gateway controller" or "GC". In such implementations
the gateway controller performs both the aforementioned functions of the
gateway 16 and the server 10. The WAN 12, if utilized in such alternative
embodiments, then provides an avenue for communicating with the gateway
controller for accessing information recorded and maintained by the
gateway controller.
[0148] In yet further alternative embodiments, it is contemplated that,
instead of "hopping" between nodes (which generally keeps power
consumption low), continuous communications links can be established
between nodes along a pathway between an originating node and a
destination node. Maintaining the connection with continuous
communications links facilitates large file transfers as well as real
time communications, such as voice over IP and video conferencing
communications between persons. Indeed, two communications links between
each pair of nodes in the pathway may be established for enabling two-way
communications using half-duplex standards based radios, such as
Bluetooth radios.
* * * * *