Dynamic self-configuring metering network

Information

  • Patent Grant
  • 7145474
  • Patent Number
    7,145,474
  • Date Filed
    Friday, August 27, 2004
    19 years ago
  • Date Issued
    Tuesday, December 5, 2006
    17 years ago
Abstract
A dynamic self-configuring system for collecting metering data comprises a collector meter. The collector meter scans for meters that are operable to directly communicate with the collector and registers such meters as level one meters. The collector transmits instructions to the level one meters to scan for meters that are operable to directly communicate with the level one meters. The collector registers meters that respond as level two meters.
Description
FIELD OF THE INVENTION

The present invention relates to metering systems, and more particularly, to wireless networks for gathering metering data.


BACKGROUND

The collection of meter data from electrical energy, water, and gas meters has traditionally been performed by human meter-readers. The meter-reader travels to the meter location, which is frequently on the customer's premises, visually inspects the meter, and records the reading. The meter-reader may be prevented from gaining access to the meter as a result of inclement weather or, where the meter is located within the customer's premises, due to an absentee customer. This methodology of meter data collection is labor intensive, prone to human error, and often results in stale and inflexible metering data.


Some meters have been enhanced to include a one-way radio transmitter for transmitting metering data to a receiving device. A person collecting meter data that is equipped with an appropriate radio receiver need only come into proximity with a meter to read the meter data and need not visually inspect the meter. Thus, a meter-reader may walk or drive by a meter location to take a meter reading. While this represents an improvement over visiting and visually inspecting each meter, it still requires human involvement in the process.


An automated means for collecting meter data involves a fixed wireless network. Devices such as, for example, repeaters and gateways are permanently affixed on rooftops and pole-tops and strategically positioned to receive data from enhanced meters fitted with radio-transmitters. Data is transmitted from the meters to the repeaters and gateways and ultimately communicated to a central location. While fixed wireless networks greatly reduce human involvement in the process of meter reading, such systems require the installation and maintenance of a fixed network of repeaters, gateways, and servers. Identifying an acceptable location for a repeater or server and physically placing the device in the desired location on top of a building or utility pole is a tedious and labor-intensive operation. Furthermore, each meter that is installed in the network needs to be manually configured to communicate with a particular portion of the established network. When a portion of the network fails to operate as intended, human intervention is typically required to test the effected components and reconfigure the network to return it to operation. Thus, while existing fixed wireless systems have reduced the need for human involvement in the daily collection of meter data, such systems require substantial human investment in planning, installation, and maintenance and are relatively inflexible and difficult to manage.


SUMMARY

A dynamic self-configuring system for collecting meter data is disclosed herein. In an illustrative embodiment, 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 of the meter devices, which is referred to as a collector, broadcasts messages to identify one or more of the meters with which it can directly communicate. The meters with which the collector is operable to directly communicate may be referred to as level one meters. Data designating these meters as level one meters is stored on the collector and the level one meters.


The collector communicates instructions to the level one meters to scan for meters that are operable to directly communicate with the level one meters. Meters that directly communicate with the level one meters may be referred to as level two meters. Data identifying the level two meters and the communication path to the level two meters is stored on the collector and the level two meters.


The collector continues the process of scanning the last defined level of meters for new meters that communicate with the last defined level. This process gradually provides identification of the meters in the network and the paths by which to communicate with each meter. Additionally, when new meters are added to the network, they are identified via subsequent scans.





BRIEF DESCRIPTION OF THE DRAWINGS

Other features of systems and methods for gathering metering data are further apparent from the following detailed description of exemplary embodiments taken in conjunction with the accompanying drawings, of which:



FIG. 1 is a diagram of a wireless system for collecting meter data;



FIG. 2 depicts a flow chart of a process for exception handling;



FIGS. 3A and 3B depicts a flow chart of a process for registering nodes with a collector;



FIG. 4 depicts a flow chart of a process for registering a newly added meter;



FIG. 5 depicts a flow chart of a process for switching the communication path for a registered node to a new collector;



FIG. 6 depicts a flow chart of a process for reading usage data;



FIG. 7 depicts a flow chart of a process for reading data from a one-way meter;



FIG. 8 depicts a block diagram of a meter suitable for use with the disclosed embodiments; and



FIG. 9 is a diagram of a general purpose computing device.





DETAILED DESCRIPTION

Exemplary systems and methods for gathering meter data are described below with reference to FIGS. 1–9. 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.


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 with each other. A collector meter is operable to automatically identify and register meters for communication with the collector meter. When a meter is installed, the meter becomes registered with the collector that can provide a communication path to the meter. The collectors receive and compile metering data from a plurality of meter devices via wireless communications. A communications server communicates with the collectors to retrieve the compiled meter data.



FIG. 1 provides a diagram of an exemplary metering system 110. System 110 comprises a plurality of meters 114, which are operable to sense and record 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 an antenna and are operable to transmit data, including service usage data, wirelessly. Meters 114 may be further operable to receive data wirelessly as well. In an illustrative embodiment, meters 114 may be, for example, a electrical meters manufactured by ABB Incorporated.


