Note: Descriptions are shown in the official language in which they were submitted.
CA 02727311 2011-01-10
WIRELESS COMMUNICATIONS PROVIDING INTEROPERABILITY BETWEEN
DEVICES CAPABLE OF COMMUNICATING AT DIFFERENT DATA RATES
CROSS-REFERENCE TO RELATED APPLICATIONS
[00011 This application claims benefit to U.S. Provisional Application No.
61,299,516,
filed January 29, 2010, herein incorporated in its entirety by reference.
TECHNICAL BACKGROUND
[00021 The reading of electrical energy, water flow, and gas usage has
historically been
accomplished with human meter readers who came on-site and manually documented
meter
readings. Over time, this manual meter reading methodology has been enhanced
with walk by or
drive by reading systems that use radio communications to and from a mobile
collector device in
a vehicle. Recently, there has been a concerted effort to accomplish meter
reading using fixed
communication networks that allow data to flow from the meter to a host
computer system
without human intervention.
[00031 Fixed communication networks can operate using wire line or radio
technology.
For example, distribution line carrier systems are wire-based and use the
utility lines themselves
for communications. Radio technology has tended to be preferred due to higher
data rates and
independence from the distribution network. Radio technology in the 902-928
MHz frequency
range can operate without an FCC license by restricting power output and by
spreading the
transmitted energy over a large portion of the available bandwidth.
1
CA 02727311 2011-01-10
[0004] Automated systems, such as Automatic Meter Reading (AMR) and Advanced
Metering Infrastructure (AMI) systems, exist for collecting data from meters
that measure usage
of resources, such as gas, water and electricity. Such systems may employ a
number of different
infrastructures for collecting this meter data from the meters. For example,
some automated
systems obtain data from the meters using a fixed wireless network that
includes, for example, a
central node, e.g., a collection device, in communication with a number of
endpoint nodes (e.g.,
meter reading devices (MRDs) connected to meters). At the endpoint nodes, the
wireless
communications circuitry may be incorporated into the meters themselves, such
that each
endpoint node in the wireless network comprises a meter connected to an MRD
that has wireless
communication circuitry that enables the MRD to transmit the meter data of the
meter to which it
is connected. The wireless communication circuitry may include a transponder
that is uniquely
identified by a transponder serial number. The endpoint nodes may either
transmit their meter
data directly to the central node, or indirectly though one or more
intermediate bi-directional
nodes which serve as repeaters for the meter data of the transmitting node.
[0005] Some networks may employ a mesh networking architecture. In such
networks,
known as "mesh networks," endpoint nodes are connected to one another through
wireless
communication links such that each endpoint node has a wireless communication
path to the
central node. One characteristic of mesh networks is that the component nodes
can all connect to
one another via one or more "hops." Due to this characteristic, mesh networks
can continue to
operate even if a node or a connection breaks down. Accordingly, mesh networks
are self-
configuring and self-healing, significantly reducing installation and
maintenance efforts.
[0006] Communication systems have existed for many years, but upgrades to a
given
system typically require replacement or upgrade of devices to support the
capabilities of a new
system. Specifically, a given upgrade may increase the data rate used for
communications.
Typically, data rate increases result in compatibility issues between existing
or legacy devices
and the new, more capable equipment. A second factor in wireless
communications is the
relationship between communication data rates and communication performance.
As a rule of
thumb, the receiver sensitivity of a device is degraded by 3 dB each time the
data rate is doubled.
[0007] Some existing Local Area Network (LAN) systems may use frequency
hopping
spread spectrum (FHSS) communications. Some existing systems may allow for per-
message
synchronization between devices, where a receiving device synchronizes to a
transmitting device
by prioritizing channels based on the received signal strength (RSSI), and
then detecting a valid
preamble on the prioritized channel list. Some existing systems may also be
predominantly a
two-way system, where the system collector requests, or polls, data from end
devices. The
2
CA 02727311 2011-01-10
preamble duration may allow a receiving device to scan all frequency hopping
channels and rank
the received signal strength (RSSI) for the highest channels. The process may
be repeated a
number of times before the receiving device selects the strongest RSSI channel
to check for a
valid preamble.
[00081 Accordingly, a need exists for a technique for maintaining
compatibility
between newer equipment and legacy equipment or services that are capable of
communicating
at different data rates.
SUMMARY OF THE DISCLOSURE
[00091 A method, wireless mesh network and processor-readable storage medium
for
providing interoperability between devices that are capable of communicating
at different data
rates are disclosed herein. According to various embodiments, a start-of-frame
delimiter token
value in a synchronization header is used to indicate a data rate at which a
device is capable of
communicating. In certain embodiments, samples are collected around a bit
transition and are
used to adjust a bit timing of a receiving device to match a bit timing of a
transmitting device
using a coarse adjustment process and, in some embodiments, a fine adjustment
process.
[00101 One embodiment is directed to a method of operating a wireless network
comprising a first device configured to communicate data at a first data rate
and a second device
configured to communicate data at a second data rate different from the first
data rate. The
method involves receiving, in the first device, a signal comprising a
synchronization header
comprising a preamble waveform and a start-of-frame delimiter (SFD) token
value that identifies
an end of the synchronization header and a start of packet data. A data rate
of the packet data is
identified as one of the first data rate and the second data rate as a
function of the start-of-frame
delimiter token value.
100111 Another embodiment is directed to a wireless mesh network. The wireless
mesh
network includes a central node comprising a transceiver configured to
transmit and receive data
communications using selected frequency channels of a plurality of frequency
channels. A
plurality of bidirectional nodes are in bidirectional wireless communication
with the central
node. Each bidirectional node has a respective wireless communication path to
the central node
that is either a direct path or an indirect path through one or more
intermediate bidirectional
nodes serving as repeater nodes. The central node initiates a data
communication from the
central node to a particular bidirectional node of the plurality of
bidirectional nodes. The data
communication comprises a synchronization header comprising a preamble
waveform and a
3
CA 02727311 2011-01-10
start-of-frame delimiter (SFD) token value that identifies an end of the
synchronization header
and a start of packet data and that identifies a data rate selected from a
plurality of data rates.
[00121 According to yet another embodiment, a processor-readable storage
medium is
disclosed. The processor-readable medium stores processor-executable
instructions that, when
executed by a processor, cause the processor to operate a wireless mesh
network comprising a
first device configured to communicate data at a first data rate and a second
device configured to
communicate data at a second data rate different from the first data rate by
receiving, in the first
device, a signal comprising a synchronization header comprising a preamble
waveform and a
start-of-frame delimiter (SFD) token value that identifies an end of the
synchronization header
and a start of packet data. A data rate of the packet data is identified as
one of the first data rate
and the second data rate as a function of the start-of-frame delimiter token
value.
[00131 Various embodiments may realize certain advantages. For example,
compatibility can be maintained between new devices that can communicate at a
relatively fast
data rate and legacy devices that communicate at a lower data rate. Using a
lookup table to map
SFD token values to data rates allows a variety of data rates to be supported
by a configuration
table change, obviating the need to change the firmware that controls the
functionality of a
device.
[00141 Other features and advantages of the described embodiments may become
apparent from the following detailed description and accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[00151 The foregoing summary, as well as the following detailed description of
various
embodiments, is better understood when read in conjunction with the appended
drawings. For
the purpose of illustrating the invention, there are shown in the drawings
exemplary
embodiments of various aspects of the invention; however, the invention is not
limited to the
specific methods and instrumentalities disclosed. In the drawings:
[00161 Figure 1 is a diagram of an exemplary metering system;
100171 Figure 2 expands upon the diagram of Fig. I and illustrates an
exemplary
metering system in greater detail;
[00181 Figure 3A is a block diagram illustrating an exemplary collector;
[00191 Figure 3B is a block diagram illustrating an exemplary meter;
100201 Figure 4 is a diagram of an exemplary subnet of a wireless network for
collecting data from remote devices;
4
CA 02727311 2011-01-10
[0021] Figure 5 illustrates an example synchronization header for use in
connection
with various embodiments;
[0022] Figure 6 is a flow diagram illustrating an example method for
synchronizing a
receiving device to the bit timing of a transmitting device.
DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
[0023] Exemplary systems and methods for gathering meter data are described
below
with reference to Figures 1-6. It will be appreciated by those of ordinary
skill in the art that the
description given herein with respect to those figures is for exemplary
purposes only and is not
intended in any way to limit the scope of potential embodiments.
[0024] Generally, a plurality of meter devices, which operate to track usage
of a service
or commodity such as, for example, electricity, water, and gas, are operable
to wirelessly
communicate. One or more devices, referred to herein as "collectors," are
provided that
"collect" data transmitted by the other meter devices so that it can be
accessed by other computer
systems. The collectors receive and compile metering data from a plurality of
meter devices via
wireless communications. A data collection server may communicate with the
collectors to
retrieve the compiled meter data.
[0025] Figure 1 provides a diagram of one exemplary metering system 110.
System
110 comprises a plurality of meters 114, which are operable to sense and
record consumption or
usage of a service or commodity such as, for example, electricity, water, or
gas. Meters 114 may
be located at customer premises such as, for example, a home or place of
business. Meters 114
comprise circuitry for measuring the consumption of the service or commodity
being consumed
at their respective locations and for generating data reflecting the
consumption, as well as other
data related thereto. Meters 114 may also comprise circuitry for wirelessly
transmitting data
generated by the meter to a remote location. Meters 114 may further comprise
circuitry for
receiving data, commands or instructions wirelessly as well. Meters that are
operable to both
receive and transmit data may be referred to as "bi-directional" or "two-way"
meters, while
meters that are only capable of transmitting data may be referred to as
"transmit-only" or "one-
way" meters. In bi-directional meters, the circuitry for transmitting and
receiving may comprise
a transceiver. In an illustrative embodiment, meters 114 may be, for example,
electricity meters
manufactured by Elster Electricity, LLC and marketed under the tradename REX.
[0026] System 110 further comprises collectors 116. In one embodiment,
collectors
116 are also meters operable to detect and record usage of a service or
commodity such as, for
example, electricity, water, or gas. In addition, collectors 116 are operable
to send data to and
receive data from meters 114. Thus, like the meters 114, the collectors 116
may comprise both
CA 02727311 2011-01-10
circuitry for measuring the consumption of a service or commodity and for
generating data
reflecting the consumption and circuitry for transmitting and receiving data.
In one embodiment,
collector 116 and meters 114 communicate with and amongst one another using
any one of
several wireless techniques such as, for example, frequency hopping spread
spectrum (FHSS)
and direct sequence spread spectrum (DSSS).
[00271 A collector 116 and the meters 114 with which it communicates define a
subnet/LAN 120 of system 110. As used herein, meters 114 and collectors 116
may be referred
to as "nodes" in the subnet 120. In each subnet/LAN 120, each meter transmits
data related to
consumption of the commodity being metered at the meter's location. The
collector 116 receives
the data transmitted by each meter 114, effectively "collecting" it, and then
periodically
transmits the data from all of the meters in the subnet/LAN 120 to a data
collection server 206.
The data collection server 206 stores the data for analysis and preparation of
bills, for example.
The data collection server 206 may be a specially programmed general purpose
computing
system and may communicate with collectors 116 via a network 112. The network
112 may
comprise any form of network, including a wireless network or a fixed-wire
network, such as a
local area network (LAN), a wide area network, the Internet, an intranet, a
telephone network,
such as the public switched telephone network (PSTN), a Frequency Hopping
Spread Spectrum
(FHSS) radio network, a mesh network, a Wi-Fi (802.11) network, a Wi-Max
(802.16) network,
a land line (POTS) network, or any combination of the above.
[00281 Referring now to Figure 2, further details of the metering system 110
are shown.
Typically, the system will be operated by a utility company or a company
providing information
technology services to a utility company. As shown, the system 110 comprises a
network
management server 202, a network management system (NMS) 204 and the data
collection
server 206 that together manage one or more subnets/LANs 120 and their
constituent nodes. The
NMS 204 tracks changes in network state, such as new nodes
registering/unregistering with the
system 110, node communication paths changing, etc. This information is
collected for each
subnet/LAN 120 and is detected and forwarded to the network management server
202 and data
collection server 206.
[00291 Each of the meters 114 and collectors 116 is assigned an identifier
(LAN ID)
that uniquely identifies that meter or collector on its subnet/LAN 120. In
this embodiment,
communication between nodes (i.e., the collectors and meters) and the system
110 is
accomplished using the LAN ID. However, it is preferable for operators of a
utility to query and
communicate with the nodes using their own identifiers. To this end, a
marriage file 208 may be
used to correlate a utility's identifier for a node (e.g., a utility serial
number) with both a
6
CA 02727311 2011-01-10
manufacturer serial number (i.e., a serial number assigned by the manufacturer
of the meter) and
the LAN ID for each node in the subnet/LAN 120. In this manner, the utility
can refer to the
meters and collectors by the utilities identifier, while the system can employ
the LAN ID for the
purpose of designating particular meters during system communications.
[00301 A device configuration database 210 stores configuration information
regarding
the nodes. For example, in the metering system 200, the device configuration
database may
include data regarding time of use (TOU) switchpoints, etc. for the meters 114
and collectors 116
communicating in the system 110. A data collection requirements database 212
contains
information regarding the data to be collected on a per node basis. For
example, a utility may
specify that metering data such as load profile, demand, TOU, etc. is to be
collected from
particular meter(s) 114a. Reports 214 containing information on the network
configuration may
be automatically generated or in accordance with a utility request.
[00311 The network management system (NMS) 204 maintains a database describing
the current state of the global fixed network system (current network state
220) and a database
describing the historical state of the system (historical network state 222).
The current network
state 220 contains data regarding current meter-to-collector assignments, etc.
for each
subnet/LAN 120. The historical network state 222 is a database from which the
state of the
network at a particular point in the past can be reconstructed. The NMS 204 is
responsible for,
amongst other things, providing reports 214 about the state of the network.
The NMS 204 may
be accessed via an API 220 that is exposed to a user interface 216 and a
Customer Information
System (CIS) 218. Other external interfaces may also be implemented. In
addition, the data
collection requirements stored in the database 212 may be set via the user
interface 216 or CIS
218.
[00321 The data collection server 206 collects data from the nodes (e.g.,
collectors 116)
and stores the data in a database 224. The data includes metering information,
such as energy
consumption and may be used for billing purposes, etc. by a utility provider.
[00331 The network management server 202, network management system 204 and
data collection server 206 communicate with the nodes in each subnet/LAN 120
via network
110.
[00341 Figure 3A is a block diagram illustrating further details of one
embodiment of a
collector 116. Although certain components are designated and discussed with
reference to
Figure 3A, it should be appreciated that the invention is not limited to such
components. In fact,
various other components typically found in an electronic meter may be a part
of collector 116,
but have not been shown in Figure 3A for the purposes of clarity and brevity.
Also, the
7
CA 02727311 2011-01-10
invention may use other components to accomplish the operation of collector
116. The
components that are shown and the functionality described for collector 116
are provided as
examples, and are not meant to be exclusive of other components or other
functionality.
[0035] As shown in Figure 3A, collector 116 may comprise metering circuitry
304 that
performs measurement of consumption of a service or commodity and a processor
305 that
controls the overall operation of the metering functions of the collector 116.
The collector 116
may further comprise a display 310 for displaying information such as measured
quantities and
meter status and a memory 312 for storing data. The collector 116 further
comprises wireless
LAN communications circuitry 306 for communicating wirelessly with the meters
114 in a
subnet/LAN and a network interface 308 for communication over the network 112.
[0036] In one embodiment, the metering circuitry 304, processor 305, display
310 and
memory 312 are implemented using an A3 ALPHA meter available from Elster
Electricity, Inc.
In that embodiment, the wireless LAN communications circuitry 306 may be
implemented by a
LAN Option Board (e.g., a 900 MHz two-way radio) installed within the A3 ALPHA
meter, and
the network interface 308 may be implemented by a WAN Option Board (e.g., a
telephone
modem) also installed within the A3 ALPHA meter. In this embodiment, the WAN
Option
Board 308 routes messages from network 112 (via interface port 302) to either
the meter
processor 305 or the LAN Option Board 306. LAN Option Board 306 may use a
transceiver (not
shown), for example a 900 MHz radio, to communicate data to meters 114. Also,
LAN Option
Board 306 may have sufficient memory to store data received from meters 114.
This data may
include, but is not limited to the following: current billing data (e.g., the
present values stored
and displayed by meters 114), previous billing period data, previous season
data, and load profile
data.
[0037] LAN Option Board 306 may be capable of synchronizing its time to a real
time
clock (not shown) in A3 ALPHA meter, thereby synchronizing the LAN reference
time to the
time in the meter. The processing necessary to carry out the communication
functionality and
the collection and storage of metering data of the collector 116 may be
handled by the processor
305 and/or additional processors (not shown) in the LAN Option Board 306 and
the WAN
Option Board 308.
[0038] The responsibility of a collector 116 is wide and varied. Generally,
collector
116 is responsible for managing, processing and routing data communicated
between the
collector and network 112 and between the collector and meters 114. Collector
116 may
continually or intermittently read the current data from meters 114 and store
the data in a
database (not shown) in collector 116. Such current data may include but is
not limited to the
8
CA 02727311 2011-01-10
total kWh usage, the Time-Of-Use (TOU) kWh usage, peak kW demand, and other
energy
consumption measurements and status information. Collector 116 also may read
and store
previous billing and previous season data from meters 114 and store the data
in the database in
collector 116. The database may be implemented as one or more tables of data
within the
collector 116.
[00391 Figure 3B is a block diagram of an exemplary embodiment of a meter 114
that
may operate in the system 110 of Figures 1 and 2. As shown, the meter 114
comprises metering
circuitry 304' for measuring the amount of a service or commodity that is
consumed, a processor
305' that controls the overall functions of the meter, a display 310' for
displaying meter data and
status information, and a memory 312' for storing data and program
instructions. The meter 114
further comprises wireless communications circuitry 306' for transmitting and
receiving data
to/from other meters 114 or a collector 116.
[00401 Referring again to Figure 1, in the exemplary embodiment shown, a
collector
116 directly communicates with only a subset of the plurality of meters 114 in
its particular
subnet/LAN. Meters 114 with which collector 116 directly communicates may be
referred to as
"level one" meters 114a. The level one meters 114a are said to be one "hop"
from the collector
116. Communications between collector 116 and meters 114 other than level one
meters 114a
are relayed through the level one meters 114a. Thus, the level one meters 114a
operate as
repeaters for communications between collector 116 and meters 114 located
further away in
subnet 120.
[00411 Each level one meter 114a typically will only be in range to directly
communicate with only a subset of the remaining meters 114 in the subnet 120.
The meters 114
with which the level one meters 114a directly communicate may be referred to
as level two
meters 114b. Level two meters 114b are one "hop" from level one meters 1 14a,
and therefore
two "hops" from collector 116. Level two meters 114b operate as repeaters for
communications
between the level one meters 114a and meters 114 located further away from
collector 116 in the
subnet 120.
[00421 While only three levels of meters are shown (collector 116, first level
114a,
second level 114b) in Figure 1, a subnet 120 may comprise any number of levels
of meters 114.
For example, a subnet 120 may comprise one level of meters but might also
comprise eight or
more levels of meters 114. In an embodiment wherein a subnet comprises eight
levels of meters
114, as many as 1024 meters might be registered with a single collector 116.
[00431 As mentioned above, each meter 114 and collector 116 that is installed
in the
system 110 has a unique identifier (LAN ID) stored thereon that uniquely
identifies the device
9
CA 02727311 2011-01-10
from all other devices in the system 110. Additionally, meters 114 operating
in a subnet 120
comprise information including the following: data identifying the collector
with which the
meter is registered; the level in the subnet at which the meter is located;
the repeater meter at the
prior level with which the meter communicates to send and receive data to/from
the collector; an
identifier indicating whether the meter is a repeater for other nodes in the
subnet; and if the meter
operates as a repeater, the identifier that uniquely identifies the repeater
within the particular
subnet, and the number of meters for which it is a repeater. Collectors 116
have stored thereon
all of this same data for all meters 114 that are registered therewith. Thus,
collector 116
comprises data identifying all nodes registered therewith as well as data
identifying the
registered path by which data is communicated from the collector to each node.
Each meter 114
therefore has a designated communications path to the collector that is either
a direct path (e.g.,
all level one nodes) or an indirect path through one or more intermediate
nodes that serve as
repeaters.
[0044] Information is transmitted in this embodiment in the form of packets.
For most
network tasks such as, for example, reading meter data, collector 116
communicates with meters
114 in the subnet 120 using point-to-point transmissions. For example, a
message or instruction
from collector 116 is routed through the designated set of repeaters to the
desired meter 114.
Similarly, a meter 114 communicates with collector 116 through the same set of
repeaters, but in
reverse.
[0045] In some instances, however, collector 116 may need to quickly
communicate
information to all meters 114 located in its subnet 120. Accordingly,
collector 116 may issue a
broadcast message that is meant to reach all nodes in the subnet 120. The
broadcast message
may be referred to as a "flood broadcast message." A flood broadcast
originates at collector 116
and propagates through the entire subnet 120 one level at a time. For example,
collector 116
may transmit a flood broadcast to all first level meters 114a. The first level
meters 114a that
receive the message pick a random time slot and retransmit the broadcast
message to second
level meters 114b. Any second level meter 114b can accept the broadcast,
thereby providing
better coverage from the collector out to the end point meters. Similarly, the
second level meters
114b that receive the broadcast message pick a random time slot and
communicate the broadcast
message to third level meters. This process continues out until the end nodes
of the subnet.
Thus, a broadcast message gradually propagates outward from the collector to
the nodes of the
subnet 120.
[0046] The flood broadcast packet header contains information to prevent nodes
from
repeating the flood broadcast packet more than once per level. For example,
within a flood
CA 02727311 2011-01-10
broadcast message, a field might exist that indicates to meters/nodes which
receive the message,
the level of the subnet the message is located; only nodes at that particular
level may re-
broadcast the message to the next level. If the collector broadcasts a flood
message with a level
of 1, only level 1 nodes may respond. Prior to re-broadcasting the flood
message, the level 1
nodes increment the field to 2 so that only level 2 nodes respond to the
broadcast. Information
within the flood broadcast packet header ensures that a flood broadcast will
eventually die out.
[00471 Generally, a collector 116 issues a flood broadcast several times, e.g.
five times,
successively to increase the probability that all meters in the subnet 120
receive the broadcast. A
delay is introduced before each new broadcast to allow the previous broadcast
packet time to
propagate through all levels of the subnet.
[00481 Meters 114 may have a clock formed therein. However, meters 114 often
undergo power interruptions that can interfere with the operation of any clock
therein.
Accordingly, the clocks internal to meters 114 cannot be relied upon to
provide an accurate time
reading. Having the correct time is necessary, however, when time of use
metering is being
employed. Indeed, in an embodiment, time of use schedule data may also be
comprised in the
same broadcast message as the time. Accordingly, collector 116 periodically
flood broadcasts
the real time to meters 114 in subnet 120. Meters 114 use the time broadcasts
to stay
synchronized with the rest of the subnet 120. In an illustrative embodiment,
collector 116
broadcasts the time every 15 minutes. The broadcasts may be made near the
middle of 15
minute clock boundaries that are used in performing load profiling and time of
use (TOU)
schedules so as to minimize time changes near these boundaries. Maintaining
time
synchronization is important to the proper operation of the subnet 120.
Accordingly, lower
priority tasks performed by collector 116 may be delayed while the time
broadcasts are
performed.
[00491 In an illustrative embodiment, the flood broadcasts transmitting time
data may
be repeated, for example, five times, so as to increase the probability that
all nodes receive the
time. Furthermore, where time of use schedule data is communicated in the same
transmission
as the timing data, the subsequent time transmissions allow a different piece
of the time of use
schedule to be transmitted to the nodes.
[00501 Exception messages are used in subnet 120 to transmit unexpected events
that
occur at meters 114 to collector 116. In an embodiment, the first 4 seconds of
every 32-second
period are allocated as an exception window for meters 114 to transmit
exception messages.
Meters 114 transmit their exception messages early enough in the exception
window so the
message has time to propagate to collector 116 before the end of the exception
window.
11
CA 02727311 2011-01-10
Collector 116 may process the exceptions after the 4-second exception window.
Generally, a
collector 116 acknowledges exception messages, and collector 116 waits until
the end of the
exception window to send this acknowledgement.
[0051] In an illustrative embodiment, exception messages are configured as one
of
three different types of exception messages: local exceptions, which are
handled directly by the
collector 116 without intervention from data collection server 206; an
immediate exception,
which is generally relayed to data collection server 206 under an expedited
schedule; and a daily
exception, which is communicated to the communication server 122 on a regular
schedule.
[0052] Exceptions are processed as follows. When an exception is received at
collector
116, the collector 116 identifies the type of exception that has been
received. If a local exception
has been received, collector 116 takes an action to remedy the problem. For
example, when
collector 116 receives an exception requesting a "node scan request" such as
discussed below,
collector 116 transmits a command to initiate a scan procedure to the meter
114 from which the
exception was received.
[0053] If an immediate exception type has been received, collector 116 makes a
record
of the exception. An immediate exception might identify, for example, that
there has been a
power outage. Collector 116 may log the receipt of the exception in one or
more tables or files.
In an illustrative example, a record of receipt of an immediate exception is
made in a table
referred to as the "Immediate Exception Log Table." Collector 116 then waits a
set period of
time before taking further action with respect to the immediate exception. For
example,
collector 116 may wait 64 seconds. This delay period allows the exception to
be corrected
before communicating the exception to the data collection server 206. For
example, where a
power outage was the cause of the immediate exception, collector 116 may wait
a set period of
time to allow for receipt of a message indicating the power outage has been
corrected.
[0054] If the exception has not been corrected, collector 116 communicates the
immediate exception to data collection server 206. For example, collector 116
may initiate a
dial-up connection with data collection server 206 and download the exception
data. After
reporting an immediate exception to data collection server 206, collector 116
may delay
reporting any additional immediate exceptions for a period of time such as ten
minutes. This is
to avoid reporting exceptions from other meters 114 that relate to, or have
the same cause as, the
exception that was just reported.
[0055] If a daily exception was received, the exception is recorded in a file
or a
database table. Generally, daily exceptions are occurrences in the subnet 120
that need to be
reported to data collection server 206, but are not so urgent that they need
to be communicated
12
CA 02727311 2011-01-10
immediately. For example, when collector 116 registers a new meter 114 in
subnet 120,
collector 116 records a daily exception identifying that the registration has
taken place. In an
illustrative embodiment, the exception is recorded in a database table
referred to as the "Daily
Exception Log Table." Collector 116 communicates the daily exceptions to data
collection
server 206. Generally, collector 116 communicates the daily exceptions once
every 24 hours.
[00561 In the present embodiment, a collector assigns designated
communications paths
to meters with bi-directional communication capability, and may change the
communication
paths for previously registered meters if conditions warrant. For example,
when a collector 116
is initially brought into system 110, it needs to identify and register meters
in its subnet 120. A
"node scan" refers to a process of communication between a collector 116 and
meters 114
whereby the collector may identify and register new nodes in a subnet 120 and
allow previously
registered nodes to switch paths. A collector 116 can implement a node scan on
the entire
subnet, referred to as a "full node scan," or a node scan can be performed on
specially identified
nodes, referred to as a "node scan retry."
[00571 A full node scan may be performed, for example, when a collector is
first
installed. The collector 116 must identify and register nodes from which it
will collect usage
data. The collector 116 initiates a node scan by broadcasting a request, which
may be referred to
as a Node Scan Procedure request. Generally, the Node Scan Procedure request
directs that all
unregistered meters 114 or nodes that receive the request respond to the
collector 116. The
request may comprise information such as the unique address of the collector
that initiated the
procedure. The signal by which collector 116 transmits this request may have
limited strength
and therefore is detected only at meters 114 that are in proximity of
collector 116. Meters 114
that receive the Node Scan Procedure request respond by transmitting their
unique identifier as
well as other data.
[00581 For each meter from which the collector receives a response to the Node
Scan
Procedure request, the collector tries to qualify the communications path to
that meter before
registering the meter with the collector. That is, before registering a meter,
the collector 116
attempts to determine whether data communications with the meter will be
sufficiently reliable.
In one embodiment, the collector 116 determines whether the communication path
to a
responding meter is sufficiently reliable by comparing a Received Signal
Strength Indication
(RSSI) value (i.e., a measurement of the received radio signal strength)
measured with respect to
the received response from the meter to a selected threshold value. For
example, the threshold
value may be -60 dBm. RSSI values above this threshold would be deemed
sufficiently reliable.
In another embodiment, qualification is performed by transmitting a
predetermined number of
13
CA 02727311 2011-01-10
additional packets to the meter, such as ten packets, and counting the number
of
acknowledgements received back from the meter. If the number of
acknowledgments received is
greater than or equal to a selected threshold (e.g., 8 out of 10), then the
path is considered to be
reliable. In other embodiments, a combination of the two qualification
techniques may be
employed.
[0059] If the qualification threshold is not met, the collector 116 may add an
entry for
the meter to a "Straggler Table." The entry includes the meter's LAN ID, its
qualification score
(e.g., 5 out of 10; or its RSSI value), its level (in this case level one) and
the unique ID of its
parent (in this case the collector's ID).
[0060] If the qualification threshold is met or exceeded, the collector 116
registers the
node. Registering a meter 114 comprises updating a list of the registered
nodes at collector 116.
For example, the list may be updated to identify the meter's system-wide
unique identifier and
the communication path to the node. Collector 116 also records the meter's
level in the subnet
(i.e. whether the meter is a level one node, level two node, etc.), whether
the node operates as a
repeater, and if so, the number of meters for which it operates as a repeater.
The registration
process further comprises transmitting registration information to the meter
114. For example,
collector 116 forwards to meter 114 an indication that it is registered, the
unique identifier of the
collector with which it is registered, the level the meter exists at in the
subnet, and the unique
identifier of its parent meter that will server as a repeater for messages the
meter may send to the
collector. In the case of a level one node, the parent is the collector
itself. The meter stores this
data and begins to operate as part of the subnet by responding to commands
from its collector
116.
[0061] Qualification and registration continues for each meter that responds
to the
collector's initial Node Scan Procedure request. The collector 116 may
rebroadcast the Node
Scan Procedure additional times so as to insure that all meters 114 that may
receive the Node
Scan Procedure have an opportunity for their response to be received and the
meter qualified as a
level one node at collector 116.
[0062] The node scan process then continues by performing a similar process as
that
described above at each of the now registered level one nodes. This process
results in the
identification and registration of level two nodes. After the level two nodes
are identified, a
similar node scan process is performed at the level two nodes to identify
level three nodes, and
so on.
[0063] Specifically, to identify and register meters that will become level
two meters,
for each level one meter, in succession, the collector 116 transmits a command
to the level one
14
CA 02727311 2011-01-10
meter, which may be referred to as an "Initiate Node Scan Procedure" command.
This command
instructs the level one meter to perform its own node scan process. The
request comprises
several data items that the receiving meter may use in completing the node
scan. For example,
the request may comprise the number of timeslots available for responding
nodes, the unique
address of the collector that initiated the request, and a measure of the
reliability of the
communications between the target node and the collector. As described below,
the measure of
reliability may be employed during a process for identifying more reliable
paths for previously
registered nodes.
[00641 The meter that receives the Initiate Node Scan Response request
responds by
performing a node scan process similar to that described above. More
specifically, the meter
broadcasts a request to which all unregistered nodes may respond. The request
comprises the
number of timeslots available for responding nodes (which is used to set the
period for the node
to wait for responses), the unique address of the collector that initiated the
node scan procedure,
a measure of the reliability of the communications between the sending node
and the collector
(which may be used in the process of determining whether a meter's path may be
switched as
described below), the level within the subnet of the node sending the request,
and an RSSI
threshold (which may also be used in the process of determining whether a
registered meter's
path may be switched). The meter issuing the node scan request then waits for
and receives
responses from unregistered nodes. For each response, the meter stores in
memory the unique
identifier of the responding meter. This information is then transmitted to
the collector.
[00651 For each unregistered meter that responded to the node scan issued by
the level
one meter, the collector attempts again to determine the reliability of the
communication path to
that meter. In one embodiment, the collector sends a "Qualify Nodes Procedure"
command to
the level one node which instructs the level one node to transmit a
predetermined number of
additional packets to the potential level two node and to record the number of
acknowledgements
received back from the potential level two node. This qualification score
(e.g., 8 out of 10) is
then transmitted back to the collector, which again compares the score to a
qualification
threshold. In other embodiments, other measures of the communications
reliability may be
provided, such as an RSSI value.
[00661 If the qualification threshold is not met, then the collector adds an
entry for the
node in the Straggler Table, as discussed above. However, if there already is
an entry in the
Straggler Table for the node, the collector will update that entry only if the
qualification score for
this node scan procedure is better than the recorded qualification score from
the prior node scan
that resulted in an entry for the node.
CA 02727311 2011-01-10
[00671 If the qualification threshold is met or exceeded, the collector 116
registers the
node. Again, registering a meter 114 at level two comprises updating a list of
the registered
nodes at collector 116. For example, the list may be updated to identify the
meter's unique
identifier and the level of the meter in the subnet. Additionally, the
collector's 116 registration
information is updated to reflect that the meter 114 from which the scan
process was initiated is
identified as a repeater (or parent) for the newly registered node. The
registration process further
comprises transmitting information to the newly registered meter as well as
the meter that will
serve as a repeater for the newly added node. For example, the node that
issued the node scan
response request is updated to identify that it operates as a repeater and, if
it was previously
registered as a repeater, increments a data item identifying the number of
nodes for which it
serves as a repeater. Thereafter, collector 116 forwards to the newly
registered meter an
indication that it is registered, an identification of the collector 116 with
which it is registered,
the level the meter exists at in the subnet, and the unique identifier of the
node that will serve as
its parent, or repeater, when it communicates with the collector 116.
[00681 The collector then performs the same qualification procedure for each
other
potential level two node that responded to the level one node's node scan
request. Once that
process is completed for the first level one node, the collector initiates the
same procedure at
each other level one node until the process of qualifying and registering
level two nodes has been
completed at each level one node. Once the node scan procedure has been
performed by each
level one node, resulting in a number of level two nodes being registered with
the collector, the
collector will then send the Initiate Node Scan Response command to each level
two node, in
turn. Each level two node will then perform the same node scan procedure as
performed by the
level one nodes, potentially resulting in the registration of a number of
level three nodes. The
process is then performed at each successive node, until a maximum number of
levels is reached
(e.g., seven levels) or no unregistered nodes are left in the subnet.
[00691 It will be appreciated that in the present embodiment, during the
qualification
process for a given node at a given level, the collector qualifies the last
"hop" only. For
example, if an unregistered node responds to a node scan request from a level
four node, and
therefore, becomes a potential level five node, the qualification score for
that node is based on
the reliability of communications between the level four node and the
potential level five node
(i.e., packets transmitted by the level four node versus acknowledgments
received from the
potential level five node), not based on any measure of the reliability of the
communications
over the full path from the collector to the potential level five node. In
other embodiments, of
course, the qualification score could be based on the full communication path.
16
CA 02727311 2011-01-10
[00701 At some point, each meter will have an established communication path
to the
collector which will be either a direct path (i.e., level one nodes) or an
indirect path through one
or more intermediate nodes that serve as repeaters. If during operation of the
network, a meter
registered in this manner fails to perform adequately, it may be assigned a
different path or
possibly to a different collector as described below.
[00711 As previously mentioned, a full node scan may be performed when a
collector
116 is first introduced to a network. At the conclusion of the full node scan,
a collector 116 will
have registered a set of meters 114 with which it communicates and reads
metering data. Full
node scans might be periodically performed by an installed collector to
identify new meters 114
that have been brought on-line since the last node scan and to allow
registered meters to switch
to a different path.
[00721 In addition to the full node scan, collector 116 may also perform a
process of
scanning specific meters 114 in the subnet 120, which is referred to as a
"node scan retry." For
example, collector 116 may issue a specific request to a meter 114 to perform
a node scan
outside of a full node scan when on a previous attempt to scan the node, the
collector 116 was
unable to confirm that the particular meter 114 received the node scan
request. Also, a collector
116 may request a node scan retry of a meter 114 when during the course of a
full node scan the
collector 116 was unable to read the node scan data from the meter 114.
Similarly, a node scan
retry will be performed when an exception procedure requesting an immediate
node scan is
received from a meter 114.
[00731 The system 110 also automatically reconfigures to accommodate a new
meter
114 that may be added. More particularly, the system identifies that the new
meter has begun
operating and identifies a path to a collector 116 that will become
responsible for collecting the
metering data. Specifically, the new meter will broadcast an indication that
it is unregistered. In
one embodiment, this broadcast might be, for example, embedded in, or relayed
as part of a
request for an update of the real time as described above. The broadcast will
be received at one
of the registered meters 114 in proximity to the meter that is attempting to
register. The
registered meter 114 forwards the time to the meter that is attempting to
register. The registered
node also transmits an exception request to its collector 116 requesting that
the collector 116
implement a node scan, which presumably will locate and register the new
meter. The collector
116 then transmits a request that the registered node perform a node scan. The
registered node
will perform the node scan, during which it requests that all unregistered
nodes respond.
Presumably, the newly added, unregistered meter will respond to the node scan.
When it does,
17
CA 02727311 2011-01-10
the collector will then attempt to qualify and then register the new node in
the same manner as
described above.
[0074] Once a communication path between the collector and a meter is
established, the
meter can begin transmitting its meter data to the collector and the collector
can transmit data
and instructions to the meter. As mentioned above, data is transmitted in
packets. "Outbound"
packets are packets transmitted from the collector to a meter at a given
level. In one
embodiment, outbound packets contain the following fields, but other fields
may also be
included:
Length - the length of the packet;
SrcAddr - source address - in this case, the ID of the collector;
DestAddr - the LAN ID of the meter to which the packet addressed;
RptPath - the communication path to the destination meter (i.e., the list of
identifiers of each repeater in the path from the collector to the destination
node); and
Data - the payload of the packet.
The packet may also include integrity check information (e.g., CRC), a pad to
fill-out unused
portions of the packet and other control information. When the packet is
transmitted from the
collector, it will only be forwarded on to the destination meter by those
repeater meters whose
identifiers appear in the RptPath field. Other meters that may receive the
packet, but that are not
listed in the path identified in the RptPath field will not repeat the packet.
[0075] "Inbound" packets are packets transmitted from a meter at a given level
to the
collector. In one embodiment, inbound packets contain the following fields,
but other fields may
also be included:
Length - the length of the packet;
SrcAddr - source address - the address of the meter that initiated the packet;
DestAddr - the ID of the collector to which the packet is to be transmitted;
RptAddr - the ID of the parent node that serves as the next repeater for the
sending node;
Data - the payload of the packet;
Because each meter knows the identifier of its parent node (i.e., the node in
the next lower level
that serves as a repeater for the present node), an inbound packet need only
identify who is the
next parent. When a node receives an inbound packet, it checks to see if the
RptAddr matches its
own identifier. If not, it discards the packet. If so, it knows that it is
supposed to forward the
packet on toward the collector. The node will then replace the RptAddr field
with the identifier
of its own parent and will then transmit the packet so that its parent will
receive it. This process
18
CA 02727311 2011-01-10
will continue through each repeater at each successive level until the packet
reaches the
collector.
[00761 For example, suppose a meter at level three initiates transmission of a
packet
destined for its collector. The level three node will insert in the RptAddr
field of the inbound
packet the identifier of the level two node that serves as a repeater for the
level three node. The
level three node will then transmit the packet. Several level two nodes may
receive the packet,
but only the level two node having an identifier that matches the identifier
in the RptAddr field
of the packet will acknowledge it. The other will discard it. When the level
two node with the
matching identifier receives the packet, it will replace the RptAddr field of
the packet with the
identifier of the level one packet that serves as a repeater for that level
two packet, and the level
two packet will then transmit the packet. This time, the level one node having
the identifier that
matches the RptAddr field will receive the packet. The level one node will
insert the identifier
of the collector in the RptAddr field and will transmit the packet. The
collector will then receive
the packet to complete the transmission.
[00771 A collector 116 periodically retrieves meter data from the meters that
are
registered with it. For example, meter data may be retrieved from a meter
every 4 hours. Where
there is a problem with reading the meter data on the regularly scheduled
interval, the collector
will try to read the data again before the next regularly scheduled interval.
Nevertheless, there
may be instances wherein the collector 116 is unable to read metering data
from a particular
meter 114 for a prolonged period of time. The meters 114 store an indication
of when they are
read by their collector 116 and keep track of the time since their data has
last been collected by
the collector 116. If the length of time since the last reading exceeds a
defined threshold, such as
for example, 18 hours, presumably a problem has arisen in the communication
path between the
particular meter 114 and the collector 116. Accordingly, the meter 114 changes
its status to that
of an unregistered meter and attempts to locate a new path to a collector 116
via the process
described above for a new node. Thus, the exemplary system is operable to
reconfigure itself to
address inadequacies in the system.
[00781 In some instances, while a collector 116 maybe able to retrieve data
from a
registered meter 114 occasionally, the level of success in reading the meter
may be inadequate.
For example, if a collector 116 attempts to read meter data from a meter 114
every 4 hours but is
able to read the data, for example, only 70 percent of the time or less, it
may be desirable to find
a more reliable path for reading the data from that particular meter. Where
the frequency of
reading data from a meter 114 falls below a desired success level, the
collector 116 transmits a
message to the meter 114 to respond to node scans going forward. The meter 114
remains
19
CA 02727311 2011-01-10
registered but will respond to node scans in the same manner as an
unregistered node as
described above. In other embodiments, all registered meters may be permitted
to respond to
node scans, but a meter will only respond to a node scan if the path to the
collector through the
meter that issued the node scan is shorter (i.e., less hops) than the meter's
current path to the
collector. A lesser number of hops is assumed to provide a more reliable
communication path
than a longer path. A node scan request always identifies the level of the
node that transmits the
request, and using that information, an already registered node that is
permitted to respond to
node scans can determine if a potential new path to the collector through the
node that issued the
node scan is shorter than the node's current path to the collector.
[0079] If an already registered meter 114 responds to a node scan procedure,
the
collector 116 recognizes the response as originating from a registered meter
but that by re-
registering the meter with the node that issued the node scan, the collector
may be able to switch
the meter to a new, more reliable path. The collector 116 may verify that the
RSSI value of the
node scan response exceeds an established threshold. If it does not, the
potential new path will
be rejected. However, if the RSSI threshold is met, the collector 116 will
request that the node
that issued the node scan perform the qualification process described above
(i.e., send a
predetermined number of packets to the node and count the number of
acknowledgements
received). If the resulting qualification score satisfies a threshold, then
the collector will register
the node with the new path. The registration process comprises updating the
collector 116 and
meter 114 with data identifying the new repeater (i.e. the node that issued
the node scan) with
which the updated node will now communicate. Additionally, if the repeater has
not previously
performed the operation of a repeater, the repeater would need to be updated
to identify that it is
a repeater. Likewise, the repeater with which the meter previously
communicated is updated to
identify that it is no longer a repeater for the particular meter 114. In
other embodiments, the
threshold determination with respect to the RSSI value may be omitted. In such
embodiments,
only the qualification of the last "hop" (i.e., sending a predetermined number
of packets to the
node and counting the number of acknowledgements received) will be performed
to determine
whether to accept or reject the new path.
[0080] In some instances, a more reliable communication path for a meter may
exist
through a collector other than that with which the meter is registered. A
meter may
automatically recognize the existence of the more reliable communication path,
switch
collectors, and notify the previous collector that the change has taken place.
The process of
switching the registration of a meter from a first collector to a second
collector begins when a
registered meter 114 receives a node scan request from a collector 116 other
than the one with
CA 02727311 2011-01-10
which the meter is presently registered. Typically, a registered meter 114
does not respond to
node scan requests. However, if the request is likely to result in a more
reliable transmission
path, even a registered meter may respond. Accordingly, the meter determines
if the new
collector offers a potentially more reliable transmission path. For example,
the meter 114 may
determine if the path to the potential new collector 116 comprises fewer hops
than the path to the
collector with which the meter is registered. If not, the path may not be more
reliable and the
meter 114 will not respond to the node scan. The meter 114 might also
determine if the RSSI of
the node scan packet exceeds an RSSI threshold identified in the node scan
information. If so,
the new collector may offer a more reliable transmission path for meter data.
If not, the
transmission path may not be acceptable and the meter may not respond.
Additionally, if the
reliability of communication between the potential new collector and the
repeater that would
service the meter meets a threshold established when the repeater was
registered with its existing
collector, the communication path to the new collector may be more reliable.
If the reliability
does not exceed this threshold, however, the meter 114 does not respond to the
node scan.
[00811 If it is determined that the path to the new collector may be better
than the path
to its existing collector, the meter 114 responds to the node scan. Included
in the response is
information regarding any nodes for which the particular meter may operate as
a repeater. For
example, the response might identify the number of nodes for which the meter
serves as a
repeater.
[00821 The collector 116 then determines if it has the capacity to service the
meter and
any meters for which it operates as a repeater. If not, the collector 116 does
not respond to the
meter that is attempting to change collectors. If, however, the collector 116
determines that it has
capacity to service the meter 114, the collector 116 stores registration
information about the
meter 114. The collector 116 then transmits a registration command to meter
114. The meter
114 updates its registration data to identify that it is now registered with
the new collector. The
collector 116 then communicates instructions to the meter 114 to initiate a
node scan request.
Nodes that are unregistered, or that had previously used meter 114 as a
repeater respond to the
request to identify themselves to collector 116. The collector registers these
nodes as is described
above in connection with registering new meters/nodes.
[00831 Under some circumstances it may be necessary to change a collector. For
example, a collector may be malfunctioning and need to be taken off-line.
Accordingly, a new
communication path must be provided for collecting meter data from the meters
serviced by the
particular collector. The process of replacing a collector is performed by
broadcasting a message
to unregister, usually from a replacement collector, to all of the meters that
are registered with
21
CA 02727311 2011-01-10
the collector that is being removed from service. In one embodiment,
registered meters may be
programmed to only respond to commands from the collector with which they are
registered.
Accordingly, the command to unregister may comprise the unique identifier of
the collector that
is being replaced. In response to the command to unregister, the meters begin
to operate as
unregistered meters and respond to node scan requests. To allow the
unregistered command to
propagate through the subnet, when a node receives the command it will not
unregister
immediately, but rather remain registered for a defined period, which may be
referred to as the
"Time to Live". During this time to live period, the nodes continue to respond
to application
layer and immediate retries allowing the unregistration command to propagate
to all nodes in the
subnet. Ultimately, the meters register with the replacement collector using
the procedure
described above.
[0084] One of collector's 116 main responsibilities within subnet 120 is to
retrieve
metering data from meters 114. In one embodiment, collector 116 has as a goal
to obtain at least
one successful read of the metering data per day from each node in its subnet.
Collector 116
attempts to retrieve the data from all nodes in its subnet 120 at a
configurable periodicity. For
example, collector 116 may be configured to attempt to retrieve metering data
from meters 114
in its subnet 120 once every 4 hours. In greater detail, in one embodiment,
the data collection
process begins with the collector 116 identifying one of the meters 114 in its
subnet 120. For
example, collector 116 may review a list of registered nodes and identify one
for reading. The
collector 116 then communicates a command to the particular meter 114 that it
forward its
metering data to the collector 116. If the meter reading is successful and the
data is received at
collector 116, the collector 116 determines if there are other meters that
have not been read
during the present reading session. If so, processing continues. However, if
all of the meters
114 in subnet 120 have been read, the collector waits a defined length of
time, such as, for
example, 4 hours, before attempting another read.
[0085] If during a read of a particular meter, the meter data is not received
at collector
116, the collector 116 begins a retry procedure wherein it attempts to retry
the data read from the
particular meter. Collector 116 continues to attempt to read the data from the
node until either
the data is read or the next subnet reading takes place. In an embodiment,
collector 116 attempts
to read the data every 60 minutes. Thus, wherein a subnet reading is taken
every 4 hours,
collector 116 may issue three retries between subnet readings.
[0086] Meters 114 are often two-way meters -i.e. they are operable to both
receive and
transmit data. However, one-way meters that are operable only to transmit and
not receive data
may also be deployed. Figure 4 is a block diagram illustrating a subnet 401
that includes a
22
CA 02727311 2011-01-10
number of one-way meters 451-456. As shown, meters 114a-k are two-way devices.
In this
example, the two-way meters 114a-k operate in the exemplary manner described
above, such
that each meter has a communication path to the collector 116 that is either a
direct path (e.g.,
meters 114a and 114b have a direct path to the collector 116) or an indirect
path through one or
more intermediate meters that serve as repeaters. For example, meter 114h has
a path to the
collector through, in sequence, intermediate meters 114d and 114b. In this
example
embodiment, when a one-way meter (e.g., meter 451) broadcasts its usage data,
the data may be
received at one or more two-way meters that are in proximity to the one-way
meter (e.g., two-
way meters 114f and 114g). In one embodiment, the data from the one-way meter
is stored in
each two-way meter that receives it, and the data is designated in those two-
way meters as
having been received from the one-way meter. At some point, the data from the
one-way meter
is communicated, by each two-way meter that received it, to the collector 116.
For example,
when the collector reads the two-way meter data, it recognizes the existence
of meter data from
the one-way meter and reads it as well. After the data from the one-way meter
has been read, it
is removed from memory.
[0087] While the collection of data from one-way meters by the collector has
been
described above in the context of a network of two-way meters 114 that operate
in the manner
described in connection with the embodiments described above, it is understood
that the present
invention is not limited to the particular form of network established and
utilized by the meters
114 to transmit data to the collector. Rather, the present invention may be
used in the context of
any network topology in which a plurality of two-way communication nodes are
capable of
transmitting data and of having that data propagated through the network of
nodes to the
collector.
[0088] According to various embodiments, a synchronization header may be used
to
provide the receiver "evidence" of the presence of a valid signal in a packet
oriented data
transmission system. The synchronization header may provide the receiver a
mechanism to
signal the start of data and may include (1) the preamble waveform, (2) an end
of preamble
waveform, and (3) a start-of-frame delimiter (SFD) token value that indicates
the end of the
synchronization header and the start of packet data. To support devices that
can transfer packet
data at different data rates, a common synchronization header may be used,
with the exception
that a different SFD value may be used to indicate the data rate for the
packet data. This allows
the packet data rate to be varied based on device type and also allows a
"fast" data rate device to
route "slow" data rate packets to devices that cannot support the higher data
rates. Various
embodiments may realize certain advantages. For example, the packet data rate
of a device or
23
CA 02727311 2011-01-10
system can be increased while continuing to support the installed utility
assets that communicate
at a lower existing data rate, even though the new data rate may be an order
of magnitude higher
than the existing data rate. In order for the new higher data rate system to
be backward
compatible and interoperable, the endpoint firmware may be sufficiently agile
to operate at either
the old data rate or the new data rate.
[0089] Figure 5 illustrates various parts of an example synchronization header
500 and
shows a preamble 502, an end of preamble 504, for example, an inverted
preamble, and a start of
frame delimiter (SFD) 506. Figure 5 also illustrates a data portion 508. Two
different values of
the SFD 506 are shown with corresponding different packet data rates, shown in
the data portion
508, indicated by different SFD values. It will be appreciated by those of
skill in the art that the
SFD values and the corresponding data rates are only provided by way of
example and not
limitation, and not necessarily the actual values or data rates used by the
system. It will also be
appreciated that, even though Figure 5 illustrates two different values of the
SFD 506, the SFD
can have other values not specifically shown in Figure 5 for signaling a
variety of packet data
rates.
[0090] In this way, different values of the SFD 506 can be used to signal
different
packet data rates and facilitate interoperability between a device
communicating at one data rate
and a different device communicating at another data rate. Additionally, a
significant term in
communications between devices that are not synchronized is the length of the
preamble.
According to another aspect, the preamble can be shortened without losing the
ability to
synchronize the communicating devices. The preamble value may be shortened by,
for example,
a factor of 3.25 while still maintaining the ability for a receiving device to
synchronize to the
transmitted signal. In some embodiments, the preamble may be shortened by
reducing the
number of RSSI scans by, for example, from four passes across all channels to
one pass.
[0091] According to another aspect, receiver sensitivity can be maintained
when the
data rate for the packet data is increased by, for example, a factor of 8.
Typically, the receiver
sensitivity drops by 3db each time the data rate is doubled. If this rule of
thumb were followed
in a network device, the receiver sensitivity for packet data would drop by
approximately 9dB
when the data rate for packet data increases by a factor of 8. The mechanisms
used to improve
receiver sensitivity may allow the devices supporting the faster data rate to
maintain an
equivalent sensitivity for packets that are equivalent to the slow data rate
packets. For example,
a fast data rate packet with a duration of 40 msec may show a similar receiver
sensitivity to a
slow data rate packet with a 40 msec duration.
24
CA 02727311 2011-01-10
[0092] To detect a preamble and synchronize to the exact bit timing used by a
transmitting device, some conventional receiving devices use a process known
in the art as
"carrier detect" to determine if a valid preamble is present on a channel that
was marked as
having a strong signal, i.e., a high RSSI value. The carrier detect process
can both detect the
signal and align the receiving device to the bit timing of the transmitting
device. After a carrier
has been detected, the receiving device can further refine the bit time
alignment using a process
known in the art as "carrier lock." The carrier lock process further refines
the bit timing by
sampling around known bit transitions and adjusting the sampling time
accordingly. For
example, the sampling may be done with 32 samples evenly spaced around the bit
transition,
such that half of the samples, i.e., 16 samples, are taken prior to the
transition and the other half
of the samples are taken after the transition. The 32 samples are then
compared to an ideal
waveform. If there are bit errors when the ideal waveform is compared to the
signal to which the
device is trying to "lock," a timing adjustment is made to adjust the time
when the next sample is
taken. In this way, the bit timing for the receiving device is adjusted to
better align the receiving
device with the transmitting device.
[0093] Some conventional receiving devices perform the carrier lock sampling
using 32
samples around two full bit times. The bit transition may be in the middle of
this 32 sample
period. In such devices, the amount of bit time adjustment is based on a fixed
amount of time
adjustment determined by the number of bit errors compared to the ideal
signal.
[0094] In some embodiments, the sampling window may be narrowed around the bit
transition. That is, while the receiving device may still take, for example,
32 samples, it may
take those samples within a narrower time frame, e.g., within less than two
full bits around the
bit transition. Using a narrower sampling window provides the samples in a
shorter period of
time and thus allows for a more granular adjustment factor, where the
adjustment factor is still
based on the number of differences between the 32 samples and the ideal
waveform.
[0095] In addition to the narrower sampling window and resulting improved
resolution,
the amount of adjustment for aligning the receiving device to the bit timing
of the transmitting
device may be further refined by using a fine adjustment mechanism in addition
to a coarse
adjustment mechanism. According to some embodiments, both the coarse
adjustment period and
the fine adjustment period use the same narrow sampling window around the bit
transition, but
the coarse adjustment may be only used for the first adjustment that occurs
during the carrier
lock process. Typically, the carrier detect process aligns the receiving
device closely to the bit
timing of the transmitting device, but the alignment is not as precise as what
is obtained by the
carrier lock process. To account for this lack of precision, the first sample
period of the carrier
CA 02727311 2011-01-10
lock process may use a coarse resolution adjustment in which the adjustment is
based on the
number of bit errors. This coarse resolution adjustment is similar to how
"carrier lock"
adjustments are performed by some conventional devices.
[0096] However, once the initial carrier lock adjustment has been made, coarse
adjustments may not be desirable as they have a tendency to put too much
weight on a given
sample, while potentially losing the tracking and synchronization gained from
previous carrier
lock sampling windows. To prevent undesirable "jumps" from a bad sample or a
"noisy" bit, in
some embodiments, after the initial coarse adjustment, subsequent carrier lock
adjustments may
be done using an adjustment mechanism having a finer resolution, in which the
amount of
adjustment allowed may be limited to a predetermined and configurable time
period and is not
determined based on the number of bit errors, but rather on the positive or
negative direction of
the error. This configurable time period may be set to progressively smaller
periods during
successive iterations of the fine adjustment process. This fine adjustment
mechanism allows the
bit edge to be closely refined, without allowing large jumps that may delay or
prevent the
synchronization process. Note that the adjustment may allow the next bit time
to be adjusted in a
positive or a negative direction, based on the relationship between the sample
results and the
ideal waveform.
[0097] In some embodiments, a device may support two configuration tables that
define the amount of coarse adjustment and the amount of fine adjustment based
on the samples
near the bit, transition. The device also may have a configuration parameter
to define the number
of bit errors that would be considered an invalid signal and thus require the
receiving device to
stop the carrier lock process and look for a signal on a different channel.
[0098] The addition of a fine adjustment mechanism in addition to the existing
coarse
adjustment mechanism allows the receiving device to better synchronize to the
bit time of the
transmitting device. This enhanced synchronization allows for improved bit
detection of the
SFD and the following data packet. Improved synchronization may be
particularly important
when the data packets are transmitted at a higher data rate.
[0099] In addition to the mechanisms used to refine the bit timing, the device
may
support a table that allows for a variety of data rates, in which the bit
timing for a variety of data
rates is determined by a table lookup that associates the SFD to a data rate
and to the
corresponding bit times. This flexible mechanism allows a variety of data
rates to be supported
by a configuration table change, as compared to requiring a change in the
firmware that controls
the device's functionality.
26
CA 02727311 2011-01-10
[01001 Figure 6 is a flow diagram illustrating an example method 600 for
synchronizing a receiving device to the bit timing of a transmitting device.
First, at a step 602,
the receiving device listens for a preamble. After the receiving device
receives the preamble, the
receiving device detects an SFD at a step 604. In particular, when the
receiving device begins to
receive the end of the preamble, it begins to sample and monitor every
received bit to identify
the SFD. At a step 606, the receiving device compares the value of the SFD to
a number of
entries in a lookup table and retrieves a result from the lookup table, which
the receiving device
uses to determine the data rate of the transmitting device at a step 608. At a
step 610, the
receiving device collects a number of samples, for example, around a known bit
transition. As
disclosed above, the number of samples may be collected over a smaller time
window around the
bit transition as compared with conventional carrier lock techniques. The
receiving device then
compares the collected samples to an ideal waveform and adjusts the timing of
the next sampling
as appropriate at a step 612. At a step 614, the receiving device performs the
coarse adjustment
procedure disclosed above. In some embodiments, the receiving device also
performs the fine
adjustment procedure disclosed above at a step 616.
[01011 Some systems use an installed base of meters that utilize the legacy
long
preamble and slow data rate. New devices may be added to the network, and
these devices may
be capable of communicating using the slow data rate, but may also support the
mechanisms to
support the fast data rate for packet data. In addition to adding new devices,
an over-the-air
(OTA) firmware upgrade process can be used to upgrade firmware in legacy
devices to enable
them to support the new, faster data rate for packet data. Depending on the
network, some
legacy devices may not be upgradable; such devices can only support the legacy
(slow) data
rates. In this type of mixed network, the system collector may determine the
capability of each
device that operates in the network and communicate to the device using the
fastest data rate
supported by the device. The collector may associate the device's capabilities
to the duration of
the preamble. For communicating with receiving devices that support the faster
packet data rate,
the collector may also use the shorter preamble duration. For communicating
with receiving
devices that continue to use the legacy (slow) data rate, on the other hand,
the collector may use
the legacy, longer preamble duration. Devices that only support the legacy
data rate may be
communicated to using this data rate, and new devices can properly route these
messages, while
also supporting messages at the higher data rate. The devices in the network
that support both
slow and fast data rates can route messages to all devices, whereas the legacy
devices that only
support the slow data rate can function as end point devices, even if they
cannot route messages
to other devices.
27
CA 02727311 2011-01-10
[0102] In some embodiments, a device has a configuration parameter that
specifies the
duration of the preamble to be used for communications. To enable efficient
communications as
soon as the device is upgraded without requiring a secondary operation to
change the preamble
length, and to also allow for different preamble durations, when responding to
a request or
routing a message, the receiving device may use the same preamble duration
received in the
message. The device may also use the data packet data rate that is received
for initiating a
response. Accordingly, the majority of the system intelligence about network
structure and a
device's capability can be maintained at the collector as compared to being
stored in each end
point and routing device.
[0103] While systems and methods have been described and illustrated with
reference
to specific embodiments, those skilled in the art will recognize that
modification and variations
may be made without departing from the principles described above and set
forth in the
following claims. For example, although in the embodiments described above,
the systems and
methods of the present invention are described in the context of a network of
metering devices,
such as electricity, gas, or water meters, it is understood that the present
invention can be
implemented in any kind of network in which it is necessary to obtain
information from or to
provide information to end devices in the system, including without
limitation, networks
comprising meters, in-home displays, in-home thermostats, load control
devices, or any
combination of such devices. Accordingly, reference should be made to the
following claims as
describing the scope of the present invention.
28