System 110 further comprises collectors 116. Collectors 116 are also meters operable to detect and record usage of a service or commodity such as, for example, electricity, water, or gas. Collectors 116 comprise an antenna and are operable to send and receive data wirelessly. In particular, collectors 116 are operable to send data to and receive data from meters 114. In an illustrative embodiment, meters 114 may be, for example, an electrical meter manufactured by ABB Incorporated.


A collector 116 and the meters 114 for which it is configured to receive meter data define a subnet 120 of system 110. For each subnet 120, data is collected at collector 116 and periodically transmitted to communication server 122. Communication server 122 stores the data for analysis and preparation of bills. Communication server 122 may be a specially programmed general purpose computing system and may communicate with collectors 116 wirelessly or via a wire line connection such as, for example, a dial-up telephone connection or fixed wire network.


Thus, each subnet 120 comprises a collector 116 and one or more meters 114, which may be referred to as nodes of the subnet. Typically, collector 116 directly communicates with only a subset of the plurality of meters 114 in the particular subnet. 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.


Each level one meter 114a directly communicates 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 114a, 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.


While only three levels of meters are shown (collector 114, first level 114a, second level 114b) in FIG. 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 512 meters might be registered with a single collector 116.


Each meter 114 and collector 116 that is installed in the system 110 has a unique identifier stored thereon that uniquely identifies the device 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 with which the meter communicates to send and receive data to 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 with each node.


Generally, collector 116 and meters 114 communicate with and amongst one another using any one of several robust wireless techniques such as, for example, frequency hopping spread spectrum (FHSS) and direct sequence spread spectrum (DSSS).


For most network tasks such as, for example, reading 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 a defined set of meter hops to the desired meter 114. Similarly, a meter 114 communicates with collector 117 through the same set of meter hops, but in reverse.


In some instances, however, collector 117 needs to quickly communicate information to all meters 114 located in its subnet 120. Accordingly, collector 117 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 out the subnet 120.


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 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.


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.


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 tone 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.


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.


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. 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.


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 communication server 122; an immediate exception, which is generally relayed to communication server 122 under an expedited schedule; and a daily exception, which is communicated to the communication server 122 on a regular schedule.



FIG. 2 presents a flowchart of a process employed by collector 116 for handling these exceptions. At step 210, the exception is received at collector 116. At step 212, collector 116 identifies the type of exception that has been received. If a local exception has been received, at step 214, 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.


If an immediate exception type has been received, at step 220, 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.”


At step 222, collector 116 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 communication server 122. 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.


If at step 224 the exception has not been corrected, at step 226, collector 116 communicates the immediate exception to communication server 122. For example, collector 116 may initiate a dial-up connection with communication server 122 and download the exception data. After reporting an immediate exception to communications server 122, 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.


If a daily exception was received, at step 230, 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 communication server 122, but are not so urgent that they need to be communicated 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.” At step 232, collector 116 communicates the daily exceptions to communications server 122. Generally, collector 116 communicates the daily exceptions once every 24 hours.


According to an aspect of the disclosed system 110, a collector 116 may dynamically identify meters 114 that are operable to communicate with it in a subnet 120 as well as identify more efficient communication paths for previously registered meters. 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 connectors 116 and meters 114 whereby a 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.”


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. FIGS. 3A and 3B depict a flow chart of a process for performing a “full node scan.” As shown, at step 310, the collector 116 initiates the 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 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.


Collector 116 receives a response from one of the meters 114 at step 312. At step 313, collector 116 identifies a received signal strength (RSSI) value for the response from meter 114. At step 314, collector 116 stores in memory the meter's 114 unique identifier along with the corresponding RSSI value.


Preferably, collector 116 attempts to register meters 114 that will have a reliable data communication path. Accordingly, at step 316, collector 116 compares the RSSI value of the node scan response with a selected threshold value. For example, the threshold value may be −60 dBm. RSSI values above this threshold are sufficiently reliable. Collector 116 maintains a list of meters 114 that responded but which do not satisfy the RSSI threshold. For example, a database table referred to as the Straggler table may be employed to store for each meter that responded to a Node Scan Response and did not meet the RSSI value, the meter's unique identifier and the RSSI value of the response. Accordingly, if at step 316 the RSSI value is not greater than the established threshold, at step 318, collector 116 updates its list to include the meter's unique identifier and RSSI value. Thereafter, processing continues at step 326.


If at step 316, the RSSI value exceeds the threshold, at step 324, 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. Upon initialization, the data indicates the node is not a repeater and the number of meters for which it operates as a repeater is zero. 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 the meter with which it should communicate data. The meter stores this data and begins to operate as part of the subnet by responding to commands from its collector 116.


At step 326, collector 116 determines if there are additional responses to the node scan request. If so, processing continues at step 314.


Steps 310 through 326 may be performed several 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 at collector 116. Accordingly, at step 328, collector 116 determines whether the Node Scan should be implemented again. Generally, this is determined by comparing the number of times the steps have been completed with a predefined limit. If the limit has not been met, processing continues at step 310. If the limit has been met, a first portion of the node scan procedure is complete. It is presumed that all first level meters 114 have been identified and registered at this point in the process. The Straggler list may identify one or more meters 114 that did not satisfy the RSSI threshold. The node scan process 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.



FIG. 3B is a flow chart of the process for identifying and registering meters located above the level one meters. At step 340, collector 116 transmits a command, which may be referred to as an Initiate Node Scan Procedure, to the first of the meters 114 registered at steps 310 through 328, to initiate a node scan process at the particular meter 114. 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 in connection with FIG. 4, the measure of reliability is employed during a process for identifying more reliable paths for previously registered nodes.


The meter that receives the Initiate Node Scan Response request responds by performing a node scan process similar to that described above at steps 310 through 328. More specifically, the meter broadcasts a request to which all unregistered nodes 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 is used in the process of determining whether a meter's path may be switched as defined below in connection with FIG. 5), the level within the subnet of the node sending the request, and an RSSI threshold (which is used in the process of determining whether a registered meter's path may be switched as described below in connection with FIG. 4). The meter issuing the node scan request waits for and receives responses. For each response, the meter stores in memory the unique identifier and the RSSI value of the response. At step 342, collector 116 waits while the response are collected at the meter that issued the node scan. At step 344, collector 116 retrieves the node information that has been collected by the meter. At step 346, collector 116 parses the information and selects one of the meters or potential nodes in the list of retrieved data.


Collector 116 attempts to register meters 114 that will have a reliable data communication path. Accordingly, at step 348, collector 116 compares the RSSI value for the selected meter 114 with a selected threshold value. If the RSSI value is not greater than the threshold value, at step 350, collector 116 determines if the particular meter was previously identified as having responded to a Node Scan Response request but having not met the RSSI threshold. Specifically, collector 116 may refer to its Straggler table or similar file where it maintains a list of meters 114 that meet this criteria. If so, at step 352, collector 116 compares the RSSI value with the previously stored value. If the new RSSI value is greater than the previous value, at step 354, collector updates the Straggler table to identify the new RSSI value and the new communication path. If at step 352, the new RSSI value is not greater than the previous value, processing continues at step 362. If at step 350, it is determined that the particular meter 114 is not in the Straggler table, processing continues at step 354, where the Straggler table is updated to reflect the meter identifier, the communication path to this meter and the RSSI value. Thereafter, processing continues at step 362.


If at step 348, the RSSI value exceeded the threshold, at step 360, 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 unique identifier and the level of the meter in the subnet, i.e. whether the meter is a level one node, level two node, etc. 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 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 with which it communicates to forward information to collector 116.


At step 362, collector 116 determines if there are additional nodes identified in the information retrieved from the meter 114 that performed the node scan request. If so, processing continues at step 346.


If at step 362, there are no potential nodes to be evaluated, at step 364, collector 116 determines if there are other registered nodes on the same level that have not been directed to perform a node scan. For example, if level 1 nodes are being scanned for potential level 2 nodes, at step 364 collector 116 determines if there are any level 1 nodes that have not yet performed a node scan procedure. If so, processing continues at step 340 wherein collector requests that a node scan procedure be performed at the node.


If at step 364, all nodes at the level of the subnet under evaluation have been reviewed, processing continues at step 368, with collector 116 determining if there are registered meters at the next level of the subnet. If so, processing continues at step 340 with node scans being performed at this next level.


If at step 368 there are no registered nodes at the next higher level, at step 370, collector 116 registers the nodes identified in the list of meters that have responded but did not meet the RSSI threshold. At this point in the process, presumably, the list comprises the best path identified for each of the unregistered meters that responded, even if that path does not meet the desired RSSI threshold. 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.


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.


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.


According to an aspect of the disclosed embodiment, system 110 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. A flow chart of a process for adding a new meter is depicted in FIG. 4. As shown, at step 410, the new meter broadcasts 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. At step 412, the broadcast is received at one of the registered meters 114 in proximity to the meter that is attempting to register. At step 414, the registered meter 114 forwards the time to the meter that is attempting to register. At step 416, 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. At step 418, the collector 116 transmits a request that the registered node perform a node scan. At step 420, the registered node performs the node scan during which it requests that all unregistered nodes respond. At step 422, the newly added, unregistered meter responds to the node scan. At step 424, the unique identifier of the newly added node along with the RSSI value of its response are stored on the registered node. At step 426, collector 116 retrieves the response data. If at step 428 the RSSI value of the response from the new meter exceeds the established RSSI threshold, at step 430 collector 116 updates its data files to identify the new meter as being registered and transmits a registration notification to the new meter. If at step 428 the RSSI value does not exceed the threshold, the unique identifier is added to the list of unregistered nodes, at step 432. The newly added meter will continue to broadcast that it is unregistered and ultimately will be registered through a meter with which it satisfies the RSSI threshold.


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 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 in connection with FIG. 3. Thus, the exemplary system is operable to dynamically reconfigure itself to address inadequacies in the system.


In some instances, while a collector 116 may be 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 frequency, the collector 116 transmits a message to the meter 114 to respond to node scans going forward. The meter 114 remains registered but will respond to node scans such as are described above in connection with FIG. 3. If the meter 114 responds to a node scan procedure, the collector 116 recognizes the response as originating from a registered meter. The collector 116 verifies that the RSSI value of the node scan response exceeds the established threshold. If it does not, the potential path is not acceptable. However, if the RSSI threshold is met, the collector 116 initiates a qualification procedure whereby it makes several attempts to reach the meter through the potential path. If the collector is successful in establishing communication with the meter through the potential path more than an acceptable percentage of the time, e.g. 80 percent, then the collector registers the meter in the new path. The registration process comprises updating the collector 116 and meter 114 with data identifying the repeater with which the meter 114 will 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 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. FIG. 5 provides a flow chart of a method for switching the registration of a meter from a first collector to a second collector. As shown, at step 510, a registered meter 114 receives a node scan request from a collector 116 other than that with which the meter is 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, at step 512, 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 is not acceptable and the meter does 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.


If at step 512, it is determined that the path to the new collector may be better than the path to its existing collector, at step 514, 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.


At step 516, collector 116 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, at step 518, the collector 116 stores registration information about the meter 114. At step 520, collector 116 transmits a registration command to meter 114. At step 522, the meter 114 updates its registration data to identify that it is now registered with the new collector. At step 524, collector 116 communicates instruction 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.


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 the collector that is being removed from service. According to an aspect of the disclosed 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 as described above in connection with FIG. 3.


One of collector's 116 main responsibilities within subnet 120 is to retrieve metering data from meters 114. The self-configuring and self-healing characteristics of system 110 provide that collectors 116 have improved reliability in reading usage data. Generally, meters 114 store data regarding usage of electricity, gas, water, etc. in memory. Collector 116 periodically retrieves this data from nodes in its subnet 120. In an 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. FIG. 6 depicts a flow chart of a process for retrieving data from meters 114 in a subnet 120. As shown, at step 610, collector 116 identifies one of the meters 114 in its subnet 120. For example, collector 116 reviews a list of registered nodes and identifies one for reading. At step 612, collector 116 communicates a command to the particular meter 114 that it forward its metering data to the collector 116. If at step 614, the meter reading is successful and the data is received at collector 116, at step 616 collector 116 determines if there are other meters that have not been read during the present reading session. If so, processing continues at step 610. However, if all of the meters 114 in subnet 120 have been read, at step 618, collector waits a defined length of time, such as for example, 4 hours, before attempting another read.


If at step 614, the meter data was not received at collector 116, at step 620 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.


The inability to read metering data may be the result of communication failures that can take place at the packet communication level. For example, if for each hop the probability of successful communications is 95%, a level 8 node requires 16 message hops, which would result in a 44% probability a successful round trip message. If 2 immediate retries are used for each hop, the per hop probability increases from 95% to 99.98% and the probability of a successful round trip message increases to 99.8%. Accordingly, in an embodiment of the disclosed system, with each successive retry to read data from a node, the number of packet level retries increases. For example, if during a normal read attempt one packet level retry is undertaken, when an application level retry to read the data is made by the collector, two or more packet level retries may be implemented. Thus, as the number of application level retries increases, so does the number of packet level retries. Furthermore, the number of packet level retries varies according to the level at which the particular meter 114 exists in the subnet 120. The higher the level, the greater the number of packet level retries. The table below lists exemplary packet level retries for various subnet levels and various numbers of prior application level retry attempts.















Application Layer Attempt











1
2
≧3
















Levels 1 and 2
1
2
3



Levels 3 and 4
2
3
4



Levels 5–6
2
3
4



Levels >6
3
4
5










In an embodiment of system 120, meters 114 are typically 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 in the system 110. FIG. 7 provides a flow chart of a process for reading data from one-way meters deployed in the system. As shown, at step 710 a one-way meter broadcasts their usage data. At step 712, this data is received at one or more two-way meters that are in proximity to the one-way meter. At step 714, the data is stored on the two-way meter, and designated as having been received from the one-way meter. At step 716, the data from the one-way meter is communicated to the collector with which the two-way meter is registered. 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. At step 718, after the data from the one-way meter has been read, it is removed from memory.


A block diagram for an exemplary meter device operable to perform as meter 114 or collector 116 as described above is depicted in FIG. 8. As shown, meter device 810 comprises metering electronics 812 for physically measuring the amount of a service or commodity that is used, and wireless communications electronics 814 for transmitting and receiving data to other meter devices. Device 810 further comprises memory 816 for storing data and executable instructions for performing methods as described above. Processor 818 is operable to execute the instructions stored in memory 816. Device 810 may further comprise visual display 818 for displaying metering data at device 810. Wire-based communications electronics 820 provides the capability to communicate with device 810 via means other than wirelessly. For example, wire-based communications electronics 820 may comprise a modem for communicating over telephone lines or a network protocol transceiver for communicating over a dedicated local area or wide area network.



FIG. 9 is a diagram of a generic computing device, which may be operable to perform the steps described above as being performed by communications server 122. As shown in FIG. 9, communications server 922 includes processor 922, system memory 924, and system bus 926 that couples various system components including system memory 924 to processor 922. System memory 924 may include read-only memory (ROM) and/or random access memory (RAM). Computing device 920 may further include hard-drive 928, which provides storage for computer readable instructions, data structures, program modules, data, and the like. A user (not shown) may enter commands and information into the computing device 920 through input devices such as keyboard 940 or mouse 942. A display device 944, such as a monitor, a flat panel display, or the like is also connected to computing device 920. Communications device 943, which may be a modem, network interface card, or the like, provides for communications over a network. System memory 924 and/or hard-drive 928 may be loaded with any one of several computer operating systems such as WINDOWS NT operating system, WINDOWS 2000 operating system, LINUX operating system, and the like.


Those skilled in the art understand that processor readable instructions for implementing the above-described processes, such as those described with reference to FIGS. 2 through 7 can be generated and stored in processor-readable memory and processor-readable media such as a magnetic disk or CD-ROM. Further, a computing system such as that described with reference to FIG. 9 may be arranged with metering devices such as that described in FIG. 8, and the devices loaded with processor-readable instructions for performing the above described processes. Specifically, referring to FIGS. 8 and 9, processors 922 and 818 may be programmed to operate in accordance with the above-described processes.


Thus, a dynamic self-configuring system for gathering metering data has been disclosed. This novel system and the methods performed therein provide a reliable and efficient means to collect metering data with minimal human intervention. Furthermore, the system requires minimal human interaction to configure and upgrade efficiencies.


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, while communication server 122 has been described as communicating with collectors 116 via a dial-up connection, the communication may take place wirelessly. Accordingly, reference should be made to the following claims as describing the scope of disclosed embodiments.

Claims
  • 1. In a network having a collector that receives data from nodes and communicates the data to a communication server, a method of retrieving data from a node, comprising: examining a list of nodes registered with said collector;identifying a registered node with which communication is to be established;reading data from said registered node by sending a request to said node to forward said data to said collector;determining if said request resulted in a successful data read from said registered node;retrying reading data from said registered node if said request was not successful;increasing a number of packet level retries for each successive retry to read data from said registered node; andstoring said data at said collector.
  • 2. The method of claim 1, further comprising: determining if additional data is to be read from additional registered nodes; andreading said additional data from said additional registered nodes.
  • 3. The method of claim 2, further comprising: determining if said additional data has been read from all registered nodes registered with said collector; andwaiting a predetermined time period before again reading from said registered nodes.
  • 4. The method of claim 1, wherein said retrying is performed until the data is read or a predetermined subnet reading interval.
  • 5. The method of claim 4, wherein said predetermined subnet reading interval is approximately 4 hours.
  • 6. The method of claim 1, wherein said retrying occurs periodically.
  • 7. The method of claim 1, wherein said nodes are organized into levels, and the method further comprising: increasing said number of packet level retries in accordance with an increasingly higher level to which said registered node is assigned.
  • 8. The method of claim 1, wherein said retrying said reading is an application level retry made by said collector, said method further comprising increasing packet level retries with each increasing application level retry.
  • 9. In a collector that receives data from nodes and communicates the data to a communication server, said collector maintaining a list of registered nodes with which said collector communicates, and said nodes being organized into levels within a subnet that communicates with said collector, a method of reading data from nodes within said subnet, comprising: identifying a registered node with which communication is to be established from said list of registered nodes;requesting data from said registered node;determining if data was successfully received from said registered node:retrying requesting data from said node if said data was not successfully received;increasing a number of packet level retries for each successive retry to request data from said registered node;receiving said data; andstoring said data at said collector.
  • 10. The method of claim 9, further comprising: determining if additional data is to be read from additional registered nodes; andreading said additional data from said additional registered nodes.
  • 11. The method of claim 10, further comprising: determining if said additional data has been read from all registered nodes registered with said collector; andwaiting a predetermined time period before again reading from said registered nodes.
  • 12. The method of claim 9, wherein said retrying is performed until the data is read or a predetermined subnet reading interval.
  • 13. The method of claim 12, wherein said predetermined subnet reading interval is approximately 4 hours.
  • 14. The method of claim 9, wherein said retrying occurs periodically.
  • 15. The method of claim 9, further comprising: increasing said number of packet level retries in accordance with an increasingly higher level to which said registered node is assigned.
  • 16. The method of claim 9, wherein said retrying is an application level retry made by said collector, said method further comprising increasing packet level retries with each increasing application level retry.
CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 10/185,664, filed Jun. 27, 2002, and entitled “Dynamic Seif-Configuring Metering Network,” the contents of which are hereby incorporated by reference in their entirety.

US Referenced Citations (315)
Number Name Date Kind
3445815 Saltzberg et al. May 1969 A
3858212 Tompkins et al. Dec 1974 A
3878512 Kobayashi et al. Apr 1975 A
3973240 Fong Aug 1976 A
4031513 Simciak Jun 1977 A
4056107 Todd et al. Nov 1977 A
4066964 Costanza et al. Jan 1978 A
4132981 White Jan 1979 A
4190800 Kelly, Jr. et al. Feb 1980 A
4204195 Bogacki May 1980 A
4218737 Buscher et al. Aug 1980 A
4250489 Dudash et al. Feb 1981 A
4254472 Juengel et al. Mar 1981 A
4319358 Sepp Mar 1982 A
4321582 Banghart Mar 1982 A
4322842 Martinez Mar 1982 A
4328581 Harmon et al. May 1982 A
4361851 Asip et al. Nov 1982 A
4361890 Green, Jr. et al. Nov 1982 A
4396915 Farnsworth et al. Aug 1983 A
4405829 Rivest et al. Sep 1983 A
4415896 Allgood Nov 1983 A
4466001 Moore et al. Aug 1984 A
4504831 Jahr et al. Mar 1985 A
4506386 Ichikawa et al. Mar 1985 A
4513415 Martinez Apr 1985 A
4525861 Freeburg Jun 1985 A
4600923 Hicks et al. Jul 1986 A
4608699 Batlivala et al. Aug 1986 A
4611333 McCallister et al. Sep 1986 A
4614945 Brunius et al. Sep 1986 A
4617566 Diamond Oct 1986 A
4628313 Gombrich et al. Dec 1986 A
4631538 Carreno Dec 1986 A
4638298 Spiro Jan 1987 A
4644321 Kennon Feb 1987 A
4653076 Jerrim et al. Mar 1987 A
4672555 Hart et al. Jun 1987 A
4680704 Konicek et al. Jul 1987 A
4688038 Giammarese Aug 1987 A
4692761 Robinton Sep 1987 A
4707852 Jahr et al. Nov 1987 A
4713837 Gordon Dec 1987 A
4724435 Moses et al. Feb 1988 A
4728950 Hendrickson et al. Mar 1988 A
4734680 Gehman et al. Mar 1988 A
4749992 Fitzmeyer et al. Jun 1988 A
4757456 Benghiat Jul 1988 A
4769772 Dwyer Sep 1988 A
4783748 Swarztrauber et al. Nov 1988 A
4792946 Mayo Dec 1988 A
4799059 Grindahl et al. Jan 1989 A
4804938 Rouse et al. Feb 1989 A
4811011 Sollinger Mar 1989 A
4827514 Ziolko et al. May 1989 A
4833618 Verma et al. May 1989 A
4839645 Lill Jun 1989 A
4841545 Endo et al. Jun 1989 A
4860379 Schoeneberger et al. Aug 1989 A
4862493 Venkataraman et al. Aug 1989 A
4868877 Fischer Sep 1989 A
4884021 Hammond et al. Nov 1989 A
4912722 Carlin Mar 1990 A
4922518 Gordon et al. May 1990 A
4939726 Flammer et al. Jul 1990 A
4940974 Sojka Jul 1990 A
4940976 Gastouniotis et al. Jul 1990 A
4958359 Kato Sep 1990 A
4964138 Nease et al. Oct 1990 A
4965533 Gilmore Oct 1990 A
4972507 Lusignan Nov 1990 A
5007052 Flammer Apr 1991 A
5018165 Sohner et al. May 1991 A
5022046 Morrow, Jr. Jun 1991 A
5032833 Laporte Jul 1991 A
5053766 Ruiz-del-Portal et al. Oct 1991 A
5053774 Schuermann et al. Oct 1991 A
5056107 Johnson et al. Oct 1991 A
5067136 Arthur et al. Nov 1991 A
5079715 Venkataraman et al. Jan 1992 A
5079768 Flammer Jan 1992 A
5086292 Johnson et al. Feb 1992 A
5086385 Launey Feb 1992 A
5090024 Vander Mey et al. Feb 1992 A
5111479 Akazawa May 1992 A
5115433 Baran et al. May 1992 A
5115448 Mori May 1992 A
5129096 Burns Jul 1992 A
5130987 Flammer Jul 1992 A
5132985 Hashimoto et al. Jul 1992 A
5136614 Hiramatsu et al. Aug 1992 A
5142694 Jackson et al. Aug 1992 A
5151866 Glaser et al. Sep 1992 A
5155481 Brennan, Jr. et al. Oct 1992 A
5160926 Schweitzer, III Nov 1992 A
5166664 Fish Nov 1992 A
5177767 Kato Jan 1993 A
5179376 Pomatto Jan 1993 A
5189694 Garland Feb 1993 A
5194860 Jones et al. Mar 1993 A
5197095 Bonnet Mar 1993 A
5204877 Endo et al. Apr 1993 A
5214587 Green May 1993 A
5225994 Arinobu et al. Jul 1993 A
5228029 Kotzin Jul 1993 A
5229996 Bäckström et al. Jul 1993 A
5239575 White et al. Aug 1993 A
5239584 Hershey et al. Aug 1993 A
5243338 Brennan, Jr. et al. Sep 1993 A
5252967 Brennan et al. Oct 1993 A
5260943 Comroe et al. Nov 1993 A
5270704 Quintana et al. Dec 1993 A
5280498 Tymes et al. Jan 1994 A
5280499 Suzuki Jan 1994 A
5285469 Vanderpool Feb 1994 A
5287287 Chamberlain et al. Feb 1994 A
5289497 Jacobson et al. Feb 1994 A
5295154 Meier et al. Mar 1994 A
5307349 Shloss et al. Apr 1994 A
5311541 Sanderford, Jr. May 1994 A
5311542 Eder May 1994 A
5315531 Oravetz et al. May 1994 A
5319679 Bagby Jun 1994 A
5329547 Ling Jul 1994 A
5345225 Davis Sep 1994 A
5359625 Vander Mey et al. Oct 1994 A
5377222 Sanderford, Jr. Dec 1994 A
5381462 Larson et al. Jan 1995 A
5383134 Wrzesinski Jan 1995 A
5384712 Oravetz et al. Jan 1995 A
5387873 Muller et al. Feb 1995 A
5390360 Scop et al. Feb 1995 A
5406495 Hill Apr 1995 A
5416917 Adair et al. May 1995 A
5420799 Peterson et al. May 1995 A
5428636 Meier Jun 1995 A
5430759 Yokev et al. Jul 1995 A
5432507 Mussino et al. Jul 1995 A
5432815 Kang et al. Jul 1995 A
5438329 Gastouniotis et al. Aug 1995 A
5448230 Schanker et al. Sep 1995 A
5448570 Toda et al. Sep 1995 A
5450088 Meier et al. Sep 1995 A
5452465 Geller et al. Sep 1995 A
5455533 Köllner Oct 1995 A
5455544 Kechkaylo Oct 1995 A
5455569 Sherman et al. Oct 1995 A
5455822 Dixon et al. Oct 1995 A
5457713 Sanderford, Jr. et al. Oct 1995 A
5461558 Patsiokas et al. Oct 1995 A
5463657 Rice Oct 1995 A
5473322 Carney Dec 1995 A
5475742 Gilbert Dec 1995 A
5475867 Blum Dec 1995 A
5479442 Yamamoto Dec 1995 A
5481259 Bane Jan 1996 A
5488608 Flammer, III Jan 1996 A
5491473 Gilbert Feb 1996 A
5493287 Ane Feb 1996 A
5495239 Ouellette Feb 1996 A
5497424 Vanderpool Mar 1996 A
5499243 Hall Mar 1996 A
5500871 Kato et al. Mar 1996 A
5511188 Pascucci et al. Apr 1996 A
5519388 Adair, Jr. May 1996 A
5521910 Matthews May 1996 A
5522044 Pascucci et al. May 1996 A
4749992 Fitzmeyer et al. Jun 1996 A
5524280 Douthitt et al. Jun 1996 A
5525898 Lee, Jr. et al. Jun 1996 A
5526389 Buell et al. Jun 1996 A
5528507 McNamara et al. Jun 1996 A
5528597 Gerszberg et al. Jun 1996 A
5539775 Tuttle et al. Jul 1996 A
5541589 Delaney Jul 1996 A
5544036 Brown, Jr. et al. Aug 1996 A
5546424 Miyake Aug 1996 A
5548527 Hemminger et al. Aug 1996 A
5548633 Kujawa et al. Aug 1996 A
5553094 Johnson et al. Sep 1996 A
5555508 Munday et al. Sep 1996 A
5559870 Patton et al. Sep 1996 A
5566332 Adair et al. Oct 1996 A
5570084 Ritter et al. Oct 1996 A
5572438 Ehlers et al. Nov 1996 A
5574657 Tofte Nov 1996 A
5590179 Shincovich et al. Dec 1996 A
5592470 Rudrapatna et al. Jan 1997 A
5594740 LaDue Jan 1997 A
5602744 Meek et al. Feb 1997 A
5617084 Sears Apr 1997 A
5619192 Ayala Apr 1997 A
5619685 Schiavone Apr 1997 A
5621629 Hemminer et al. Apr 1997 A
5627759 Bearden et al. May 1997 A
5631636 Bane May 1997 A
5636216 Fox et al. Jun 1997 A
5640679 Lundqvist et al. Jun 1997 A
5659300 Dresselhuys et al. Aug 1997 A
5668803 Tymes et al. Sep 1997 A
5668828 Sanderford, Jr. et al. Sep 1997 A
5673252 Johnson et al. Sep 1997 A
5684472 Bane Nov 1997 A
5684799 Bigham et al. Nov 1997 A
5691715 Ouellette Nov 1997 A
5692180 Lee Nov 1997 A
5696501 Ouellette et al. Dec 1997 A
5696765 Safadi Dec 1997 A
5699276 Roos Dec 1997 A
5714931 Petite et al. Feb 1998 A
5715390 Hoffman et al. Feb 1998 A
5717604 Wiggins Feb 1998 A
5719564 Sears Feb 1998 A
5732078 Arango Mar 1998 A
5745901 Entner et al. Apr 1998 A
5748104 Argyroudis et al. May 1998 A
5748619 Meier May 1998 A
5751914 Coley et al. May 1998 A
5751961 Smyk May 1998 A
5754772 Leaf May 1998 A
5754830 Butts et al. May 1998 A
5757783 Eng et al. May 1998 A
5768148 Murphy et al. Jun 1998 A
5778368 Hogan et al. Jul 1998 A
5787437 Potterveld et al. Jul 1998 A
5790789 Suarez Aug 1998 A
5790809 Holmes Aug 1998 A
5801643 Williams et al. Sep 1998 A
5805712 Davis Sep 1998 A
5808558 Meek et al. Sep 1998 A
5809059 Souissi et al. Sep 1998 A
5822521 Gartner et al. Oct 1998 A
5850187 Carrender et al. Dec 1998 A
5862391 Salas et al. Jan 1999 A
5872774 Wheatley, III et al. Feb 1999 A
5874903 Shuey et al. Feb 1999 A
5875183 Nitadori Feb 1999 A
5875402 Yamawaki Feb 1999 A
5884184 Sheffer Mar 1999 A
5892758 Argyroudis Apr 1999 A
5896382 Davis et al. Apr 1999 A
5897607 Jenney et al. Apr 1999 A
5898387 Davis et al. Apr 1999 A
5907491 Canada et al. May 1999 A
5907540 Hayashi May 1999 A
5910799 Carpenter et al. Jun 1999 A
5923269 Shuey et al. Jul 1999 A
5926103 Petite Jul 1999 A
5926531 Petite Jul 1999 A
5943375 Veintimilla Aug 1999 A
5944842 Propp et al. Aug 1999 A
5953319 Dutta et al. Sep 1999 A
5959550 Giles Sep 1999 A
5960074 Clark Sep 1999 A
5963146 Johnson et al. Oct 1999 A
5974236 Sherman Oct 1999 A
5986574 Colton Nov 1999 A
6000034 Lightbody et al. Dec 1999 A
6028522 Petite Feb 2000 A
6034988 VanderMey et al. Mar 2000 A
6035201 Whitehead Mar 2000 A
6041056 Bigham et al. Mar 2000 A
6061604 Russ et al. May 2000 A
6067029 Durston May 2000 A
6073169 Shuey et al. Jun 2000 A
6073174 Montgomerie et al. Jun 2000 A
6078251 Landt et al. Jun 2000 A
6078785 Bush Jun 2000 A
6078909 Knutson Jun 2000 A
6088659 Kelley et al. Jul 2000 A
6091758 Ciccone et al. Jul 2000 A
6100817 Mason, Jr. et al. Aug 2000 A
6112192 Capek Aug 2000 A
6124806 Cunningham et al. Sep 2000 A
6128276 Agee Oct 2000 A
6137423 Glorioso et al. Oct 2000 A
6150955 Tracy et al. Nov 2000 A
6154487 Murai et al. Nov 2000 A
6160993 Wilson Dec 2000 A
6172616 Johnson et al. Jan 2001 B1
6195018 Ragle et al. Feb 2001 B1
6199068 Carpenter Mar 2001 B1
6208266 Lyons et al. Mar 2001 B1
6218953 Petite Apr 2001 B1
6233327 Petite May 2001 B1
6246677 Nap et al. Jun 2001 B1
6249516 Brownrigg et al. Jun 2001 B1
6363057 Ardalan et al. Mar 2002 B1
6373399 Johnson et al. Apr 2002 B1
6393341 Lawrence et al. May 2002 B1
6396839 Ardalan et al. May 2002 B1
6421731 Ciotti, Jr. et al. Jul 2002 B1
6430268 Petite Aug 2002 B1
6437692 Petite et al. Aug 2002 B1
6446192 Narasimhan et al. Sep 2002 B1
6643278 Panasik et al. Nov 2003 B1
6657549 Avery Dec 2003 B1
6684245 Shuey et al. Jan 2004 B1
6751563 Spanier et al. Jun 2004 B1
20010002210 Petite May 2001 A1
20010024163 Petite Sep 2001 A1
20020012323 Petite et al. Jan 2002 A1
20020013679 Petite Jan 2002 A1
20020019712 Petite et al. Feb 2002 A1
20020019725 Petite Feb 2002 A1
20020026957 Reyman Mar 2002 A1
20020027504 Davis et al. Mar 2002 A1
20020031101 Petite et al. Mar 2002 A1
20020125998 Petite et al. Sep 2002 A1
20020145537 Mueller et al. Oct 2002 A1
20020169643 Petite et al. Nov 2002 A1
20030036810 Petite Feb 2003 A1
20030036822 Davis et al. Feb 2003 A1
20030202512 Kennedy Oct 2003 A1
20040113810 Mason, Jr. et al. Jun 2004 A1
Foreign Referenced Citations (18)
Number Date Country
682196 Jul 1993 CH
0 395 495 Oct 1990 EP
0 446 979 Sep 1991 EP
0 629 098 Dec 1994 EP
2 118 340 Oct 1983 GB
2 157 448 Oct 1985 GB
2 186 404 Aug 1987 GB
02 222 898 Mar 1990 GB
2 237 910 May 1991 GB
59-229949 Dec 1984 JP
02-67967 Mar 1990 JP
4290593 Oct 1992 JP
05-260569 Oct 1993 JP
8194023 Jul 1996 JP
9302515 Feb 1993 WO
9304451 Mar 1993 WO
9532595 Nov 1995 WO
9610856 Apr 1996 WO
Related Publications (1)
Number Date Country
20050083210 A1 Apr 2005 US
Continuations (1)
Number Date Country
Parent 10185664 Jun 2002 US
Child 10928825 US