US20090135836A1 - Collector device and system utilizing standardized utility metering protocol - Google Patents

Collector device and system utilizing standardized utility metering protocol Download PDF

Info

Publication number
US20090135836A1
US20090135836A1 US12/275,242 US27524208A US2009135836A1 US 20090135836 A1 US20090135836 A1 US 20090135836A1 US 27524208 A US27524208 A US 27524208A US 2009135836 A1 US2009135836 A1 US 2009135836A1
Authority
US
United States
Prior art keywords
collector
node
data
head end
transmitting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/275,242
Inventor
Michel Veillette
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Trilliant Networks Inc
Original Assignee
Trilliant Networks Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Trilliant Networks Inc filed Critical Trilliant Networks Inc
Priority to US12/275,242 priority Critical patent/US20090135836A1/en
Assigned to TRILLIANT NETWORKS, INC. reassignment TRILLIANT NETWORKS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: VEILLETTE, MICHEL
Publication of US20090135836A1 publication Critical patent/US20090135836A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D4/00Tariff metering apparatus
    • G01D4/002Remote reading of utility meters
    • G01D4/004Remote reading of utility meters to a fixed location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/64Distributing or queueing
    • H04Q3/66Traffic distributors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/22Communication route or path selection, e.g. power-based or shortest path routing using selective relaying for reaching a BTS [Base Transceiver Station] or an access point
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02BCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
    • Y02B90/00Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation
    • Y02B90/20Smart grids as enabling technology in buildings sector
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S20/00Management or operation of end-user stationary applications or the last stages of power distribution; Controlling, monitoring or operating thereof
    • Y04S20/30Smart metering, e.g. specially adapted for remote reading

Definitions

  • the metering infrastructure may include system and methodological components where the system measures, collects, and advantageously analyzes usage of utilities such as but not limited to electricity, gas, and water; communication resources and/or other utilities or services through the use of advanced metering devices; two-way communication networks; and data management systems.
  • utilities such as but not limited to electricity, gas, and water
  • communication resources and/or other utilities or services through the use of advanced metering devices
  • two-way communication networks such as but not limited to electricity, gas, and water
  • data management systems such as but not limited to electricity, gas, and water
  • ANSI C12.18 establishes protocols for point-to-point meter communication connections
  • ANSI C12.19 establishes data structures as well as rules and syntax pertaining to the data structures
  • ANSI C12.22 establishes the protocol standards for transporting data tables over a network.
  • ANSI C12.22 PSEM Process Specification for Electric Metering
  • a device-agnostic collector may either request data or a report from a node, also referred to as pulling information from the node, or accept information pushed from a node when a node initiates the transmission of data or a report to the collector, rather than waiting for an information request.
  • a node is a device with the ability to communicate across a network, such as for example across an AMI network, and devices include utility-measuring devices like meters and utility-consumption devices like appliances.
  • the node transmits data structures according to the specified protocols, such as for example an ANSI C12 or other national, regional, or international standards.
  • the device-agnostic collector When a device-agnostic collector receives pushed reports from a node, the device-agnostic collector does not need any special application programs for communicating with different types of devices about various types of data structures supported by the different devices; the device-agnostic collector only requires the ability to receive reports addressed and pushed to particular ones of its ports and to acknowledge the received reports. Individual ports of the device-agnostic collector may be reserved for receiving specific types of reports, such as batch-reporting and real-time reporting. Based upon the port to which a node addresses a report to the device-agnostic collector, the collector will process the report and transmit the report to the head end server appropriately.
  • embodiments provide a collector device and system utilizing standardized utility metering protocols.
  • embodiments provide a system for communicating data from a node to a head end server, the system comprising: a node for measuring, storing, and initiating transmission of data to a collector over a first network; a collector for receiving the data over the first network and transmitting the data over a second network to the head end server; the head end server being operative for receiving the data over the second network.
  • embodiments provide a method of communicating data from a node to a head end server, the method comprising: collecting, storing, and initiating transmission of data by the node to a collector over a first network; receiving, by the collector, the data over the first network and transmitting, by the collector, the data over a second network to the head end server; and receiving, by the head end server, the data over the second network.
  • embodiments provide a collector device for operating in a system of the type that includes at least one node operative on a first network for storing data and a network server operative for receiving data on a second network, the collector device comprising: a receiver unit for receiving the data from the node over the first network; and a transmitter unit for transmitting data to the server over the second network; the collector being node device and data-structure agnostic and operative to: (i) request or pull data from a node device, or (ii) accept information pushed from a node device when a node device initiates the transmission of data or a report to the collector, or (iii) a combination of request or pull data from a node device and accept information pushed from a node.
  • embodiments provide a method of operating a collector in a network environment including a plurality of different networked node devices having different device characteristics and different data structure characteristics and a networked head end server, the method comprising: receiving a first data over the network environment from a first node device of a first node device type; receiving a second data over the network environment from a second node device of a second node device type; identifying the first data as the first data type and the second data as the second data type; processing the received first data and second data according to whether it is the first data type or the second data type to generate a processed data; and transmitting the processed data to the server over the network environment.
  • embodiments provide a computer program stored in a computer readable form for execution within a processor and processor associated memory for controlling the operation of a collector and of a system including the collector.
  • a node may first transmit data packets to the collector. However, based upon the type of data, the node may address the data packets to specific ports of the collector. By pre-assigning different ports of the collector to receive different types of reports, the collector does not need to read and process the data packets. The collector will follow the appropriate reporting procedures for the particular type of report.
  • a method of transmitting a report from a node to a head end server comprising: pre-assigning one or more ports at a collector to receive particular types of reports; transmitting a data packet from the node to the collector over a first network, wherein the data packet includes a header containing a destination port of the collector and the report; and transmitting the data packet from the collector to the head end server over a second network, wherein the collector follows reporting procedures based upon the destination port.
  • a method of transmitting data from a smart meter to a communications card for transmission to the collector comprising: storing one or more lists of data structures in a register at the smart meter; storing a sequence number for each list in the register at the smart meter, wherein the sequence number is incremented by a predetermined number when a new piece of data is appended to the list; accessing and downloading new data from the one or more lists to a communications card, wherein the new data has corresponding sequence numbers that have not been previously downloaded; storing the data and the corresponding sequence number in memory; creating one or more reports from the new data at the communications card; and transmitting the one or more reports to the collector, wherein the communications card initiates the transmission.
  • a method of using a reporting list at a node for transmission to a collector comprising: creating one or more reports by the node; appending the one or more reports to a reporting list at the node; transmitting to the collector a report on the reporting list immediately following a flagged report flagged by a last-transferred-pointer, wherein the transmission is initiated by the collector; receiving an acknowledgement from the collector; and updating the last-transferred-pointer; wherein the last-transferred-pointer is used to determine reports that have not been received by the collector.
  • a system for transmitting a report from a node to a head end server comprising: means for pre-assigning one or more ports at a collector to receive particular types of reports; means for transmitting a data packet from the node to the collector over a first network, wherein the data packet includes a header containing a destination port of the collector and the report; and means for transmitting the data packet from the collector to the head end server over a second network, wherein the collector follows reporting procedures based upon the destination port.
  • a system for transmitting a report from a node to a head end server comprising: collector computer code stored in a collector memory for pre-assigning one or more ports at a collector to receive particular types of reports; a node transmitter for transmitting a data packet from the node to the collector over a first network, wherein the data packet includes a header containing a destination port of the collector and the report; and a collector transmitter for transmitting the data packet from the collector to the head end server over a second network, wherein the collector follows reporting procedures based upon the destination port.
  • a system for transmitting data from a smart meter to a communications card for transmission to the collector comprising: means for storing one or more lists of data structures at the smart meter; means for storing a sequence number for each list at the smart meter, wherein the sequence number is incremented by a predetermined number when a new piece of data is appended to the list; means for accessing and downloading new data from the one or more lists to a communications card, wherein the new data has corresponding sequence numbers that have not been previously downloaded; means for storing the data and the corresponding sequence number; means for creating one or more reports from the new data at the communications card; and means for transmitting the one or more reports to the collector, wherein the communications card initiates the transmission.
  • a system for transmitting data from a smart meter to a communications card for transmission to the collector comprising: a register for storing one or more lists of data structures at the smart meter and a sequence number for each list at the smart meter, wherein the sequence number is incremented by a predetermined number when a new data structure is appended to the list; a processor for accessing data structures on the list and creating one or more reports from the new data at the communications card; a receiver and a memory for downloading the new data, wherein the new data has corresponding sequence numbers that have not been previously downloaded, and further wherein the memory stores the new data and the corresponding sequence number; and a node transmitter for transmitting the one or more reports to the collector, wherein the communications card initiates the transmission.
  • a system for using a reporting list at a node for transmission to a collector comprising: means for creating one or more reports by the node; means for appending the one or more reports to a reporting list at the node; means for transmitting to the collector a report on the reporting list immediately following a flagged report flagged by a last-transferred-pointer; means for receiving an acknowledgement from the collector; and means for updating the last-transferred-pointer; wherein the last-transferred-pointer is used to determine reports that have not been received by the collector.
  • a system for using a reporting list at a node for transmission to a collector comprising: a node processor for creating one or more reports by the node, appending the one or more reports to a reporting list at the node, and updating a last-transferred-pointer; a node transmitter for transmitting to the collector a report on the reporting list immediately following a flagged report flagged by the last-transferred-pointer; and a node receiver for receiving an acknowledgement from the collector; wherein the last-transferred-pointer is used to determine reports that have not been received by the collector.
  • a computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of transmitting a report from a node to a head end server, the method comprising: pre-assigning one or more ports at a collector to receive particular types of reports; transmitting a data packet from the node to the collector over a first network, wherein the data packet includes a header containing a destination port of the collector and the report; and transmitting the data packet from the collector to the head end server over a second network, wherein the collector follows reporting procedures based upon the destination port.
  • a computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of transmitting data from a smart meter to a communications card for transmission to the collector, the method comprising: storing one or more lists of data structures in a register at the smart meter; storing a sequence number for each list in the register at the smart meter, wherein the sequence number is incremented by a predetermined number when a new piece of data is appended to the list; accessing and downloading new data from the one or more lists to a communications card, wherein the new data has corresponding sequence numbers that have not been previously downloaded; storing the data and the corresponding sequence number in memory; creating one or more reports from the new data at the communications card; and transmitting the one or more reports to the collector, wherein the communications card initiates the transmission.
  • a computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of using a reporting list at a node for transmission to a collector, the method comprising: creating one or more reports by the node; appending the one or more reports to a reporting list at the node; transmitting to the collector a report on the reporting list immediately following a flagged report flagged by a last-transferred-pointer, wherein the transmission is initiated by the collector; receiving an acknowledgement from the collector; and updating the last-transferred-pointer; wherein the last-transferred-pointer is used to determine reports that have not been received by the collector.
  • a device-agnostic collector can accept information pushed from a node where the node initiates the transmission of information to the collector.
  • the collector does not require any special logic or programming about the node or the data structures transmitted by the node, thus the collector is device-agnostic.
  • Nodes pushing information may be assigned random staggered checkpoints to prevent the nodes from transmitting their data packets simultaneously.
  • a node device for initiating transmission of data to a collector comprising: a data input/output module for collecting the data; a memory for storing the data; a processor for creating a report from the data; and a radio for transmitting the report to the collector, wherein the transmission is initiated by the node.
  • a collector for receiving a data packet over a first network initiated from a node comprising: a first radio for receiving the data packet initiated by the node over the first network; a second radio for transmitting the data packet over a second network to a head end server; and a memory for storing the data packet to be transmitted to the head end server and used by the processor.
  • a method of operating a node that initiates a report to a collector comprising: collecting data through an input device; storing the data in a memory; creating the report from the data; and transmitting the report to the collector over a first network, wherein the report is initiated by the node.
  • a method of operating a collector that receives a data packet initiated by a node comprising: receiving the data packet initiated by the node over a first network addressed to a particular collector port, wherein the data packet comprises a report; processing the report according to pre-assigned procedures corresponding to the particular collector port; and transmitting the report to a head end over a second network.
  • a computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of operating a node that initiates a report to a collector comprising: collecting data through an input device; storing the data in a memory; creating the report from the data; and transmitting the report to the collector over a first network, wherein the report is initiated by the node.
  • a computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of operating a collector that receives a data packet initiated by a node comprising: receiving the data packet initiated by the node over a first network addressed to a particular collector port, wherein the data packet comprises a report; processing the report according to pre-assigned procedures corresponding to the particular collector port; and transmitting the report to a head end over a second network.
  • a method of communicating between a plurality of nodes and a collector using checkpoints comprising: generating a substantially random time slot within a pre-scheduled reporting time window for each node; and transmitting data packets from each node to the collector at the node's substantially random time slot within the prescheduled reporting time window.
  • a method of transmitting data packets from a plurality of nodes to a collector comprising: generating a first substantially random time slot within a prescheduled reporting time window for each node; transmitting data packets from each node to the collector at the node's substantially random time slot within the prescheduled reporting time window; transmitting an acknowledgement from the collector for each received data packet; generating a second substantially random time slot within a second prescheduled reporting time window for each node that does not receive an acknowledgement from the collector; and re-transmitting data packets from each node that did not receive the acknowledgement from the collector at the node's second substantially random time slot within the second prescheduled reporting time window.
  • a system for communicating between a plurality of nodes and a collector using checkpoints comprising: means for generating a substantially random time slot within a pre-scheduled reporting time window for each node; and means for transmitting data packets from each node to the collector at the node's substantially random time slot within the prescheduled reporting time window.
  • a system for communicating between a plurality of nodes and a collector using checkpoints comprising: a substantially random time slot generator for generating a substantially random time slot within a pre-scheduled reporting time window for each node; and a node transmitter for transmitting data packets from each node to the collector at the node's substantially random time slot within the prescheduled reporting time window.
  • a system for transmitting data packets from a plurality of nodes to one collector comprising: means for generating a first substantially random time slot within a prescheduled reporting time window for each node; means for transmitting data packets from each node to the collector at the node's substantially random time slot within the prescheduled reporting time window; means for generating a second substantially random time slot within a second prescheduled reporting time window at each node that does not receive an acknowledgement from the collector; and means for re-transmitting data packets from each node that did not receive the acknowledgement from the collector at the node's second substantially random time slot within the second prescheduled reporting time window.
  • a system for transmitting data packets from a plurality of nodes to one collector comprising: a substantially random time slot generator for generating a first substantially random time slot within a prescheduled reporting time window for each node and for generating a second substantially random time slot within a second prescheduled reporting time window at each node that does not receive an acknowledgement from the collector; and a transmitter for transmitting data packets from each node to the collector at the node's substantially random time slot within the prescheduled reporting time window and for re-transmitting data packets from each node that did not receive the acknowledgement from the collector at the node's second substantially random time slot within the second prescheduled reporting time window.
  • a computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of communicating between a plurality of nodes and a collector using checkpoints, comprising: generating a substantially random time slot within a pre-scheduled reporting time window for each node; and transmitting data packets from each node to the collector at the node's substantially random time slot within the prescheduled reporting time window.
  • a computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of transmitting data packets from a plurality of nodes to a collector, comprising: generating a first substantially random time slot within a prescheduled reporting time window for each node; transmitting data packets from each node to the collector at the node's substantially random time slot within the prescheduled reporting time window; transmitting an acknowledgement from the collector for each received data packet; generating a second substantially random time slot within a second prescheduled reporting time window for each node that does not receive an acknowledgement from the collector; and re-transmitting data packets from each node that did not receive the acknowledgement from the collector at the node's second substantially random time slot within the second prescheduled reporting time window.
  • a three-step synchronization process is used to transfer aggregated reports from a collector to the head end server.
  • the head end server first sends a read request for an ApTitle list, and the collector returns the list. Then the head end server sends a write request of last sequence numbers corresponding to each ApTitle, and the collector either accepts the request or returns an error due to an improper request. Finally, the head end server sends a read request for new reports, and the collector transmits the reports.
  • the three-step process allows a collector to identify and send the reports which the head end server does not have stored at the head end database.
  • a method of synchronizing a data request between a head end server and a collector comprising: transmitting from the head end server a first read request for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector; transmitting the first table from the collector to the head end server; transmitting from the head end server a write request, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last received report from each node stored in a database at the head end server; accepting the write request if the write request is proper; transmitting from the head end server a second read request for new reports; and transmitting the new reports from the collector to the head end server.
  • a system for synchronizing a data request between a head end server and a collector comprising: means for transmitting from the head end server a first read request for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector; means for transmitting the first table from the collector to the head end server; means for transmitting from the head end server a write request, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last received report from each node stored in a database at the head end server; means for accepting the write request if the write request is proper; means for transmitting from the head end server a second read request for new reports; and means for transmitting the new reports from the collector to the head end server.
  • a system for synchronizing a data request between a head end server and a collector comprising: (a) a head end server transmitter for transmitting: a first read request for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector; a write request, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last received report from each node stored in a database at the head end server; and a second read request for new reports; (b) a collector transmitter for transmitting: the first table to the head end server; and the new reports to the head end server; and (c) a collector receiver and a collector processor for accepting the write request if the write request is proper.
  • a computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of synchronizing a data request between a head end server and a collector comprising: transmitting from the head end server a first read request for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector; transmitting the first table from the collector to the head end server; transmitting from the head end server a write request, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last received report from each node stored in a database at the head end server; accepting the write request if the write request is proper; transmitting from the head end server a second read request for new reports; and transmitting the new reports from the collector to the head end server.
  • a method of synchronizing a data request between a head end server and a collector comprising: transmitting from the head end server a first read request for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector; receiving by the head end server the first table from the collector; transmitting from the head end server a write request, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last received report from each node stored in a database at the head end server; transmitting from the head end server a second read request for new reports; and receiving the new reports from the collector.
  • a method of synchronizing a data request between a head end server and a collector comprising: receiving by the collector from the head end server a first read request for a first table, wherein elements in the first table correspond to nodes serviced by the collector; transmitting the first table from the collector to the head end server; receiving by the collector from the head end server a write request, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last received report from each node stored in a database at the head end server; accepting by the collector the write request if the write request is proper; receiving by the collector from the head end server a second read request for new reports; and transmitting the new reports from the collector to the head end server.
  • a computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of synchronizing a data request between a head end server and a collector comprising: transmitting from the head end server a first read request for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector; receiving by the head end server the first table from the collector; transmitting from the head end server a write request, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last received report from each node stored in a database at the head end server; transmitting from the head end server a second read request for new reports; and receiving the new reports from the collector.
  • a computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of synchronizing a data request between a head end server and a collector comprising: receiving by the collector from the head end server a first read request for a first table, wherein elements in the first table correspond to nodes serviced by the collector; transmitting the first table from the collector to the head end server; receiving by the collector from the head end server a write request, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last received report from each node stored in a database at the head end server; accepting by the collector the write request if the write request is proper; receiving by the collector from the head end server a second read request for new reports; and transmitting the new reports from the collector to the head end server.
  • a node stores reports on its reporting list for transmission to the collector at its next checkpoint.
  • a last-transferred-pointer is used to point to the last report on the reporting list transmitted to and acknowledged by the collector. If the collector fails, the node may re-associate with a new collector and continue transmitting reports form the reporting list that immediately follow the one flagged by the last-transferred-pointer. This mechanism allows the node to continue to forward reports to the head end server, independent of the particular collector used.
  • a three-step synchronization process may be used to transfer the aggregated reports from the collector to the head end server.
  • the three-step process allows a collector to identify reports that the head end server has not yet received. This process may be used to recover from partial database losses at the head end server from the collector as well as to accommodate multiple head end servers.
  • a method of recovering loss of data at a head end server's database comprising: transmitting a first read request from the head end server for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector; transmitting the first table from the collector to the head end server; transmitting a write request from the head end server, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last available report from each node stored in a database at the head end server after the loss of data; accepting the write request if the write request is proper; transmitting from the head end server a second read request for lost reports; and transmitting the lost reports from the collector to the head end server.
  • a method of recovering from a collector failure comprising: seeking a new collector by a node associated with the failed collector; and transmitting one or more reports from the node's reporting list.
  • a system for recovering from a collector failure comprising: means for seeking a new collector by a node associated with the failed collector; and means for transmitting one or more reports from the node's reporting list.
  • a system for recovering loss of data at a head end server comprising: means for transmitting a first read request from the head end server for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector; means for transmitting the first table from the collector to the head end server; means for transmitting a write request from the head end server, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last available report from each node stored in a database at the head end server after the loss of data; means for accepting the write request if the write request is proper; means for transmitting from the head end server a second read request for lost reports; and means for transmitting the lost reports from the collector to the head end server.
  • a system for recovering loss of data at a head end server comprising: a head end server transmitter for transmitting: a first read request for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector; a write request, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last available report from each node stored in a database at the head end server after the loss of data; and a second read request for lost reports; and a collector transmitter for transmitting: the first table from the collector to the head end server; and the lost reports from the collector to the head end server; and a collector receiver and a collector processor for accepting the write request if the write request is proper.
  • a computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of recovering loss of data at a head end server's database comprising: transmitting a first read request from the head end server for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector; transmitting the first table from the collector to the head end server; transmitting a write request from the head end server, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last available report from each node stored in a database at the head end server after the loss of data; accepting the write request if the write request is proper; transmitting from the head end server a second read request for lost reports; and transmitting the lost reports from the collector to the head end server.
  • a computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of recovering from a collector failure comprising: seeking a new collector by a node associated with the failed collector; and transmitting one or more reports from the node's reporting list.
  • FIG. 1 is an illustration showing a non-limiting exemplary embodiment of a network topology that may be used in conjunction with aspects of the invention.
  • FIG. 2 shows two examples of block diagrams of an exemplary node, according to an aspect of the invention.
  • FIG. 3 shows an example of an electrical block diagram of an exemplary mesh gate or collector, according to an aspect of the invention.
  • FIG. 4 shows an example of an electrical block diagram of an exemplary microportal, according to an aspect of the invention.
  • FIG. 5 shows an example of an electrical block diagram of a head end server, according to an aspect of the invention.
  • FIG. 6 shows two examples of block diagrams of exemplary nodes including a meter, according to an aspect of the invention.
  • FIG. 7 is a flow chart illustrating an example of a method of downloading new data not previously downloaded from a smart meter register to a communications card at the node, according to an aspect of the invention.
  • FIG. 8 is a flow chart illustrating an example of a method of installing a node, according to an aspect of the invention.
  • FIG. 9 is a flow chart illustrating an example of a method of associating with a new collector, according to an aspect of the invention.
  • FIG. 10 is a flow chart illustrating an example of a method of pulling a report from a dumb meter, according to an aspect of the invention.
  • FIG. 11 is a flow chart illustrating an example of a method of pulling a report from a smart meter, according to an aspect of the invention.
  • FIG. 12 is a flow chart illustrating an example of a method of pulling data from a smart meter, according to an aspect of the invention.
  • FIG. 13 is a flow chart illustrating an example of a method of pushing data to a collector from a node, according to an aspect of the invention.
  • FIG. 14 shows an example of a block diagram of a node communicating with a collector through a network, according to an aspect of the invention.
  • FIG. 15 is a flow chart illustrating an example of a method of temporally staggering communications from the nodes to the collector, according to an aspect of the invention.
  • FIG. 16 is a flow chart illustrating an example of a method of tracking reports received by a collector, according to an aspect of the invention.
  • FIG. 17 shows examples of a packet data format, according to an aspect of the invention.
  • FIG. 18 shows an example of a block diagram of a system for transmitting a report from a node to a head end server, according to an aspect of the invention.
  • FIG. 19 is a flow chart illustrating an example of a method of informing a collector about which category a report falls into, according to an aspect of the invention.
  • FIG. 20 is a flow chart illustrating an example of a method of temporally staggering when a collector transmits real-time reports to the head end server, according to an aspect of the invention.
  • FIG. 21 is a flow chart illustrating an example of a method of transmitting reports for batch reporting between a collector and a head end server, according to an aspect of the invention.
  • FIG. 22 is a flow chart illustrating an example of a method of recovering lost reports at a head end server, according to an aspect of the invention.
  • the collector may be device-agnostic and data structure-agnostic because a device-agnostic and data structure-agnostic collector may receive reports pushed from devices at nodes without needing any special logic to understand the particular type of meter or device residing at the node or the data structure pushed by the node. Its ability to receive reports, such as but not limited to, data formatting information, utility meter readings, and consumption statistics, without needing special logic about the transmitting node is derived at least in part by the use of standardized report formats and port addressing by the node to direct particular types of reports to a specific port of the collector as described in greater detail hereinafter.
  • an advanced metering infrastructure (AMI) network may span large geographical areas.
  • the AMI may advantageously include, but is not limited to, the following elements: a head end server 160 , also referred to as a system head end server, server, head end, or back end; a wide area network 110 ; a mesh gate 140 , also referred to as a NAN-WAN gate or an access point; a neighborhood area network or NAN 120 ; and a microportal 150 which may more generically be referred to as a micro access portal for a residential premise or a home area network (HAN).
  • a microportal device that is supported by the ZigBee Alliance is referred to as an energy service portal (ESP), however the ESP utilizes a different protocol.
  • An AMI network may include one or more of any of these network elements, some of which are optional.
  • an AMI network topology 100 includes three networks (or sub-networks), a wide area network (WAN) 110 , a neighborhood area network (NAN) 120 sometimes also referred to as a local area network (LAN), and a home area network (HAN) 130 sometimes also referred to as a premise area network (PAN).
  • the WAN 110 typically uses TCP/IP communications protocol and provides a way for the head end server 160 to communicate with the mesh gate 140 or NAN-WAN gate.
  • the head end server may be one or multiple computers and more usually multiple computers operating together to provide capacity and redundancy.
  • the head end server hardware and connectivity may be any hardware and connectivity know in the art or convenient.
  • the NAN 120 may advantageously and typically adhere to IEEE 802.15.4 protocol and provides a way for a mesh gate 140 to communicate with NAN-associated nodes 121 , 122 , 123 in its sub-network or microportals 150 that are serviced by the NAN 120 ; however, other different protocols may be utilized.
  • the HAN 130 uses a communications protocol, such as for example a protocol established by the ZigBee Alliance and provides communications between a microportal 150 and HAN-associated nodes 131 , 132 , 133 that are serviced by the HAN 130 .
  • the ZigBee Alliance is an association of companies working to enable reliable, cost-effective, low-power, wirelessly networked, monitoring and control products based on an open global standard.
  • the ZigBee Alliance focuses on defining the network, security, and application software layers, providing interoperability and conformance testing specifications, promoting the ZigBee brand globally to build market awareness, and managing the evolution of the technology. It will be apparent to a person of skill in the art that more nodes (or fewer nodes) than those shown in FIG. 1 may be serviced by the NAN and the HAN. In fact, hundreds or thousands of nodes may communicate over a single NAN, and this will typically be the case for actual AMI infrastructures and systems.
  • Various communications protocols may be supported and used by the elements of the AMI network 100 to communicate over the WAN 110 , the NAN 120 , and the HAN 130 .
  • specific examples of communications protocols and standards may be indicated, particularly for aspects of the invention relative to a device-agnostic-collector.
  • NAN-associated nodes serviced by a NAN 121 , 122 , 123 communicate with a mesh gate 140 or NAN-WAN gate through the NAN 120 .
  • Nodes may, for example, include a utility meter for a residential or commercial site or a utility-measuring device or a utility consumption device which includes, but is not limited to, thermostats and appliances within the residential or commercial site.
  • FIG. 2 shows two examples of block diagrams of an exemplary node.
  • FIG. 2A illustrates a functional block diagram 200 A of an exemplary generic node
  • FIG. 2B illustrates an electrical block diagram 200 B of an exemplary node.
  • the block diagram 200 A shows three functional blocks of an exemplary generic node ( 121 , 122 , 123 , 131 , 132 , 133 as shown in FIG. 1 ): an input/output device 210 , a table 212 , and a communications unit 214 .
  • the node e.g., 121 , 122 , 123 , 131 , 132 , 133 of FIG. 1
  • the input/output device 210 might comprise a keyboard or keypad for operating or enabling different display screens, for selecting different items to display, for controlling the thermostat, and for otherwise providing an interaction.
  • Table 212 would correspond to data structures compiled by the thermostat based upon temperature readings, and the communications unit 214 would be the means with which the node communicates with the collector (such as for example with a mesh gate) using ANSI C12 protocol or other protocols that may be implemented, such as a communications card.
  • the input/output device 210 may comprise a sensor for detecting utility usage.
  • Table 212 may comprise registers in which the sensor data is stored, and communications unit 214 may comprise a communications card by which the meter at the node communicates with a collector.
  • the electrical block diagram 200 B is representative of an exemplary node which includes a power regulator 235 , an energy storage device 240 , a microcontroller 245 , a data input/output device or module 250 , a flash memory 255 , a real-time clock 260 , and a radio 265 .
  • the power regulator 235 may regulate the primary power supply for the node as well as the energy provided by the energy storage device 240 which acts as a temporary back-up or secondary power supply should the main power supply experience an outage.
  • the energy storage device 240 is a secondary power supply that provides the node with least a few extra minutes of power so that it can transmit previously un-transmitted reports to the collector.
  • the node may not include an energy storage device 240 .
  • the energy storage device 240 may be a battery, a capacitor, or a small, compact but high capacity super-capacitor. Battery power supplies may be used, but these are not advantageous as they have limited lifetimes and would require field servicing. Capacitors on the other hand may provide practically unlimited lifetime and provide a power source that is sufficient to maintain operation and transmit information to the collector when charged even if the normal power is interrupted.
  • a super capacitor has a storage capacity of 50 farads with a starting output voltage of 2.7 volts and a physical package that is cylindrical with a diameter of 18 mm and a length of 40 mm. A super capacitor of this type is made by NESSCAP Co., Ltd. in Soowon, Korea and may be used.
  • the microcontroller 245 controls the functions of the node including, but not limited to, creating reports from data taken by the sensor, transmitting reports to the collector, and responding to queries by the head end server or the collector.
  • the microcontroller 245 may be implemented as one unit or as a plurality of or several units, with each unit controlling one (or even more than one) of the functional aspects of the node when plural units are provided, the input/output device 210 , the table 212 , and the communications unit 214 .
  • Other non-limiting embodiments may distribute functional aspects of the node to a plurality of units, and the division of functions may be in any combination.
  • the data input/output device 250 in the electrical block diagram 200 B of FIG. 2B has similar functionality as the input/output device 210 as described for the functional block diagram 200 A of FIG. 2A .
  • the non-volatile flash memory 255 stores reports and other data which the node does not want to lose if both the main power supply and any secondary power supply should fail including when the capacitor or super-capacitor may not store sufficient energy to carry out intended operations.
  • the real-time clock 260 receiving power from an internal capacitor during this time acts as a counter to determine how much time elapsed between the time the power supplies to the node ceased providing power until the restoration of power. Consequently, upon restoration of power, the node can return to normal operations such as taking data at scheduled intervals and transmitting reports to the collector as scheduled. In one embodiment, the real-time clock may continue to count and provide information regarding elapsed time for between for up to 14 days when a 1 microfarad capacitor is employed.
  • the radio 265 provides a means by which the NAN-associated node 121 , 122 , 123 communicates with the collector 140 and other NAN-associated nodes 121 , 122 , 123 through the NAN using a communications protocol, such as the afore described IEEE 802.15.4 and ANSI C12 protocols or other regional, international, or ISO protocols.
  • the radio 265 provides a means by which the HAN-associated node 131 , 132 , 133 communicates with the microportal 150 and other HAN-associated nodes 131 , 132 , 133 through the HAN using a communications protocol, such as the afore described ZigBee Alliance protocols or other regional, international, or ISO protocols.
  • the radio 265 includes both a transmitter for transmitting data packets and a receiver for receiving data packets.
  • FIG. 3 is an illustration showing an example of an electrical block diagram 300 for an access point such as a NAN-WAN gate and also described as a mesh gate 140 in this and in related applications.
  • the terms may be used interchangeably.
  • the mesh gate or NAN-WAN gate may perform any one or more of many different functions including for example, but not limited to, one or any combination of: relaying information from a server (such as from a head end server) to the mesh network nodes, routing information, collecting information from the nodes and microportals within any sub-network that may be configured for transmission to a server (such as to the head end server), acting as a HAN coordinator, acting as a NAN-WAN gate, transmitting firmware upgrades, and/or multicasting messages.
  • a server such as from a head end server
  • routing information collecting information from the nodes and microportals within any sub-network that may be configured for transmission to a server (such as to the head end server), acting as a HAN coordinator, acting as a NAN-WAN gate, transmit
  • a mesh gate 140 may be referred to herein as a collector when focusing upon the mesh gate's collector function because among the mesh gate's many functions, it collects information from the NAN-associated nodes 121 , 122 , 123 and/or microportals 150 in its sub-network.
  • each node and microportal is advantageously only associated with a single mesh gate at any given time, where association is a relationship that enables communication of information between two associated entities and may optionally comport with the ANSI protocols for association. In at least one non-limiting embodiment, this or these associations may change over time.
  • Each mesh gate's network advantageously operates at a different radio frequency (RF) from other mesh gate's networks which may be either overlapping in extent or nearby.
  • RF radio frequency
  • the mesh gate 140 may provide a gateway between the NAN network 120 and the head end server 160 .
  • the mesh gate 140 includes a central processing unit (CPU) 345 or other processor or processing logic and coupled memory, a WAN radio 350 , a NAN radio 355 , at least one and advantageously multiple communication connections such as Ethernet connections 360 , Random Access Memory (RAM) 330 , flash or other non-volatile memory 335 , a real-time clock 340 , an optional power regulator 320 where power regulation may be advantageous, and a battery 325 or other energy storage means.
  • the mesh gate 140 communicates with the NAN-associated nodes 121 , 122 , 123 and microportal 150 through the NAN radio 355 using a communications protocol such as IEEE 802.15.4 and ANSI C12 communications protocol or other protocols as may be implemented.
  • the NAN radio 355 includes both a transmitter or other means for transmitting data packets and a receiver or other means for receiving data packets.
  • the WAN radio 350 which advantageously operates under TCP/IP protocol but which may use other standard or non-standard or proprietary protocol, is used to communicate with the head end server 160 through the WAN 110 .
  • the WAN radio 350 includes both a transmitter or other means for transmitting data packets and a receiver or other means for receiving data packets.
  • the mesh gate's CPU or other processor or processing logic 345 runs applications, such as one or more application functions for making information queries of data from the nodes, storing the data received from the nodes in memory, processing data aggregated from various nodes, and sending commands and messages from the head end server to the nodes, among other functions.
  • the CPU or other processor or processing logic 345 may communicate with other devices or systems, such as with computers and/or servers through the Ethernet or other connections 360 .
  • the flash or other non-volatile memory 335 stores reports and/or other data which the mesh gate 140 does not want to lose if both the main power supply and any secondary power supply such as the battery 325 or other storage means should fail or become exhausted.
  • the Random Access Memory (RAM) 330 may be a volatile memory storage used by and coupled with the CPU or other processor or processing logic 345 as is known in the art.
  • the power regulator 320 regulates the primary power supply for the mesh gate 140 . If the one or more power supplies to the mesh gate should fail, the real-time clock 340 acts as a counter to determine how much time elapsed between the time the power supplies to the mesh gate ceased providing power until the restoration of power, thus allowing the mesh gate to return to normal operations upon restoration of power.
  • a mesh gate or collector 140 may be placed at many different locations including, but not limited to, on a street light, on a telephone pole, at a socket behind a utility meter, and/or at virtually any location at which it has access to electrical power.
  • the collector 140 aggregates and stores information from the NAN-associated nodes 121 , 122 , 123 and microportal 150 for transmission to the head end server 160 and also provides communications between the NAN-associated nodes 121 , 122 , 123 and microportal 150 and the head end server 160 .
  • the last several hundred meters of the AMI infrastructure farthest from the head end server 160 and closest to the utility's customers are advantageously served and controlled by a collector 140 .
  • HAN-associated nodes 131 , 132 , 133 advantageously serviced by the HAN 130 , communicate with a microportal 150 through the HAN 130 .
  • a microportal 150 is located between a HAN 130 and a NAN 120 but need not share a node with a meter.
  • Microportals 150 typically communicate with the HAN-associated nodes 131 , 132 , 133 within the premises (residence or commercial premises) of one customer, and multiple microportals may be present within one collector's sub-network. The restriction to a single premises may be for reasons of security, regulatory requirements, or for other reasons.
  • Signals received by a microportal 150 through the NAN 120 from the collector 140 are distributed to the appropriate HAN-associated node through the HAN 130 , and signals received by a microportal 150 through the HAN 130 from the HAN-associated nodes 131 , 132 , 133 are distributed to the collector 140 through the NAN 120 for transmission to the head end server 160 .
  • the head end server 160 sends the text or other message to the collector 140 on the appropriate sub-network to which the user's home display device is coupled.
  • the collector 140 transmits the text message through the NAN 120 to the appropriate microportal 150 which communicates with the intended recipient of the message.
  • the microportal 150 will know if one or more displays are present in the home and distribute the message to those displays.
  • the locations of the displays in the user's home include, but are not limited to, a thermostat or an in-home display device.
  • a thermostat may conveniently be utilized as at least one such thermostat may typically be present in every residence or premises.
  • FIG. 4 shows an example of an electrical block diagram 400 of an exemplary microportal 150 .
  • a microportal is a control device that receives control commands from the head end server 160 and/or mesh gate 140 using a first protocol and translates the control commands and provides some contextual distribution to the HAN-associated notes 131 , 132 , 133 in a second protocol.
  • the microportal 150 may include a microcontroller 420 , a first radio such as a ZigBee radio 430 , a second radio such as a non-ZigBee radio such as a mesh NAN radio (or a WAN radio or a PAN radio) 440 , a flash memory or other non-volatile memory 450 , and a real-time clock 460 or other device for counting or measuring an elapsed time.
  • the microportal 150 communicates with the collector 140 through the second or NAN radio (or a WAN radio) 440 using IEEE 802.15.4 and ANSI C12 communications protocol or other standard communications protocols as may be known in the art.
  • the NAN radio 440 includes both a transmitter for transmitting data packets and a receiver for receiving data packets.
  • the first or ZigBee radio 430 which operates under the first communications standards, such as for example the ZigBee Alliance communication standards, is used to communicate with HAN-associated nodes 131 , 132 , 133 coupled to the HAN 130 .
  • the ZigBee radio 430 includes both a transmitter for transmitting data packets and a receiver for receiving data packets.
  • the two radio configurations may include one Zigbee type radio operating at its radio frequency and according to its protocol, as well as a second non-Zigbee radio that operates over the selected HAN, NAN, or WAN frequency and protocol.
  • the microcontroller 420 runs or executes applications for the microportal 150 which may include, but are not limited to, transmitting messages from the HAN-associated nodes 131 , 132 , 133 on the HAN 130 to the collector 140 , and transmitting messages from the collector 140 to HAN-associated nodes 131 , 132 , 133 on the HAN 130 .
  • the flash or other non-volatile memory 450 stores reports and other data which the microportal does not want to lose if its power supply should fail or become exhausted. If the power supply should fail, the real-time clock 460 acts as a counter to determine how much time elapsed between the time the power supply to the microportal 150 ceases providing energy or power until the restoration of energy or power. Thus, the microportal 150 returns to normal operations upon restoration of power.
  • the microportal may share the same location and primary power source as a node coupled to the HAN 131 , 132 , 133 , such as a meter or thermostat for the residential or commercial site.
  • a single radio (or so called single-sided radio) of the node may be replaced by a dual-radio (also referred to as a two-sided radio) in order to convert the node to a microportal without having to write new firmware or implement new hardware.
  • the functionality of the microportal at the node is or may be hidden from the hosting device and the hosting device need not have this knowledge.
  • a normal single sided radio may be replaced by a portal radio (also referred to as a micro access portal).
  • a portal is a radio plus or in combination with a portal application processing logic, processor, or CPU. More generally, a portal, micro-portal, micro access portal and the like is a node on the mesh network.
  • the microportal may be a stand-alone device in a location separate from any other node.
  • the microportal would not reside topologically at any of the nodes coupled to the HAN 131 , 132 , 123 . That is, the microportal 150 would have a different address from all other nodes serviced by the HAN.
  • the other nodes may still communicate with the collector 140 and head end server 160 through the microportal 150 .
  • the head end server 160 of the system is responsible for processing usage data received from the NAN-associated and HAN-associated nodes 121 , 122 , 123 , 131 , 132 , 133 through the collector 140 .
  • FIG. 5 shows an example of a functional block diagram 500 for a head end server 160 .
  • the example AMI network 100 only shows one head end server 160 , in an alternative, any number of head end servers 160 may be deployed.
  • the head end servers 160 may be distributed by geographical location for shorter communication distances and latency times.
  • each utility accessing the AMI network may have one or more head end servers 160 .
  • the head end server 160 may be one or a plurality of computing device(s) configured to receive information, such as meter readings, from a plurality of networks 100 and NAN-associated and HAN-associated nodes 121 , 122 , 123 , 131 , 132 , 133 .
  • the head end server 160 may be one or multiple computers and more usually multiple computers operating together to provide capacity and redundancy.
  • the head end server 160 may also be configured to transmit instructions to the networks 100 , mesh gates 140 , and nodes 121 , 122 , 123 , 131 , 132 , 133 .
  • the head end server 160 includes application programs for a master relay 520 , a key manager 530 , a task scheduler 550 , a load balancer 560 , running a stack 180 , and other applications 540 which perform typical server functions not required to enable the current invention.
  • the head end server 160 also includes a network interface 570 .
  • the network interface 570 may be an Internet interface.
  • the processing logic such as a MCU or CPU receives calendar information or data from or through the WAN, HAN, or PAN side radio directly or indirectly from the head end server 160 .
  • This calendar information may for example include dynamic pricing information, demand usage information or data, or other information that may pertain to days of the week, hours of the day, and/or other information or data that may pertain to utility usage.
  • the information may specify electricity pricing on an hour by hour basis for the next 24 hour time period. This pricing may be programmed into a time of use calendar.
  • the non-Zigbee side e.g., WAN, NAN, PAN side
  • the Zigbee side does not provide such calendar functionality, and the Zigbee standard is set to a point that it does not have any practical ability to be modified to provide such functionality.
  • the network may provide an ability to identify and use a multicast address on the mesh network, such as for example in a load control application, but Zigbee does not have or understand the notion of multi-cast address.
  • the Zigbee radio is adapted to communicate with the Zigbee radio in the Zigbee devices.
  • the Zigbee side may send messages to Zigbee devices based on the information from the WAN side.
  • the Zigbee radio and the non-Zigbee network radio e.g., WAN, HAN, PAN, or the like
  • the two radios on a single communications card or circuit share a same processing logic unit (such as a MCU or CPU) and in another non-limiting embodiment, they have separate processing logic units that communicate with each other through an interface.
  • the master relay 520 stores and keeps track of addresses of nodes registered with the head end server 160 .
  • the process for registration of a node according to ANSI C12.22 protocol is described below.
  • the key manager 530 stores and looks up or queries encryption keys used to provide secure communications across the components of the AMI. Different types of keys may provide different sets of access rights. For example, a node 121 , 122 , 123 , 131 , 132 , 133 may encrypt a report which only the head end server 160 has the key to decrypt the report.
  • the task scheduler 550 schedules the launch of applications or scripts at pre-defined times or after specific time intervals or according to other predetermined or dynamically determined events or conditions.
  • the load balancer 560 optimizes resource utilization at the head end server 160 and although optional is advantageously provided.
  • the head end server 160 may also execute many other applications 540 which are not listed here explicitly.
  • the head end server 160 also advantageously has multiple network interface connections 570 , such as Internet Protocol (IP) based connections 570 . These connections permit the head end server 160 to communicate with other servers and devices on the network, such as over an IP network.
  • IP Internet Protocol
  • Examples of a network interface 570 include, but are not limited to, modems such as cable, ADSL, or optical, interfaces that communicate through wireless frequencies or infrared frequencies, and network interface cards.
  • a non-limiting example of a network interface 570 includes a transmitter or means for transmitting read requests and write requests, a receiver or means for receiving tables, data structures, reports, and other information, cell phone, or WAN radio for communicating with one or more mesh gates 140 .
  • the stack 580 is used to run applications by wrapping data packets in headers and trailers and later stripping the headers and trailers used by the layers of the stack 580 .
  • the headers and trailers adhere to the requirements of the various protocols used by the layers of the stack 580 . Additional information regarding stack 580 can be found in U.S. patent application Ser. No. ______ (TR0003) filed contemporaneously herewith entitled “Efficient And Compact Transport Layer And Model For An Advanced Metering Infrastructure (AMI) Network,” which is incorporated herein by reference in its entirety.
  • AMI Advanced Metering Infrastructure
  • An AMI network should advantageously adhere to one or more standards applicable in the region in which it is operated.
  • the AMI network in or with which aspects of the invention operate adheres to the ANSI C12 suite of standards.
  • Other embodiments may be configured to adhere to other regional or international standards or ISO standards as may be adopted from time to time.
  • ANSI C12.19 defines and standardizes the contents and formatting of tables of data
  • ANSI C12.22 establishes the protocol standards which allow transport of table data over a reliable network communications system.
  • the ANSI C12 protocol is implemented at the application layer and is supported by the transport layer, the mesh layer, and the data link and physical layers established under the IEEE 802.15.4 protocol.
  • a utility meter collects data about utility usage or consumption at residential and commercial customer sites. Examples of utilities from which usage data may be collected include electricity, gas, water, and communications services. Usage and/or consumption may represent total usage during a period of time, temporal consumption such as instantaneous usage of one or more utilities, total consumption during a defined time period, peak usage, usage during peak or off-peak times, or any other usage or consumption information independent of whether it is of an instantaneous, real-time, cumulative, pattern, or other usage.
  • FIG. 6A shows a block diagram 600 A of a node, also referred to as a node device, 121 , 122 , 123 , 131 , 132 , 133 that includes a dumb meter 620 .
  • a dumb meter 620 has a sensor 610 or other instrumentation which counts or measures the usage of a utility such as electricity, gas, or water; a dumb meter 620 does not process any usage data, or at least does not process any usage data beyond that processing that might be characterized as a collection or capture processing.
  • the data captured by a dumb meter sensor 610 may be stored and transmitted to a collector through the use of an external electronics circuit or radio, not considered part of the dumb meter, such as may be implemented as one or more printed circuit card or chips which may include a register 612 for storage and processing functions and a communications card or circuit 614 for communications functions.
  • the register 612 processes measurements made by the sensor 610 and stores data structures in the form of lists or tables such as meter readings, profiles, and alarms data structure(s).
  • the register 612 also creates ANSI C12.22 envelope (or other similar or equivalent proprietary, regional, international, or ISO standard or protocol envelope) around the data structures to create a report.
  • the communications card or circuit 614 transmits the reports using the ANSI C12 protocols (or other protocol) to the collector for transmission to the head end server.
  • the reports may be either pulled by the collector and/or head end server or pushed by the communications card or circuit 614 .
  • a dumb meter 620 in combination with the afore described circuits or printed circuit card containing such circuits which perform the register 612 and communications 614 functions is referred to herein as a node or node device 630 in the advanced metering infrastructure (AMI) network.
  • Reports may be either pulled or pushed from a node with a dumb meter. Pulling is always supported on demand. Push may also be extended to the system, and may for example be supported as an extension to the C12 standard.
  • FIG. 6B shows a block diagram 600 B of a node, also referred to as a node device, 121 , 122 , 123 , 131 , 132 , 133 that includes a smart meter 650 .
  • a smart meter 650 Similar to the dumb meter sensor 610 , a smart meter 650 also has a sensor 640 or other instrumentation which counts or measures the usage of a utility such as electricity, gas, or water.
  • the smart meter 650 includes a register 642 for processing measurements made by the sensor 640 and storing data structures in the form of lists or tables such as meter readings, profiles, and alarms data structure(s).
  • An external electronics circuit or radio 644 not considered part of the smart meter 650 , such as may be implemented as one or more printed circuit card or chips may implement communications with a radio, or a receiver 645 or means for receiving data or reports and a transmitter 645 or a means for transmitting data or reports, processing with a processor 646 or means for accessing data structures on lists stored in the register 642 , and memory 647 or means for storing data.
  • a smart meter 650 in combination with a communications card or circuits 644 is referred to as a node or node device 660 in the advanced metering infrastructure (AMI) and affiliated system and method.
  • AMI advanced metering infrastructure
  • a node 121 , 122 , 123 , 131 , 132 , 133 in the AMI may comprise an electronics card (or equivalent circuits) in combination with a utility-consumption or utility-measuring device including, but not limited to, meters on larger appliances such as a dishwasher or washing machine, meters on any device that consumes energy, or other utilities such as light bulbs, gas stoves or ovens, and/or thermostats.
  • a utility-consumption or utility-measuring device including, but not limited to, meters on larger appliances such as a dishwasher or washing machine, meters on any device that consumes energy, or other utilities such as light bulbs, gas stoves or ovens, and/or thermostats.
  • These devices may be either dumb, in which case the electronics card provides both register and communications functions, or smart, in which case the electronics card provides only communications functions.
  • a communications card 644 may retrieve data from a smart meter 650 , by advantageously connecting to the meter using the ANSI C12.18 point-to-point connection protocols or an equivalent adopted standard for the region, such as an ISO or other international standard connection protocol.
  • FIG. 7 illustrates an example of a method 700 of downloading new data not previously downloaded from a smart meter register 642 to a communications card 644 at the node.
  • a typical smart meter 650 stores in a register 642 four types of lists or tables: a history logger list or table, an event logger list or table, a profile list or table, and a self-read list or table.
  • Other data structures may alternatively be used and some of these lists, tables, or other data structures may optionally but advantageously be used.
  • the history logger list or table advantageously stores lists of events including, but not limited to, power quality such as low voltage, tampering, hardware diagnostics, and received load control commands.
  • the event logger list or table advantageously stores events that may have an impact on the utility bill, such as power outages, and is specified by the ANSI C12 protocol.
  • the profile list or table advantageously captures different measurements at specific intervals of time.
  • the self-read list or table advantageously captures all the information needed to bill a customer, such as by way of example but not limitation, the number of kilowatt-hours used at a certain tiered price and maximum demand.
  • the register also advantageously stores a corresponding sequence number.
  • the sequence number rules and syntax may be as identified or defined by the ANSI C12.19 protocols or other regional or international protocols.
  • the sequence number of each list is set to zero or some other predetermined or dynamically determined reference or starting number.
  • a sequence number is incremented by one (or other predetermined or dynamically determined increment) when a new piece of data is appended to the list.
  • the sequence numbers are advantageously never reset during the life of the smart meter so that each sequence number is unique to the life of the meter and not reused.
  • the communications card 644 uses its processor 646 to access only the data entries on each list of the register 642 having a sequence number greater than the sequence number stored previously in the memory 647 on the communications card 644 for that list.
  • the processor 646 may read the sequence number entries for each list and compare them to the sequence number previously stored for that list, and when the processor arrives at a sequence number greater than the previously stored sequence number, the processor will access the corresponding data entries.
  • the communications card 644 uses its receiver 645 and memory 647 to download and store new data and their corresponding sequence numbers, where the new data has not previously been downloaded from the smart meter register 642 .
  • the communications card 644 Besides storing the sequence numbers for each list stored by the smart meter register 642 , the communications card 644 also needs to know the table (or other data structure) identification number which identifies the type of table and the frequency at which the smart meter captures the data for that particular table. The information is stored in the smart meter register 642 . At block 750 , the communications card 644 downloads this information.
  • a smart meter may also store data structures that are not list-based or table-based, for example, such data structures may include or store statistics, Global Positioning System (GPS) location of the meter, configuration information, or combinations of any two or more of these or other information.
  • GPS Global Positioning System
  • a processor on the communications card 644 creates an ANSI C12.22 envelope (or other similar or equivalent proprietary, regional, international, or ISO standard or protocol envelope) around the data to create a report.
  • Reports may include, but are not limited to, identification information, status of the node such as low battery, detection of tampering at the node, power failures, power quality, and leakage; configuration of the meter; data formatting information, utility meter readings, consumption statistics, and a profile of the interval period at which utility readings are stored.
  • the node 660 may push the reports to the system head end server 160 for processing through a collector 140 . Alternatively, the head end server 160 and/or the collector 140 may pull the reports from the node 660 .
  • the communications card 644 downloads data from the smart meter register 642 , the communications card 644 does not have the ability to create a report from the data. Thus, the collector and/or the head end server would pull the information from the communications card 644 , rather than having the communications card push the data to the collector and/or the head end server.
  • the processing of pulling the data from the communications card 644 follows conventional ANSI C12 Protocol Specification for Electric Metering (PSEM).
  • FIG. 8 illustrates an example procedure 1800 for installing a new node.
  • the node is initially provided the option of engaging in a commissioning communication with the commissioning server at the system head end server 160 .
  • the content of the commissioning communication depends on the type of device at the node, for example, a meter or a thermostat, the data structures supported by the node, and the utility-owner of the node.
  • a thermostat may dump or upload its control schedule to the head end server 160 during the commissioning communication.
  • a mesh network is a wireless network configured to route data between nodes within a network. It allows for continuous connections and reconfigurations around broken or blocked paths by retransmitting messages from node to node until a destination is reached. Mesh networks differ from other networks in that the component parts can all connect to each other via multiple hops. Thus, mesh networks are self-healing: the network remains operational when a node or a connection fails.
  • a mesh network may be used to implement any of the WAN 110 , NAN 120 , and HAN 130 networks within an AMI network 100 . For convenience, a mesh network may be referred to here simply as either a network or sub-network.
  • FIG. 9 illustrates an example node to new-collector association procedure 900 for associating a node with a new collector.
  • the node may utilize the new collector and the new collector's sub-network to communicate sensor readings and receive instructions or commands.
  • the node may use a receiver or radio means 265 to detect active networks within radio range and collecting information on each. For example, the node may determine a signal strength for a particular transmission frequency, a network name, a supported version number of each network.
  • the active networks may be compiled in a list by a processor or microcontroller 245 in memory 255 .
  • Each network may be associated with a collector and may periodically broadcast a banner or other information containing a network name and a network identifier.
  • the node may attempt to receive and parse or interpret the banner in order to determine nearby networks having a minimum signal strength.
  • only the collector may broadcast the banner, but each node within the network may forward the banner. In this way, nodes outside direct radio range of the collector may still participate in the network through nearby neighbors.
  • the node may use its microcontroller 245 to select a prospective collector with which to associate based upon the information acquired at block 910 about active networks. From the list of networks collected above, the node may parse the network name for a network prefix, network suffix, or other identifier. The network prefix may determine, in part, services offered by the network. Alternatively, the network prefix may determine a provider of the network. Based on the services offered or a registered provider of a network, the node may select the prospective network.
  • the node may further select the prospective collector based on a signal strength.
  • a strong signal may be preferred over a weak signal.
  • the node may further select the prospective collector based on a supported version number. It will be appreciated that the node may be outside direct radio range of the collector. However, communications may be forwarded through neighboring nodes in accordance with network protocols.
  • the node may transmit a neighbor request to the prospective collector selected above.
  • the neighbor request may include a node identifier and relevant meter status and be transmitted to the collector associated with the network.
  • the meter status may include a list of sensors provided by the node and services requested by the node.
  • a schedule of supported sensor reading transmission may be transmitted, for example, indicating whether the node will transmit sensor readings every minute, every hour, every day, or according to some other predetermined or dynamically determined schedule or the like, and any blackout periods.
  • the communications may be forwarded or relayed through the network.
  • the node may first transmit to a neighboring node, which then forwards or relays the communication on. It will be appreciated that the above sub-process may be executed automatically on power-up or upon collector failure of the collector currently associated with the node. No further input from a user may be required.
  • the node may receive a neighbor response. Responsive to receiving the neighbor request from the node, the collector may compile or assemble and transmit the neighbor response via the network. The neighbor response may provide information to the node regarding associating with the prospective network.
  • the neighbor response may include a next hop to the collector, a number of hops to the collector, a path quality, a collector load, a router load, or some combination of these.
  • a next hop to the collector may describe the next node on the path to the collector.
  • a path quality may be an indicator indicating a signal quality of the path to the collector.
  • a collector load may indicate remaining capacity at the collector.
  • a router load may indicate remaining capacity at a node next on the path to the collector, if the node is not in direct radio range with the collector and forwarding is required.
  • the node may transmit an association request to the collector via the network.
  • the association request may indicate a node's desire to associate with the prospective network selected above.
  • the association request may further include a node identifier.
  • the node may test whether an association response was received. Responsive to receiving the association request from the node, the collector may associate the node with the network and transmit an association response. Similar to above, the association response may be forwarded through the network.
  • the collector may check a collector load factor before allowing the node to associate.
  • the collector may also authenticate the node before allowing the node to associate.
  • the node may transmit an authentication key verifying its identity.
  • the collector may look up the node table at a server or in a look up table or in another data structure to verify the node is authorized to associate.
  • the node may associate with the network; thus, the node may transmit reports and data to the head end server via the new collector and also receive messages from the head end server.
  • the node may update an internal neighbor table with a network identifier, a network name, and neighbor information such as a next hop and a number of hops to the collector.
  • a hop is a transmission of a message from one node to another node until a destination, the collector, is reached.
  • Future communications may be transmitted to the next hop, a nearby neighboring node in the network. After the node is associated with the network, it may act as a neighboring node for another new node searching for a network to associate with.
  • the node may continue to store sensor readings for future transmission.
  • the next step in the installation of a node is registration according to an applicable protocol specification, such as for example an ANSI C12.22 registration according to the ANSI C12.22 protocol specification.
  • the node transmits registration information in a simple ANSI C12.22 registration message to the collector, and the collector transmits the information to the master relay which includes a routing table for tracking all of the C12.22 nodes registered to a C12.22 network service provider.
  • the master relay After the registration step, at block 1830 of the example procedure 1800 for installing a new node, the master relay notifies the head end server 160 that there is a new node 121 , 122 , 123 , 131 , 132 , 133 on the network 100 and that the node has been registered according to the applicable protocol specification such as according to the ANSI C12.22 protocol specification.
  • Static information encompasses information related to the node which does not change and thus does not need to be transmitted to the head end server during future data transmissions.
  • Static information may include, but is not limited to, the type of measurements that the meter at the node will make, the frequency at which the meter will make the measurements, the identification number of the meter, and/or any information that may be located on the nameplate of the meter.
  • the installation procedure serves to inform the network of the presence of the node, and the data collection process may proceed upon successful completion of the installation process.
  • the collector When reports or data are transferred from the node to the collector through a pull process, the collector must know what type of information to retrieve and the type of meter from which the information is being retrieved.
  • the node merely operates as a server of data acquired at its location.
  • the collector runs a specific application program to pull information from a specific kind of meter and to read the specific data structures used by the meter.
  • FIG. 10 illustrates a first example Dumb Meter Node-to-Collector data pull procedure 1000 for transferring data from a node to a collector using a first pull scenario.
  • the collector 140 pulls a report from a node 630 with a dumb meter 620 .
  • the collector 140 uses a radio 355 , a transmitter, or other transmission means to transmit a pull request at block 1010 to the node 630 .
  • a report is created at the register 612 at the node 630 .
  • the communications card 614 transmits the report to the collector 140 using a radio 265 , a transmitter, or other transmission means.
  • FIG. 11 illustrates a second example Smart Meter Node-to-Collector data pull procedure 1100 for transferring data from a node to a collector using a second pull scenario in which the collector 140 pulls a report from a node 660 with a smart meter 650 , where the node 660 is capable of creating a report.
  • the collector 140 transmits a pull request at block 1110 to the node 660 .
  • the communications card 644 downloads the data from the register 642 of the smart meter 650 as detailed above by procedure 700 in FIG. 7 .
  • the communications card 644 creates the report from the data.
  • the communications card 644 then transmits the report to the collector 140 at block 1140 .
  • FIG. 12 illustrates a third example Alternative Smart Meter Node-to-Collector data pull procedure 1200 for transferring data from a node to a collector using a third pull scenario that also involves a smart meter, but where the smart meter does not have the ability to create a report so the device-agnostic collector pulls the data and creates the report for the meter.
  • the collector 140 transmits a pull request at block 1210 to the node 660 .
  • the data structures from the register 642 in the smart meter 650 are downloaded to the communications card 644 .
  • the communications card 644 transmits the data structures to the collector 140 .
  • the CPU 345 of the collector 140 then creates the report from the data structures at block 1240 , where a report includes an envelope or container for the data structures, such as an ANSI C12.22 envelope around the data structures.
  • Reports created by the collector or pulled by the collector from the node are subsequently transmitted to the head end server by the collector.
  • the head end server may send a pull data command to the collector, rather than having the collector initiate a pull request.
  • the collector could either pull data from all nodes from its sub-network or could pull data from a particular node specified by the head end server.
  • One specific example in which data is pulled by the head end server is an on-demand response, where only data is sent rather than an entire report.
  • An exemplary process by which the collector transmits the reports to the head end server is described in more detail below in the section entitled, “Three Step Synchronization Between Head End Server and Collector.”
  • a push process occurs when a node initiates transmission of reports or data to the collector and/or the head end server.
  • a report may consist of data plus an envelope for that data.
  • the envelope may include such information as security information, sequence information, address information, etc.
  • a node may be configured to actively initiate transmission of data or a report to a collector and/or head end server rather than merely responding to a pull request for information.
  • the collector that receives data or reports pushed from a node should be capable of receiving unsolicited transmissions initiated by the node, regardless of the type of meter at the node or the type of data structures transmitted by the node.
  • this type of collector may be termed a meter-agnostic, data structure-agnostic, or device-agnostic collector.
  • a device-agnostic collector may also advantageously need to be capable of both pulling data or reports from one node as well as receiving pushed data or reports from another node. More details on the push process are provided below in the section entitled, “Pushing Reports from the Node to the Collector.” These various agnostic capabilities are referred to by the general phrase device-agnostic.
  • One of the functions of at least some mesh gates may be the collector function. Every valid message read is stored in a First-In-First-Out (FIFO) buffer (or other buffer as are known in the art)
  • FIFO First-In-First-Out
  • the head end server 160 has a protocol for head end synchronization with a collector. There is provided an address list, and the head end sends the actual sequence number for each address, so that based on the sequence number the mesh gate will only transfer new reports.
  • FIG. 13 is a flow chart illustrating an example 1300 of a method of pushing data to a collector from a node, according to an aspect of the invention.
  • a node may push information to a device-agnostic collector according to various policies or criteria.
  • a node device collects data through an input device.
  • profiler data monitors consumption of a utility, such as for example, voltage drop or variation over time due to electricity usage or quantity (e.g. cubic feet) of water consumed.
  • the profiler data is measured and collected at regular intervals, such as every hour.
  • the data is stored in memory.
  • the profiler data is dumped or stored into a block of memory.
  • a block is the repository for data collected at known, regular intervals.
  • the block is an efficiency mechanism which does not require a time stamp to be included at each data capture because each time data is sent to the block is known.
  • a report is created by the node's processor from the data. For the profiler data example above, when the block is full, a report is created, and the report is appended to the node's reporting list.
  • the node transmits the reports on the reporting list to the collector at the next scheduled reporting time window by using a radio, transmitter, or other transmission means.
  • the node pushed information to the collector when the information was created.
  • a node may also push information on a schedule such as the accumulation of statistics relating to energy usage.
  • the node transmits the data packet to the device-agnostic collector.
  • the device-agnostic collector receives the data packet and forwards the data packet to the head end server. Additional description is provided herein elsewhere relative to particular batch reporting and real time reporting.
  • a device-agnostic collector does not need any knowledge about the particular type of meter or utility-consumption device at the node pushing the data and reports nor the particular data structure used by the node. Consequently, new metering devices capable of pushing information may be installed onto a network, but the device-agnostic collector does not need to upgrade its database to include information about the new type of meter.
  • the node addresses data packets to be processed in a particular manner to certain pre-assigned collector ports, and the collector processes the data packets according to the port that the packet arrives at.
  • a collector In contrast, if a collector were required to pull information from a new type of metering device, the collector would need a specific driver or other specific application for each type of meter and update the driver for each new revision, adding complexity to the collector.
  • the device-agnostic collector also does not need to understand any special data structures pushed by a node because the collector does not read the contents of the data packet, only the header on the data packet.
  • a node capable of initiating a transmission will push the data using conventional data structures as established by the applicable protocol implemented, such as the ANSI C12 protocol.
  • a report is created when a package, container, or envelope are created around the data structure, such as for example, when the ANSI C12 envelope is created around the data structure.
  • Reports that can be pushed by a node may include, but are not limited to, identification information, status of the node such as low battery, detection of tampering at the node, power failures, power quality, and leakage; configuration of the meter; data formatting information, utility meter readings, consumption statistics, and a profile of the interval period at which utility readings are stored.
  • One or more of these reports are captured at the appropriate interval for that particular data structure and then appended to a reporting list stored at the node.
  • the processor, microcontroller 245 or other means creates a reporting list in memory 225 , and newly created reports are appended by the processor, microcontroller 245 , or other means to the reporting list.
  • the reporting list is then transmitted by the node one report at a time, addressed to the appropriate device-agnostic collector port at preprogrammed intervals and/or according to other policies or rules.
  • the processor or microcontroller 245 uses the reporting list to keep track of the new reports that need to be transmitted to the collector.
  • the data structures in the data packet from the node are advantageously encrypted with a data key which the device-agnostic collector is not able to decrypt. Only the head end server is able to decrypt the data from the nodes.
  • the manner in which the device-agnostic collector responds to a data packet, whether received from a node or from the head end server may depend upon which port of the device-agnostic collector the data packet is addressed to rather than the content of the data packet.
  • the device-agnostic collector's ports may be reserved according to the type of response expected from the collector including, but not limited to, forwarding the data packet from the node to the head end server without processing the data packet, capturing and aggregating the data prior to forwarding batched data from multiple nodes to the head end server, and forwarding registration information from the node to the head end server.
  • a node pushing data or a report in a data packet to a device-agnostic collector must address the data packet to the appropriate pre-assigned port of the collector.
  • the pulling or pushing of data advantageously occurs at the application layer level in the AMI network.
  • the application layer is supported by the underlying layers, the transport layer, the data link layer, and the physical layer. Layer boundaries are somewhat flexible and elastic so that the data pushing or pulling may not strictly be limited to a particular layer.
  • a collector 140 may be required to service up to and more than thousands of different nodes 121 , 122 , 123 , 131 , 132 , 133 .
  • Nodes in any particular sub-network 120 , 130 may be programmed to record meter data at the same time, for example every hour on the hour. If data is pulled from the nodes on a collector's sub-network by the collector 140 or head end server 160 , collision of data on the NAN 120 is minimized because each node responds with data packets 600 A recorded at the hour only when queried by the collector 140 .
  • the IEEE 802.15.4 MAC layer implements carrier sense multiple access (CSMA) for handling collisions, the MAC layer is only capable of typically handling no more than approximately five nodes transmitting simultaneously.
  • CSMA carrier sense multiple access
  • FIG. 14 shows an example of a block diagram 1400 of a node communicating with a collector through a network, according to an aspect of the invention.
  • the node 1410 includes a radio 1420 and a microcontroller 1430 .
  • the radio includes a transmitter or other means for transmitting data packets and a receiver or other means for receiving an acknowledgment from the collector 1450 .
  • the microcontroller 1430 has a software module 1440 , substantially random time slot generator, or other means for generating one or more random or substantially random time slots within a pre-scheduled reporting time window.
  • the microcontroller 1430 also has another software module 1442 or other means for seeking a new collector.
  • the node 1410 transmits data packets to a collector 1450 through a network 1470 .
  • the collector includes a radio 1460 or other receiving means for receiving the data packets received from the node 1410 and transmission means for transmitting and acknowledgment after receipt of each data packet from the nodes.
  • FIG. 15 illustrates an example solution 1500 for handling a situation where even staggered transmission times for each node may still result in collisions.
  • a random or substantially random time slot within a pre-scheduled reporting time window is generated for each of the nodes. While the generation of random time slots within a reporting time window for each node would be ideal in minimizing the collision of transmissions from the nodes to the collector, the assignment of substantially random time slots would suffice provided the substantially random slots do not permit more than approximately five nodes to transmit simultaneously.
  • These time slots within the prescheduled reporting time window are referred to as checkpoints for the nodes.
  • each node transmits its reports as data packets to the collector 140 during its checkpoint.
  • Each node uses a radio 265 , transmitter, or transmission means to transmit the data packets.
  • the result is that data packets sent from the different nodes to the collector are transmitted in a temporally staggered manner over prescheduled reporting time window rather than being transmitted simultaneously.
  • Checkpoints may be generated by nodes and there is also an option for a mesh gate to trigger the generation of a checkpoint.
  • a mesh gate to trigger checkpoint generation may be advantageous because the mesh gate may typically be in a better position to control collisions, but may sometimes have the somewhat disadvantageous effect of creating more message traffic. Either or both checkpoint generation schemes may be utilized depending upon the tradeoffs.
  • the node initialization of a checkpoint serves as a backup update routing information for the mesh gate.
  • a node can normally always find a mesh gate but the mesh gate may not always find a node.
  • the collector transmits an acknowledgement to each node if the collector received a data packet from that node.
  • the collector uses a radio 355 , receiver, or receiver means for receiving data packets and a radio 355 , transmitter, or transmission means to transmit the acknowledgement.
  • each node uses a radio, receiver, or receiver means for checking whether it has received an acknowledgement from the collector if it sent a data packet. If each node that sent a data packet to the collector received an acknowledgement (block 1540 —Yes), the process ends at block 1570 .
  • the data packet may not reach the collector, or an acknowledgement may not be received by the transmitting node for a variety of reasons including, but not limited to, interference at the RF frequency of transmission and collisions with another packet. If the data packet does not arrive at its destination, as indicated by the lack of an acknowledgment from the collector, the transport and MAC layers may attempt to retransmit the packet.
  • the node may be configured to re-transmit the packet to the collector again before the next scheduled reporting time window.
  • a second random or substantially random time slot within a pre-scheduled re-try time window may be assigned to the unacknowledged nodes.
  • the re-try time window may or may not be the same as the prescheduled reporting time window used at block 1510 above.
  • each unacknowledged node transmits its report to the collector again during its second assigned checkpoint. The process ends at block 1570 .
  • these nodes may be configured to wait until the next scheduled reporting time window before re-transmitting the packet.
  • Any algorithm which implements an effective randomization or pseudo-randomization of transmission times for the nodes in a collector's sub-network is suitable.
  • One example of a randomization algorithm or procedure is presented here.
  • 16-bit addresses are assigned to each meter sequentially by the mesh gate or coordinator.
  • a coordinator implements a general model of communication which allows it to talk to any other device and also relays messages.
  • the mesh gate 140 performs the functions of the coordinator in the example network topology in FIG. 1 .
  • Bits one through seven of the address are used to represent bits seven through thirteen of the generated random number. Bits one through seven of the meter manufacturer's serial number and bits one through seven of the actual meter reading are used in computing bits one through seven of the generated random number. Bits one through six of the generated random number are obtained by performing an exclusive OR operation on the first six bits of the meter's serial number and the first six bits of the actual meter reading. Bit seven is obtained by performing an exclusive OR operation on the seventh bit of the meter's serial number, the seventh bit of the actual meter reading, and bit one of the 16-bit address. Bits eight through thirteen correspond respectively to bits two through seven of the 16-bit address. The generated random number has thirteen bits; thus it represents a number between 0 and 8191.
  • This generated random number is multiplied by the total time window allowed for the transmission of all the nodes in a collector's sub-network and then divided by 8191 for scaling.
  • the resulting value is the time during the window at which a node is assigned to transmit its data packet during the time window.
  • a random or substantially random time slot or number generator may be used to generate the times at which each node is permitted to initiate transmissions to the collector, and the time slot or number generator may be performed by a processor or microcontroller 245 running an algorithm.
  • a NAN-associated node 121 , 122 , 123 may lose communications with its servicing collector 140 for a variety of reasons including network outages. However, each of the reports stored at the node on the reporting list remain in queue on the reporting list in flash memory, even during a network or power outage.
  • the reporting list is a circular buffer that advantageously uses a first-in first-out protocol. Typically, the reporting list can store approximately one year of data, but different size buffers may be used to store different durations or quantities of data. A person skilled in the art will understand that an arbitrary amount of data may be stored on the reporting list.
  • the node implements a last-transferred-pointer in conjunction with the reporting list.
  • FIG. 16 illustrates an example procedure 1600 for using the last-transferred-pointer.
  • the last-transferred-pointer is a programming language data type stored in memory 255 whose value points to or flags the address in memory 255 of the last report on the reporting list that was acknowledged as having been received by the collector.
  • the report pointed to by the last-transferred-pointer may be referred to as the flagged report.
  • the report to be transmitted next is the one immediately following the flagged report.
  • a node creates one or more reports using a processor.
  • the node appends the one or more reports to a reporting list in a memory.
  • the node uses a radio 265 , transmitter, or transmitter means to transmit one report in the form of a data packet from the reporting list to the collector. If the collector receives the data packet, it will send an acknowledgment to the node.
  • the node uses a radio 265 , receiver, or receiver means to check at decision block 1620 for an acknowledgment generated and sent by the CPU 345 of the collector. If a report transmission is not acknowledged (block 1620 —No), the node does not increment the position of the last-transferred-pointer and re-transmits the same report at the appropriate re-transmission time at block 1610 . If the report is acknowledged (block 1620 —Yes), at block 1630 the node updates the last-transferred-pointer by using a processor or microcontroller 245 to increment the last-transferred-pointer stored in memory 255 to point to the report just transmitted and acknowledged. At decision block 1640 , the node decides whether there are more reports to transmit to the collector. If the node has more reports to transmit to the collector (block 1640 —Yes), it starts the process from block 1610 . Otherwise (block 1640 —No), the process ends at block 1650 .
  • the node may be configured to re-transmit the report to the collector again before the next scheduled checkpoint. Alternatively, the node may be configured to wait until the next checkpoint before re-transmitting the report. In either case, the node will know which report to re-transmit because it is the report immediately following the one that the last-transferred-pointer is pointing to on the reporting list. Using the last-transferred-pointer scheme, the node automatically knows which reports have been acknowledged and do not need to be re-transmitted.
  • the transport and MAC layers first attempt to re-transmit the report. If the transport and MAC layers are not successful in re-transmitting the report, the node may be configured to re-transmit the report to the collector again before the next scheduled checkpoint. Alternatively, the node may be configured to wait until the next checkpoint before re-transmitting the report.
  • the node will re-transmit the same report because it is the report immediately following the report pointed to by the last-transferred-pointer.
  • the collector When the collector receives the new transmission, it will re-acknowledge the receipt of the report but will discard the duplicate report which has been sent twice by the node.
  • the node Upon receipt of the acknowledgement, the node will update the last-transferred-pointer to point to the last report acknowledged by the collector.
  • the system head end server should direct another collector to take over for the failed collector.
  • the nodes are autonomous and will seek another collector and its associated sub-network on its own and start transmitting reports and/or data to the new collector as discussed above. No reports will be lost due to the failed collector because a node will transmit its reporting list starting from the next report after the one flagged by the last-transferred-pointer.
  • Non-limiting ways to push reports include, but are not limited to, (i) batch reporting, and (ii) real-time reporting.
  • most reports are sent through batch reporting, for example, interval data and work files.
  • the reports which are batched are typically reports not required urgently so they are batched for efficiency.
  • Batch reporting makes maximum use of the data packets sent across the network by minimizing the amount of traffic transmitted.
  • Real-time reporting is advantageously reserved for data which may be needed urgently by the head end server, for example, a meter tamper alert, power outage management events, and feedback from network load control devices like switches.
  • NAN-associated nodes 121 , 122 , 123 first transmit data packets to the collector 140 .
  • the node alerts the collector as to the type of report being sent by addressing a particular port of the collector in the header of the data packet.
  • One non-limiting embodiment of the format of a data packet 1700 A, including header formatting, is shown in FIG. 17 .
  • the packet 1700 A may be composed of an IEEE 802.15.4 MAC header 1710 , a layer header such as a Trilliant (Trilliant Networks, Inc., 1100 Island Drive, Redwood City, Calif.
  • mesh layer header 1712 a transport header such as a Trilliant mesh transport (TIP) header 1714 , an application layer header 1716 , and an application payload 1718 such as a report.
  • TIP Trilliant mesh transport
  • the collector port addressed by the node when transmitting a report resides in the transport TIP header 1714 .
  • the TIP header 1714 contains the fields 1700 B shown in FIG. 17 which includes flags 1720 , a packet sequence number 1722 , a last received sequence number 1724 , and an extension field 1726 .
  • the extension field 1726 is an eight-bit field. Bits 7 through 5 are used to indicate the type of extension, for example TIP communication or intra-TIP communication.
  • the extension field structure 1700 C shown in FIG. 17 is used, including a source port number field 1730 and a destination port number field 1732 .
  • the eight bits of the extension field 1726 is divided between the source port number comprising bits 7 through 4 and the destination number comprising bits 0 through 3 .
  • the node transmits a report to the collector it is the source port number field which contains the particular collector port being addressed.
  • the relevant details of the header which the collector needs to know, such as the addressed port, are made available to the collector by the operating system.
  • FIG. 18 shows an example of a block diagram 1800 of a system for transmitting a report from a node to a collector and from the collector to a head end server, according to an aspect of the invention.
  • the node 1810 includes a transmitter or radio 1820 or other means for transmitting a data packet to the collector 1830 and re-transmitting an unacknowledged data packet to the collector 1830 through the NAN network 1870 .
  • the collector 1830 includes a radio 1840 and a memory 1850 .
  • the radio 1840 includes a transmitter or other means for transmitting data packets and a receiver or other means for receiving data packets.
  • the memory 1850 includes source code having pre-assigned collector port assignments.
  • the head end server 1890 includes a radio 1895 .
  • the radio 1895 includes a transmitter or other means for transmitting requests or information, such as a read request for a table of nodes serviced by a collector, a table of new reports, and/or a table of lost reports and a write request for a table of last sequence numbers from the collector.
  • the radio 1895 also includes a receiver or other means for receiving tables and data packets through the WAN network 1880 .
  • FIG. 19 shows an example procedure 1900 for addressing reports to particular collector destination ports based upon the type of report.
  • specific collector ports are pre-assigned to correspond to high priority real-time reporting, aggregation for batch reporting, or other processing including, but not limited to, relaying an on-demand response.
  • the pre-assigning of destination ports may be done by using source code stored in the collector's memory that has embedded within it the destination port assignments.
  • the node collects and stores data for transmission to the collector and creates an envelope around the data to form a report and data packet.
  • the node addresses a data packet containing one or more reports to the appropriate port of the collector, where the destination port is included in a data packet header.
  • the node transmits the addressed data packet to the collector.
  • the collector receives the data packet and processes the data packet according to pre-assigned procedures corresponding to the particular collector port.
  • the collector transmits the data packet to the head end server, and at block 1960 , the head end server receives the data packet from the collector.
  • the collector does not need to read the payload of a data packet, only the necessary header information attached to the data packet. And in fact, the collector will not be able to read the payload of the data packets because the node encrypts the data with a data key, and only the head end server has the key to decrypt the data.
  • the collector CPU 345 initiates the transfer of information to the head end server. All of the timing intervals involved are known so it is possible to predict the time it will take for the information to arrive at the head end server. Typically, transmission of real-time data will take approximately five minutes or less but it may be appreciated that this duration is a typical value for a typical network and not a limitation of any or all embodiments.
  • the collector CPU 345 or other processor or processing logic aggregates batch data from the nodes and waits for the head end server to request the data.
  • the head end server may request the batch data once per day or once per hour, or according to other policies or rules and depending upon the system parameters and configuration.
  • the time at which the data will arrive at the head end server is controlled by the head end server, not by either the node or the collector.
  • a three-step synchronization process 2100 followed by the collector 140 for transmitting batch reports to the head end server is detailed in a section entitled, “Three-Step Synchronization Between Head End Server and Collector” below.
  • FIG. 20 illustrates an example collector relative reporting time determination procedure 2000 used by a collector to determine when to transmit real-time reports received from nodes to the head end server.
  • the collector determines whether a data packet 600 A has been received at a port assigned to receive real-time reports from the NAN-associated nodes 121 , 122 , 123 . If no new real-time reports have been received at the collector (block 2010 —No), the collector continues waiting for a data packet to be addressed to its real-time reporting port at decision block 2010 .
  • the collector may be configured to delay the transmission of the report in order to aggregate more real-time reports.
  • the delay minimum delay (MIN_DELAY) is used to allow the network bandwidth to be used more efficiently. For example, consider the case where a particular node “node A” sends a real-time report to the collector, and another particular node “node B” sends a real-time report to the same collector some period of time later, for example 20 seconds later.
  • the reports sent by multiple collectors to the head end server also have the potential to result in collisions.
  • a period of time of minimum delay e.g., MIN_DELAY
  • the collector will compute another delay having a substantially random duration equal to or less than a maximum random delay period (e.g., RND_PERIOD).
  • the collector waits the duration of the calculated substantially random delay prior to sending any aggregated real-time reports.
  • the collector transmits the real-time reports to the head end server.
  • each collector will effectively result in a temporal staggering of reports from the collectors to the head end server over an extended period of time rather than multiple simultaneously transmitted reports.
  • Multiple head end servers may use the same WAN so collisions may occur between transmissions from collectors to a first head end server and transmissions from the same or other collectors to a second head end server.
  • the collector determines whether an acknowledgment has been received from the head end server. If the aggregated real-time reporting data packets from the collector does not reach the head end server or if no acknowledgement is received, a sequence of re-try attempts are made at the TCP/IP layer and at the application layer. If the re-try attempts made at the TCP/IP layer and application layer are also unsuccessful such that no acknowledgment is received at the collector (block 2060 —No), at decision block 2070 the collector determines whether the maximum number of re-try attempts established by the system has been reached.
  • the system uses a number, maximum retry (MAX_RETRY), which caps or limits the total number of times a collector is permitted to re-send real-time reports if previous attempts have been unsuccessful.
  • MAX_RETRY a number, maximum retry
  • the cap is needed or at least advantageous to prevent a collector from constantly re-sending the reports and tying up network resources.
  • the collector will return to block 2030 to compute a new substantially random delay to wait before re-transmitting the reports, as before.
  • a similar algorithm is used as for generating the first substantially random delay, but a shorter scaling period is used to generate shorter delays for re-tries. Shorter delays are used because the majority of real-time reports sent the first time by collectors would have been successfully received and acknowledged, and there are far fewer collectors trying to re-send reports.
  • the collector returns to decision block 2010 to await the receipt of new real-time reports from the nodes.
  • the collector does not re-send the aggregated real-time reports.
  • the collector may throw away or discard real-time reports that have been unsuccessfully sent.
  • the collector may save the real-time reports that have been unsuccessfully sent in order to send them in a next transmission of real-time reports.
  • the reports may be lost only of there is a loss of power without a back-up power to preserve the reports.
  • the mesh gate may enter a power saving state, but before it shuts down or enters the power saving state it can store the reports for later retrieval and transmission.
  • the mesh gate may enter a power saving state, but before it shuts down or enters the power saving state it can store the reports for later retrieval and transmission.
  • the mesh gate may enter a power saving state, but before it shuts down or enters the power saving state it can store the reports for later retrieval and transmission.
  • the mesh gate may enter a power saving state, but before it shuts down or enters the power saving state it can store the reports for later retrieval and transmission.
  • non-battery implementations such as those using a super capacitor
  • battery powered nodes such as battery powered mesh gates, have rechargeable batteries that may have battery capacity to operate 8 hours or more.
  • the collector must wait for another period of time, sometimes referred to as an exclusion period.
  • the exclusion period is a minimum period of time a collector must wait before starting a new communication in order to prevent the collector from continually transmitting packets over the network. This mechanism places a limit on the maximum number of connections the collector may make with the head end server per day. Thus, if the collector is constantly receiving alarms, it will be prevented from tying up network resources by trying to communicate with the head end server every time.
  • the synchronization process 2100 advantageously occurs at the application layer.
  • the synchronization process 2100 is a communications protocol for use between the head end server and the collector, independent of whether a layered structure is used, or when and if used, the particular layer at which it occurs in the layer structure.
  • the synchronization process 2100 may be used for communications between the head end server and the collector without the use of any layer structure.
  • the head end server may wait for the collector to send batch reports at a pre-assigned time window. Alternatively, the head end server may initiate a request for the delivery of the collector's aggregated batch reports, whether the reports were obtained by pulling or pushing, in a three-step synchronization process 1400 .
  • the three-step synchronization process contains the following three steps: (1) a first read request with a corresponding response to the read request, (2) a write request with a corresponding response to the write request, and (3) a second read request with a corresponding second response to the second read request.
  • a read request made by a first device is the equivalent of retrieving information from a target device to the first device.
  • a write request made by a first device is the equivalent of sending information from the first device to a target device.
  • FIG. 21 shows the three-step synchronization procedure 2100 . The details are described below.
  • the head end server uses a transmitter to send a read table request to the collector.
  • Tables are the data structures used by the nodes.
  • the specific table requested by the head end server in this first request is the list of ApTitles in the collector's database.
  • ApTitle defined in the ANSI C12 protocols, is the application process title of a node and corresponds to the address of the node.
  • the ApTitle of a node within a particular collector's sub-network uniquely identifies that node.
  • the collector responds to the head end server's request by transmitting a table containing the ApTitles of all of the nodes in its sub-network.
  • a processor 345 may apply one or more suitable compression algorithms to compress the ApTitles table transmitted by the collector. It will be apparent to a person skilled in the art in light of the description provided here that many different types of compression algorithms may be used. Non-limiting examples of compression algorithms include, but are not limited to, Burrows-Wheeler transform, dynamic Markov compression, and Huffman coding.
  • the head end server sends a write request containing a table of the last sequence number of each ApTitle in the table sent by the collector.
  • the last sequence number for each node uniquely corresponds to the number of the last report received by the head end server from that node.
  • the last sequence number is set to zero.
  • the last sequence number is incremented by one each time a new report is transmitted by a node, and the last sequence number is never reset during the life of the meter.
  • the collector Based upon the last sequence number of each node sent by the head end server, the collector will be able to identify the new reports that the head end server has not received since the last synchronization procedure. For example, if the last sequence number for node A in the head end server's database is 100, the collector knows that all reports having a last sequence number greater than 100 from node A need to be sent to the head end server.
  • the collector CPU 345 determines that the head end server's write request is not made properly (block 2140 —No), the collector sends an error message at block 2145 , and the synchronization process ends at block 2180 .
  • Possible reasons for generating an error message include lack of permission for the head end server to access the requested data and invalid table number provided by the head end server or that the head end server has not been authenticated for any reason.
  • the collector may store in memory 335 lists of authenticated head end servers or lists of head end servers permitted to access certain types of reports from specific nodes, and the CPU 345 compares the requesting head end server identification with the lists stored in memory to determine whether the write request was proper.
  • the collector CPU 345 determines that the head end server's write request is made properly (block 2140 —Yes), the collector CPU 345 accepts the write request at block 2150 .
  • the head end server sends a read table request to the collector for the new reports.
  • the collector responds at block 2170 by fetching the appropriate reports the head end server has not received, optionally compressing them with suitable compression algorithms performed by a processor, and transmitting them to the head end server which receives the reports.
  • compression algorithms include, but are not limited to, Burrows-Wheeler transform, dynamic Markov compression, and Huffman coding.
  • the collector uses a buffer for storing reports received from every node it services in its sub-network.
  • the buffer may advantageously be a circular or cyclic buffer.
  • a first-in first-out protocol is employed with the buffer, and may advantageously be sized to hold an appropriate quantity or time duration of data.
  • the buffer is sized to hold or store approximately three months' worth of reports. It will be apparent to a person skilled in the art in light of the description provided here that the collector's buffer may store any amount of information. Consequently, the three-step synchronization process may be useful for recovering from a partial loss of data at the head end server's database by retrieving the lost data and/or lost reports from the collector.
  • FIG. 22 is a flow chart illustrating an example of a method 2200 of recovering lost reports at a head end server, according to an aspect of the invention. For example, if the head end server approximates that the most recent five days of reports received from a collector has been lost, the head end server may employ the three-step synchronization process and enter the last sequence numbers for the nodes corresponding to a week prior to the database loss in order to retrieve all of the reports that the collector transmitted to the head end server within the past week.
  • Blocks 2210 and 2220 correspond to blocks 2110 and 2120 of FIG. 21 described above.
  • the head end server sends a write request containing a table of the last sequence number for each ApTitle, where the last sequence number corresponds to the last report received from the corresponding node or any report for that node that the head end server still has stored in its database.
  • the collector CPU 345 determines whether the write request is proper. If the collector CPU 345 determines that the head end server's write request is not made properly (block 2240 —No), the collector sends an error message at block 2245 , and the synchronization process ends at block 2280 . If the collector CPU 345 determines that the head end server's write request is made properly (block 2240 —Yes), the collector CPU 345 accepts the write request at block 2250 .
  • the head end server sends a read table request to the collector for the lost reports.
  • the collector responds at block 2270 by fetching the appropriate reports the head end server has lost, optionally compressing them with suitable compression algorithms performed by a processor, and transmitting them to the head end server which receives the reports.
  • the transfer and synchronization process is complete at block 2280 .
  • the three-step synchronization process may also be useful for testing of the head end server or upgrading the head end server. Any number of head end servers may synchronize with the collector, and the last sequence number stored at each head end server may be different.

Abstract

A device-agnostic collector is capable of accepting information pushed from a node for aggregation and subsequent transmission to the head end server. As a receiver of pushed information, the device-agnostic collector does not require information about the type of meter at the node or the type of data structures transmitted by the node.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application claims the benefit of priority to the following United States provisional patent applications which are incorporated herein by reference in their entirety:
      • Ser. No. 60/989,957 entitled “Point-to-Point Communication within a Mesh Network”, filed Nov. 25, 2007 (TR0004-PRO);
      • Ser. No. 60/989,967 entitled “Efficient And Compact Transport Layer And Model For An Advanced Metering Infrastructure (AMI) Network,” filed Nov. 25, 2007 (TR0003-PRO);
      • Ser. No. 60/989,958 entitled “Creating And Managing A Mesh Network Including Network Association,” filed Nov. 25, 2007 (TR0005-PRO);
      • Ser. No. 60/989,964 entitled “Route Optimization Within A Mesh Network,” filed Nov. 25, 2007 (TR0007-PRO);
      • Ser. No. 60/989,950 entitled “Application Layer Device Agnostic Collector Utilizing ANSI C12.22,” filed Nov. 25, 2007 (TR0009-PRO);
      • Ser. No. 60/989,953 entitled “System And Method For Real Time Event Report Generation Between Nodes And Head End Server In A Meter Reading Network Including From Smart And Dumb Meters,” filed Nov. 25, 2007 (TR0010-PRO);
      • Ser. No. 60/989,975 entitled “System and Method for Network (Mesh) Layer And Application Layer Architecture And Processes,” filed Nov. 25, 2007 (TR0014-PRO);
      • Ser. No. 60/989,959 entitled “Tree Routing Within a Mesh Network,” filed Nov. 25, 2007 (TR0017-PRO);
      • Ser. No. 60/989,961 entitled “Source Routing Within a Mesh Network,” filed Nov. 25, 2007 (TR0019-PRO);
      • Ser. No. 60/989,962 entitled “Creating and Managing a Mesh Network,” filed Nov. 25, 2007 (TR0020-PRO);
      • Ser. No. 60/989,951 entitled “Network Node And Collector Architecture For Communicating Data And Method Of Communications,” filed Nov. 25, 2007 (TR0021-PRO);
      • Ser. No. 60/989,955 entitled “System And Method For Recovering From Head End Data Loss And Data Collector Failure In An Automated Meter Reading Infrastructure,” filed Nov. 25, 2007 (TR0022-PRO);
      • Ser. No. 60/989,952 entitled “System And Method For Assigning Checkpoints To A Plurality Of Network Nodes In Communication With A Device Agnostic Data Collector,” filed Nov. 25, 2007 (TR0023-PRO);
      • Ser. No. 60/989,954 entitled “System And Method For Synchronizing Data In An Automated Meter Reading Infrastructure,” filed Nov. 25, 2007 (TR0024-PRO);
      • Ser. No. 60/992,312 entitled “Mesh Network Broadcast,” filed Dec. 4, 2007 (TR0027-PRO);
      • Ser. No. 60/992,313 entitled “Multi Tree Mesh Networks”, filed Dec. 4, 2007 (TR0028-PRO);
      • Ser. No. 60/992,315 entitled “Mesh Routing Within a Mesh Network,” filed Dec. 4, 2007 (TR0029-PRO);
      • Ser. No. 61/025,279 entitled “Point-to-Point Communication within a Mesh Network”, filed Jan. 31, 2008 (TR0030-PRO), and which are incorporated by reference.
      • Ser. No. 61/025,270 entitled “Application Layer Device Agnostic Collector Utilizing Standardized Utility Metering Protocol Such As ANSI C12.22,” filed Jan. 31, 2008 (TR0031-PRO);
      • Ser. No. 61/025,276 entitled “System And Method For Real-Time Event Report Generation Between Nodes And Head End Server In A Meter Reading Network Including Form Smart And Dumb Meters,” filed Jan. 31, 2008 (TR0032-PRO);
      • Ser. No. 61/025,282 entitled “Method And System for Creating And Managing Association And Balancing Of A Mesh Device In A Mesh Network,” filed Jan. 31, 2008 (TR0035-PRO);
      • Ser. No. 61/025,271 entitled “Method And System for Creating And Managing Association And Balancing Of A Mesh Device In A Mesh Network,” filed Jan. 31, 2008 (TR0037-PRO);
      • Ser. No. 61/025,287 entitled “System And Method For Operating Mesh Devices In Multi-Tree Overlapping Mesh Networks”, filed Jan. 31, 2008 (TR0038-PRO);
      • Ser. No. 61/025,278 entitled “System And Method For Recovering From Head End Data Loss And Data Collector Failure In An Automated Meter Reading Infrastructure,” filed Jan. 31, 2008 (TR0039-PRO);
      • Ser. No. 61/025,273 entitled “System And Method For Assigning Checkpoints to A Plurality Of Network Nodes In Communication With A Device-Agnostic Data Collector,” filed Jan. 31, 2008 (TR0040-PRO);
      • Ser. No. 61/025,277 entitled “System And Method For Synchronizing Data In An Automated Meter Reading Infrastructure,” filed Jan. 31, 2008 (TR0041-PRO); and
      • Ser. No. 61/094,116 entitled “Message Formats and Processes for Communication Across a Mesh Network,” filed Sep. 4, 2008 (TR0049-PRO).
  • This application hereby references and incorporates by reference each of the following United States patent applications filed contemporaneously herewith:
      • Ser. No. ______ entitled “Point-to-Point Communication within a Mesh Network”, filed Nov. 21, 2008 (TR0004-US);
      • Ser. No. ______ entitled “Efficient And Compact Transport Layer And Model For An Advanced Metering Infrastructure (AMI) Network,” filed Nov. 21, 2008 (TR0003-US);
      • Ser. No. ______ entitled “Communication and Message Route Optimization and Messaging in a Mesh Network” filed Nov. 21, 2008 (TR0007-US);
      • Ser. No. ______ entitled “Collector Device and System Utilizing Standardized Utility Metering Protocol,” filed Nov. 21, 2008 (TR0009-US);
      • Ser. No. ______ entitled “Method and System for Creating and Managing Association and Balancing of a Mesh Device in a Mesh Network,” filed Nov. 21, 2008 (TR0020-US); and
      • Ser. No. ______ entitled “System And Method For Operating Mesh Devices In Multi-Tree Overlapping Mesh Networks”, filed Nov. 21, 2008 (TR0038-US).
    BACKGROUND OF THE INVENTION
  • In an advanced metering infrastructure (AMI), the metering infrastructure may include system and methodological components where the system measures, collects, and advantageously analyzes usage of utilities such as but not limited to electricity, gas, and water; communication resources and/or other utilities or services through the use of advanced metering devices; two-way communication networks; and data management systems.
  • American National Standards Institute (ANSI) C12 protocols have been established which standardize metering products and communications of metering data in the United States and North America generally, and other European and International protocols and standards have similarly been promulgated. For example, ANSI C12.18 establishes protocols for point-to-point meter communication connections; ANSI C12.19 establishes data structures as well as rules and syntax pertaining to the data structures; and ANSI C12.22 establishes the protocol standards for transporting data tables over a network. In particular, ANSI C12.22 PSEM (Protocol Specification for Electric Metering) establishes protocols for the pulling of data or reports from a meter at a node, where the node must receive a request for information before the node will transmit any information.
  • SUMMARY OF THE INVENTION
  • A device-agnostic collector may either request data or a report from a node, also referred to as pulling information from the node, or accept information pushed from a node when a node initiates the transmission of data or a report to the collector, rather than waiting for an information request. A node is a device with the ability to communicate across a network, such as for example across an AMI network, and devices include utility-measuring devices like meters and utility-consumption devices like appliances. The node transmits data structures according to the specified protocols, such as for example an ANSI C12 or other national, regional, or international standards.
  • When a device-agnostic collector receives pushed reports from a node, the device-agnostic collector does not need any special application programs for communicating with different types of devices about various types of data structures supported by the different devices; the device-agnostic collector only requires the ability to receive reports addressed and pushed to particular ones of its ports and to acknowledge the received reports. Individual ports of the device-agnostic collector may be reserved for receiving specific types of reports, such as batch-reporting and real-time reporting. Based upon the port to which a node addresses a report to the device-agnostic collector, the collector will process the report and transmit the report to the head end server appropriately.
  • In one aspect, embodiments provide a collector device and system utilizing standardized utility metering protocols.
  • In one aspect, embodiments provide a system for communicating data from a node to a head end server, the system comprising: a node for measuring, storing, and initiating transmission of data to a collector over a first network; a collector for receiving the data over the first network and transmitting the data over a second network to the head end server; the head end server being operative for receiving the data over the second network.
  • In another aspect, embodiments provide a method of communicating data from a node to a head end server, the method comprising: collecting, storing, and initiating transmission of data by the node to a collector over a first network; receiving, by the collector, the data over the first network and transmitting, by the collector, the data over a second network to the head end server; and receiving, by the head end server, the data over the second network.
  • In another aspect, embodiments provide a collector device for operating in a system of the type that includes at least one node operative on a first network for storing data and a network server operative for receiving data on a second network, the collector device comprising: a receiver unit for receiving the data from the node over the first network; and a transmitter unit for transmitting data to the server over the second network; the collector being node device and data-structure agnostic and operative to: (i) request or pull data from a node device, or (ii) accept information pushed from a node device when a node device initiates the transmission of data or a report to the collector, or (iii) a combination of request or pull data from a node device and accept information pushed from a node.
  • In another aspect, embodiments provide a method of operating a collector in a network environment including a plurality of different networked node devices having different device characteristics and different data structure characteristics and a networked head end server, the method comprising: receiving a first data over the network environment from a first node device of a first node device type; receiving a second data over the network environment from a second node device of a second node device type; identifying the first data as the first data type and the second data as the second data type; processing the received first data and second data according to whether it is the first data type or the second data type to generate a processed data; and transmitting the processed data to the server over the network environment.
  • In another aspect, embodiments provide a computer program stored in a computer readable form for execution within a processor and processor associated memory for controlling the operation of a collector and of a system including the collector.
  • There are different types of reports that a node transmits to the head end server through the collector including batch reporting and real-time reporting. Real-time reports are needed urgently by the head end while batched reports are not. With both of these methods of reporting, a node may first transmit data packets to the collector. However, based upon the type of data, the node may address the data packets to specific ports of the collector. By pre-assigning different ports of the collector to receive different types of reports, the collector does not need to read and process the data packets. The collector will follow the appropriate reporting procedures for the particular type of report.
  • In one aspect, there is provided a method of transmitting a report from a node to a head end server, the method comprising: pre-assigning one or more ports at a collector to receive particular types of reports; transmitting a data packet from the node to the collector over a first network, wherein the data packet includes a header containing a destination port of the collector and the report; and transmitting the data packet from the collector to the head end server over a second network, wherein the collector follows reporting procedures based upon the destination port.
  • In another aspect, there is provided a method of transmitting data from a smart meter to a communications card for transmission to the collector, the method comprising: storing one or more lists of data structures in a register at the smart meter; storing a sequence number for each list in the register at the smart meter, wherein the sequence number is incremented by a predetermined number when a new piece of data is appended to the list; accessing and downloading new data from the one or more lists to a communications card, wherein the new data has corresponding sequence numbers that have not been previously downloaded; storing the data and the corresponding sequence number in memory; creating one or more reports from the new data at the communications card; and transmitting the one or more reports to the collector, wherein the communications card initiates the transmission.
  • In another aspect, there is provided a method of using a reporting list at a node for transmission to a collector, the method comprising: creating one or more reports by the node; appending the one or more reports to a reporting list at the node; transmitting to the collector a report on the reporting list immediately following a flagged report flagged by a last-transferred-pointer, wherein the transmission is initiated by the collector; receiving an acknowledgement from the collector; and updating the last-transferred-pointer; wherein the last-transferred-pointer is used to determine reports that have not been received by the collector.
  • In another aspect, there is provided a system for transmitting a report from a node to a head end server, comprising: means for pre-assigning one or more ports at a collector to receive particular types of reports; means for transmitting a data packet from the node to the collector over a first network, wherein the data packet includes a header containing a destination port of the collector and the report; and means for transmitting the data packet from the collector to the head end server over a second network, wherein the collector follows reporting procedures based upon the destination port.
  • In another aspect, there is provided a system for transmitting a report from a node to a head end server, comprising: collector computer code stored in a collector memory for pre-assigning one or more ports at a collector to receive particular types of reports; a node transmitter for transmitting a data packet from the node to the collector over a first network, wherein the data packet includes a header containing a destination port of the collector and the report; and a collector transmitter for transmitting the data packet from the collector to the head end server over a second network, wherein the collector follows reporting procedures based upon the destination port.
  • In another aspect, there is provided a system for transmitting data from a smart meter to a communications card for transmission to the collector, comprising: means for storing one or more lists of data structures at the smart meter; means for storing a sequence number for each list at the smart meter, wherein the sequence number is incremented by a predetermined number when a new piece of data is appended to the list; means for accessing and downloading new data from the one or more lists to a communications card, wherein the new data has corresponding sequence numbers that have not been previously downloaded; means for storing the data and the corresponding sequence number; means for creating one or more reports from the new data at the communications card; and means for transmitting the one or more reports to the collector, wherein the communications card initiates the transmission.
  • In another aspect, there is provided a system for transmitting data from a smart meter to a communications card for transmission to the collector, comprising: a register for storing one or more lists of data structures at the smart meter and a sequence number for each list at the smart meter, wherein the sequence number is incremented by a predetermined number when a new data structure is appended to the list; a processor for accessing data structures on the list and creating one or more reports from the new data at the communications card; a receiver and a memory for downloading the new data, wherein the new data has corresponding sequence numbers that have not been previously downloaded, and further wherein the memory stores the new data and the corresponding sequence number; and a node transmitter for transmitting the one or more reports to the collector, wherein the communications card initiates the transmission.
  • In another aspect, there is provided a system for using a reporting list at a node for transmission to a collector comprising: means for creating one or more reports by the node; means for appending the one or more reports to a reporting list at the node; means for transmitting to the collector a report on the reporting list immediately following a flagged report flagged by a last-transferred-pointer; means for receiving an acknowledgement from the collector; and means for updating the last-transferred-pointer; wherein the last-transferred-pointer is used to determine reports that have not been received by the collector.
  • In another aspect, there is provided a system for using a reporting list at a node for transmission to a collector comprising: a node processor for creating one or more reports by the node, appending the one or more reports to a reporting list at the node, and updating a last-transferred-pointer; a node transmitter for transmitting to the collector a report on the reporting list immediately following a flagged report flagged by the last-transferred-pointer; and a node receiver for receiving an acknowledgement from the collector; wherein the last-transferred-pointer is used to determine reports that have not been received by the collector.
  • In another aspect, there is provided a computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of transmitting a report from a node to a head end server, the method comprising: pre-assigning one or more ports at a collector to receive particular types of reports; transmitting a data packet from the node to the collector over a first network, wherein the data packet includes a header containing a destination port of the collector and the report; and transmitting the data packet from the collector to the head end server over a second network, wherein the collector follows reporting procedures based upon the destination port.
  • In another aspect, there is provided a computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of transmitting data from a smart meter to a communications card for transmission to the collector, the method comprising: storing one or more lists of data structures in a register at the smart meter; storing a sequence number for each list in the register at the smart meter, wherein the sequence number is incremented by a predetermined number when a new piece of data is appended to the list; accessing and downloading new data from the one or more lists to a communications card, wherein the new data has corresponding sequence numbers that have not been previously downloaded; storing the data and the corresponding sequence number in memory; creating one or more reports from the new data at the communications card; and transmitting the one or more reports to the collector, wherein the communications card initiates the transmission.
  • In another aspect, there is provided a computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of using a reporting list at a node for transmission to a collector, the method comprising: creating one or more reports by the node; appending the one or more reports to a reporting list at the node; transmitting to the collector a report on the reporting list immediately following a flagged report flagged by a last-transferred-pointer, wherein the transmission is initiated by the collector; receiving an acknowledgement from the collector; and updating the last-transferred-pointer; wherein the last-transferred-pointer is used to determine reports that have not been received by the collector.
  • A device-agnostic collector can accept information pushed from a node where the node initiates the transmission of information to the collector. The collector does not require any special logic or programming about the node or the data structures transmitted by the node, thus the collector is device-agnostic. Nodes pushing information may be assigned random staggered checkpoints to prevent the nodes from transmitting their data packets simultaneously.
  • In one aspect, there is provided a node device for initiating transmission of data to a collector comprising: a data input/output module for collecting the data; a memory for storing the data; a processor for creating a report from the data; and a radio for transmitting the report to the collector, wherein the transmission is initiated by the node.
  • In another aspect, there is provided a collector for receiving a data packet over a first network initiated from a node comprising: a first radio for receiving the data packet initiated by the node over the first network; a second radio for transmitting the data packet over a second network to a head end server; and a memory for storing the data packet to be transmitted to the head end server and used by the processor.
  • In another aspect, there is provided a method of operating a node that initiates a report to a collector comprising: collecting data through an input device; storing the data in a memory; creating the report from the data; and transmitting the report to the collector over a first network, wherein the report is initiated by the node.
  • In another aspect, there is provided a method of operating a collector that receives a data packet initiated by a node comprising: receiving the data packet initiated by the node over a first network addressed to a particular collector port, wherein the data packet comprises a report; processing the report according to pre-assigned procedures corresponding to the particular collector port; and transmitting the report to a head end over a second network.
  • In another aspect, there is provided a computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of operating a node that initiates a report to a collector comprising: collecting data through an input device; storing the data in a memory; creating the report from the data; and transmitting the report to the collector over a first network, wherein the report is initiated by the node.
  • In another aspect, there is provided a computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of operating a collector that receives a data packet initiated by a node comprising: receiving the data packet initiated by the node over a first network addressed to a particular collector port, wherein the data packet comprises a report; processing the report according to pre-assigned procedures corresponding to the particular collector port; and transmitting the report to a head end over a second network.
  • In one aspect, there is provided a method of communicating between a plurality of nodes and a collector using checkpoints, comprising: generating a substantially random time slot within a pre-scheduled reporting time window for each node; and transmitting data packets from each node to the collector at the node's substantially random time slot within the prescheduled reporting time window.
  • In another aspect, there is provided a method of transmitting data packets from a plurality of nodes to a collector, comprising: generating a first substantially random time slot within a prescheduled reporting time window for each node; transmitting data packets from each node to the collector at the node's substantially random time slot within the prescheduled reporting time window; transmitting an acknowledgement from the collector for each received data packet; generating a second substantially random time slot within a second prescheduled reporting time window for each node that does not receive an acknowledgement from the collector; and re-transmitting data packets from each node that did not receive the acknowledgement from the collector at the node's second substantially random time slot within the second prescheduled reporting time window.
  • In another aspect, there is provided a system for communicating between a plurality of nodes and a collector using checkpoints, comprising: means for generating a substantially random time slot within a pre-scheduled reporting time window for each node; and means for transmitting data packets from each node to the collector at the node's substantially random time slot within the prescheduled reporting time window.
  • In another aspect, there is provided a system for communicating between a plurality of nodes and a collector using checkpoints, comprising: a substantially random time slot generator for generating a substantially random time slot within a pre-scheduled reporting time window for each node; and a node transmitter for transmitting data packets from each node to the collector at the node's substantially random time slot within the prescheduled reporting time window.
  • In another aspect, there is provided a system for transmitting data packets from a plurality of nodes to one collector comprising: means for generating a first substantially random time slot within a prescheduled reporting time window for each node; means for transmitting data packets from each node to the collector at the node's substantially random time slot within the prescheduled reporting time window; means for generating a second substantially random time slot within a second prescheduled reporting time window at each node that does not receive an acknowledgement from the collector; and means for re-transmitting data packets from each node that did not receive the acknowledgement from the collector at the node's second substantially random time slot within the second prescheduled reporting time window.
  • In another aspect, there is provided a system for transmitting data packets from a plurality of nodes to one collector comprising: a substantially random time slot generator for generating a first substantially random time slot within a prescheduled reporting time window for each node and for generating a second substantially random time slot within a second prescheduled reporting time window at each node that does not receive an acknowledgement from the collector; and a transmitter for transmitting data packets from each node to the collector at the node's substantially random time slot within the prescheduled reporting time window and for re-transmitting data packets from each node that did not receive the acknowledgement from the collector at the node's second substantially random time slot within the second prescheduled reporting time window.
  • In another aspect, there is provided a computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of communicating between a plurality of nodes and a collector using checkpoints, comprising: generating a substantially random time slot within a pre-scheduled reporting time window for each node; and transmitting data packets from each node to the collector at the node's substantially random time slot within the prescheduled reporting time window.
  • In another aspect, there is provided a computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of transmitting data packets from a plurality of nodes to a collector, comprising: generating a first substantially random time slot within a prescheduled reporting time window for each node; transmitting data packets from each node to the collector at the node's substantially random time slot within the prescheduled reporting time window; transmitting an acknowledgement from the collector for each received data packet; generating a second substantially random time slot within a second prescheduled reporting time window for each node that does not receive an acknowledgement from the collector; and re-transmitting data packets from each node that did not receive the acknowledgement from the collector at the node's second substantially random time slot within the second prescheduled reporting time window.
  • A three-step synchronization process is used to transfer aggregated reports from a collector to the head end server. The head end server first sends a read request for an ApTitle list, and the collector returns the list. Then the head end server sends a write request of last sequence numbers corresponding to each ApTitle, and the collector either accepts the request or returns an error due to an improper request. Finally, the head end server sends a read request for new reports, and the collector transmits the reports. The three-step process allows a collector to identify and send the reports which the head end server does not have stored at the head end database.
  • In one aspect there is provided a method of synchronizing a data request between a head end server and a collector comprising: transmitting from the head end server a first read request for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector; transmitting the first table from the collector to the head end server; transmitting from the head end server a write request, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last received report from each node stored in a database at the head end server; accepting the write request if the write request is proper; transmitting from the head end server a second read request for new reports; and transmitting the new reports from the collector to the head end server.
  • In another aspect there is provided a system for synchronizing a data request between a head end server and a collector comprising: means for transmitting from the head end server a first read request for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector; means for transmitting the first table from the collector to the head end server; means for transmitting from the head end server a write request, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last received report from each node stored in a database at the head end server; means for accepting the write request if the write request is proper; means for transmitting from the head end server a second read request for new reports; and means for transmitting the new reports from the collector to the head end server.
  • In another aspect there is provided a system for synchronizing a data request between a head end server and a collector comprising: (a) a head end server transmitter for transmitting: a first read request for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector; a write request, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last received report from each node stored in a database at the head end server; and a second read request for new reports; (b) a collector transmitter for transmitting: the first table to the head end server; and the new reports to the head end server; and (c) a collector receiver and a collector processor for accepting the write request if the write request is proper.
  • In another aspect there is provided a computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of synchronizing a data request between a head end server and a collector comprising: transmitting from the head end server a first read request for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector; transmitting the first table from the collector to the head end server; transmitting from the head end server a write request, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last received report from each node stored in a database at the head end server; accepting the write request if the write request is proper; transmitting from the head end server a second read request for new reports; and transmitting the new reports from the collector to the head end server.
  • In another aspect there is provided a method of synchronizing a data request between a head end server and a collector comprising: transmitting from the head end server a first read request for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector; receiving by the head end server the first table from the collector; transmitting from the head end server a write request, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last received report from each node stored in a database at the head end server; transmitting from the head end server a second read request for new reports; and receiving the new reports from the collector.
  • In another aspect there is provided a method of synchronizing a data request between a head end server and a collector comprising: receiving by the collector from the head end server a first read request for a first table, wherein elements in the first table correspond to nodes serviced by the collector; transmitting the first table from the collector to the head end server; receiving by the collector from the head end server a write request, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last received report from each node stored in a database at the head end server; accepting by the collector the write request if the write request is proper; receiving by the collector from the head end server a second read request for new reports; and transmitting the new reports from the collector to the head end server.
  • In another aspect there is provided a computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of synchronizing a data request between a head end server and a collector comprising: transmitting from the head end server a first read request for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector; receiving by the head end server the first table from the collector; transmitting from the head end server a write request, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last received report from each node stored in a database at the head end server; transmitting from the head end server a second read request for new reports; and receiving the new reports from the collector.
  • In another aspect there is provided a computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of synchronizing a data request between a head end server and a collector comprising: receiving by the collector from the head end server a first read request for a first table, wherein elements in the first table correspond to nodes serviced by the collector; transmitting the first table from the collector to the head end server; receiving by the collector from the head end server a write request, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last received report from each node stored in a database at the head end server; accepting by the collector the write request if the write request is proper; receiving by the collector from the head end server a second read request for new reports; and transmitting the new reports from the collector to the head end server.
  • A node stores reports on its reporting list for transmission to the collector at its next checkpoint. A last-transferred-pointer is used to point to the last report on the reporting list transmitted to and acknowledged by the collector. If the collector fails, the node may re-associate with a new collector and continue transmitting reports form the reporting list that immediately follow the one flagged by the last-transferred-pointer. This mechanism allows the node to continue to forward reports to the head end server, independent of the particular collector used.
  • Once reports are aggregated by the collector, a three-step synchronization process may be used to transfer the aggregated reports from the collector to the head end server. The three-step process allows a collector to identify reports that the head end server has not yet received. This process may be used to recover from partial database losses at the head end server from the collector as well as to accommodate multiple head end servers.
  • In one aspect, there is provided a method of recovering loss of data at a head end server's database comprising: transmitting a first read request from the head end server for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector; transmitting the first table from the collector to the head end server; transmitting a write request from the head end server, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last available report from each node stored in a database at the head end server after the loss of data; accepting the write request if the write request is proper; transmitting from the head end server a second read request for lost reports; and transmitting the lost reports from the collector to the head end server.
  • In another aspect, there is provided a method of recovering from a collector failure comprising: seeking a new collector by a node associated with the failed collector; and transmitting one or more reports from the node's reporting list.
  • In another aspect, there is provided a system for recovering from a collector failure comprising: means for seeking a new collector by a node associated with the failed collector; and means for transmitting one or more reports from the node's reporting list.
  • In another aspect, there is provided a system for recovering loss of data at a head end server comprising: means for transmitting a first read request from the head end server for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector; means for transmitting the first table from the collector to the head end server; means for transmitting a write request from the head end server, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last available report from each node stored in a database at the head end server after the loss of data; means for accepting the write request if the write request is proper; means for transmitting from the head end server a second read request for lost reports; and means for transmitting the lost reports from the collector to the head end server.
  • In another aspect, there is provided a system for recovering loss of data at a head end server comprising: a head end server transmitter for transmitting: a first read request for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector; a write request, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last available report from each node stored in a database at the head end server after the loss of data; and a second read request for lost reports; and a collector transmitter for transmitting: the first table from the collector to the head end server; and the lost reports from the collector to the head end server; and a collector receiver and a collector processor for accepting the write request if the write request is proper.
  • In another aspect, there is provided a computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of recovering loss of data at a head end server's database comprising: transmitting a first read request from the head end server for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector; transmitting the first table from the collector to the head end server; transmitting a write request from the head end server, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last available report from each node stored in a database at the head end server after the loss of data; accepting the write request if the write request is proper; transmitting from the head end server a second read request for lost reports; and transmitting the lost reports from the collector to the head end server.
  • In another aspect, there is provided a computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of recovering from a collector failure comprising: seeking a new collector by a node associated with the failed collector; and transmitting one or more reports from the node's reporting list.
  • This Summary introduces concepts in a simplified form that are described more fully below in the Detailed Description. This Summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is an illustration showing a non-limiting exemplary embodiment of a network topology that may be used in conjunction with aspects of the invention.
  • FIG. 2 shows two examples of block diagrams of an exemplary node, according to an aspect of the invention.
  • FIG. 3 shows an example of an electrical block diagram of an exemplary mesh gate or collector, according to an aspect of the invention.
  • FIG. 4 shows an example of an electrical block diagram of an exemplary microportal, according to an aspect of the invention.
  • FIG. 5 shows an example of an electrical block diagram of a head end server, according to an aspect of the invention.
  • FIG. 6 shows two examples of block diagrams of exemplary nodes including a meter, according to an aspect of the invention.
  • FIG. 7 is a flow chart illustrating an example of a method of downloading new data not previously downloaded from a smart meter register to a communications card at the node, according to an aspect of the invention.
  • FIG. 8 is a flow chart illustrating an example of a method of installing a node, according to an aspect of the invention.
  • FIG. 9 is a flow chart illustrating an example of a method of associating with a new collector, according to an aspect of the invention.
  • FIG. 10 is a flow chart illustrating an example of a method of pulling a report from a dumb meter, according to an aspect of the invention.
  • FIG. 11 is a flow chart illustrating an example of a method of pulling a report from a smart meter, according to an aspect of the invention.
  • FIG. 12 is a flow chart illustrating an example of a method of pulling data from a smart meter, according to an aspect of the invention.
  • FIG. 13 is a flow chart illustrating an example of a method of pushing data to a collector from a node, according to an aspect of the invention.
  • FIG. 14 shows an example of a block diagram of a node communicating with a collector through a network, according to an aspect of the invention.
  • FIG. 15 is a flow chart illustrating an example of a method of temporally staggering communications from the nodes to the collector, according to an aspect of the invention.
  • FIG. 16 is a flow chart illustrating an example of a method of tracking reports received by a collector, according to an aspect of the invention.
  • FIG. 17 shows examples of a packet data format, according to an aspect of the invention.
  • FIG. 18 shows an example of a block diagram of a system for transmitting a report from a node to a head end server, according to an aspect of the invention.
  • FIG. 19 is a flow chart illustrating an example of a method of informing a collector about which category a report falls into, according to an aspect of the invention.
  • FIG. 20 is a flow chart illustrating an example of a method of temporally staggering when a collector transmits real-time reports to the head end server, according to an aspect of the invention.
  • FIG. 21 is a flow chart illustrating an example of a method of transmitting reports for batch reporting between a collector and a head end server, according to an aspect of the invention.
  • FIG. 22 is a flow chart illustrating an example of a method of recovering lost reports at a head end server, according to an aspect of the invention.
  • DETAILED DESCRIPTION OF THE INVENTION
  • Described in detail below is a collector suitable for use in an advanced metering infrastructure and in other applications. The collector may be device-agnostic and data structure-agnostic because a device-agnostic and data structure-agnostic collector may receive reports pushed from devices at nodes without needing any special logic to understand the particular type of meter or device residing at the node or the data structure pushed by the node. Its ability to receive reports, such as but not limited to, data formatting information, utility meter readings, and consumption statistics, without needing special logic about the transmitting node is derived at least in part by the use of standardized report formats and port addressing by the node to direct particular types of reports to a specific port of the collector as described in greater detail hereinafter.
  • Various aspects of the embodiments will now be described. The following description provides specific details for a thorough understanding and enabling description of these examples. Many of these specific details are optional. One skilled in the art will understand, however, that the invention and its various embodiments may be practiced without many of these specific details and options. Additionally, some well-known structures or functions may not be shown or described in detail, so as to avoid unnecessarily obscuring the relevant description.
  • The terminology used in the description presented below is intended to be interpreted in its broadest reasonable manner, even though it is being used in conjunction with a detailed description of certain specific examples. Certain terms may even be emphasized below; however, any terminology intended to be interpreted in any restricted manner will be overtly and specifically defined as such in this Detailed Description section.
  • Section headers and/or sub-headers are provided merely to guide the reader and are not intended to limit the scope of the invention in any way. Aspects, features, and elements of the invention and of embodiments of the invention are described throughout the written description and the drawings and claims.
  • Exemplary Network Topology In accordance with at least one non-limiting embodiment, an advanced metering infrastructure (AMI) network may span large geographical areas. In order to provide communications between nodes at a utility user's site and the head end server of the utility which processes usage data, the AMI may advantageously include, but is not limited to, the following elements: a head end server 160, also referred to as a system head end server, server, head end, or back end; a wide area network 110; a mesh gate 140, also referred to as a NAN-WAN gate or an access point; a neighborhood area network or NAN 120; and a microportal 150 which may more generically be referred to as a micro access portal for a residential premise or a home area network (HAN). A microportal device that is supported by the ZigBee Alliance is referred to as an energy service portal (ESP), however the ESP utilizes a different protocol. An AMI network may include one or more of any of these network elements, some of which are optional.
  • In the example of FIG. 1, one exemplary non-limiting embodiment of an AMI network topology 100 is shown. This example of an AMI network includes three networks (or sub-networks), a wide area network (WAN) 110, a neighborhood area network (NAN) 120 sometimes also referred to as a local area network (LAN), and a home area network (HAN) 130 sometimes also referred to as a premise area network (PAN). The WAN 110 typically uses TCP/IP communications protocol and provides a way for the head end server 160 to communicate with the mesh gate 140 or NAN-WAN gate. It may be appreciated that the head end server may be one or multiple computers and more usually multiple computers operating together to provide capacity and redundancy. The head end server hardware and connectivity may be any hardware and connectivity know in the art or convenient. The NAN 120 may advantageously and typically adhere to IEEE 802.15.4 protocol and provides a way for a mesh gate 140 to communicate with NAN-associated nodes 121, 122, 123 in its sub-network or microportals 150 that are serviced by the NAN 120; however, other different protocols may be utilized. The HAN 130 uses a communications protocol, such as for example a protocol established by the ZigBee Alliance and provides communications between a microportal 150 and HAN-associated nodes 131, 132, 133 that are serviced by the HAN 130. The ZigBee Alliance is an association of companies working to enable reliable, cost-effective, low-power, wirelessly networked, monitoring and control products based on an open global standard. The ZigBee Alliance focuses on defining the network, security, and application software layers, providing interoperability and conformance testing specifications, promoting the ZigBee brand globally to build market awareness, and managing the evolution of the technology. It will be apparent to a person of skill in the art that more nodes (or fewer nodes) than those shown in FIG. 1 may be serviced by the NAN and the HAN. In fact, hundreds or thousands of nodes may communicate over a single NAN, and this will typically be the case for actual AMI infrastructures and systems.
  • Various communications protocols may be supported and used by the elements of the AMI network 100 to communicate over the WAN 110, the NAN 120, and the HAN 130. However, it will be appreciated that for purposes of convenience, specific examples of communications protocols and standards may be indicated, particularly for aspects of the invention relative to a device-agnostic-collector.
  • NAN-associated nodes serviced by a NAN 121, 122, 123 communicate with a mesh gate 140 or NAN-WAN gate through the NAN 120. Nodes may, for example, include a utility meter for a residential or commercial site or a utility-measuring device or a utility consumption device which includes, but is not limited to, thermostats and appliances within the residential or commercial site. FIG. 2 shows two examples of block diagrams of an exemplary node. FIG. 2A illustrates a functional block diagram 200A of an exemplary generic node, and FIG. 2B illustrates an electrical block diagram 200B of an exemplary node.
  • With reference to FIG. 2A, the block diagram 200A shows three functional blocks of an exemplary generic node (121, 122, 123, 131, 132, 133 as shown in FIG. 1): an input/output device 210, a table 212, and a communications unit 214. For example, if the node, e.g., 121, 122, 123, 131, 132, 133 of FIG. 1, has a utility consumption and/or monitoring device such as a thermostat, then the input/output device 210 might comprise a keyboard or keypad for operating or enabling different display screens, for selecting different items to display, for controlling the thermostat, and for otherwise providing an interaction. Other input/output devices such as voice command input and speakers or other human interface devices may alternatively or additionally be utilized. Table 212 would correspond to data structures compiled by the thermostat based upon temperature readings, and the communications unit 214 would be the means with which the node communicates with the collector (such as for example with a mesh gate) using ANSI C12 protocol or other protocols that may be implemented, such as a communications card.
  • Alternatively, if the node has a utility sensing device such as a utility meter, the input/output device 210 may comprise a sensor for detecting utility usage. Table 212 may comprise registers in which the sensor data is stored, and communications unit 214 may comprise a communications card by which the meter at the node communicates with a collector.
  • With reference to FIG. 2B, the electrical block diagram 200B is representative of an exemplary node which includes a power regulator 235, an energy storage device 240, a microcontroller 245, a data input/output device or module 250, a flash memory 255, a real-time clock 260, and a radio 265.
  • The power regulator 235 may regulate the primary power supply for the node as well as the energy provided by the energy storage device 240 which acts as a temporary back-up or secondary power supply should the main power supply experience an outage.
  • The energy storage device 240 is a secondary power supply that provides the node with least a few extra minutes of power so that it can transmit previously un-transmitted reports to the collector. In some embodiments, the node may not include an energy storage device 240.
  • The energy storage device 240 may be a battery, a capacitor, or a small, compact but high capacity super-capacitor. Battery power supplies may be used, but these are not advantageous as they have limited lifetimes and would require field servicing. Capacitors on the other hand may provide practically unlimited lifetime and provide a power source that is sufficient to maintain operation and transmit information to the collector when charged even if the normal power is interrupted. In one non-limiting embodiment of the invention, a super capacitor has a storage capacity of 50 farads with a starting output voltage of 2.7 volts and a physical package that is cylindrical with a diameter of 18 mm and a length of 40 mm. A super capacitor of this type is made by NESSCAP Co., Ltd. in Soowon, Korea and may be used.
  • The microcontroller 245 controls the functions of the node including, but not limited to, creating reports from data taken by the sensor, transmitting reports to the collector, and responding to queries by the head end server or the collector. The microcontroller 245 may be implemented as one unit or as a plurality of or several units, with each unit controlling one (or even more than one) of the functional aspects of the node when plural units are provided, the input/output device 210, the table 212, and the communications unit 214. Other non-limiting embodiments may distribute functional aspects of the node to a plurality of units, and the division of functions may be in any combination.
  • The data input/output device 250 in the electrical block diagram 200B of FIG. 2B has similar functionality as the input/output device 210 as described for the functional block diagram 200A of FIG. 2A.
  • The non-volatile flash memory 255 stores reports and other data which the node does not want to lose if both the main power supply and any secondary power supply should fail including when the capacitor or super-capacitor may not store sufficient energy to carry out intended operations.
  • If the one or more power supplies to the node should fail, the real-time clock 260 receiving power from an internal capacitor during this time acts as a counter to determine how much time elapsed between the time the power supplies to the node ceased providing power until the restoration of power. Consequently, upon restoration of power, the node can return to normal operations such as taking data at scheduled intervals and transmitting reports to the collector as scheduled. In one embodiment, the real-time clock may continue to count and provide information regarding elapsed time for between for up to 14 days when a 1 microfarad capacitor is employed.
  • The radio 265 provides a means by which the NAN-associated node 121, 122, 123 communicates with the collector 140 and other NAN-associated nodes 121, 122, 123 through the NAN using a communications protocol, such as the afore described IEEE 802.15.4 and ANSI C12 protocols or other regional, international, or ISO protocols. Alternatively, the radio 265 provides a means by which the HAN-associated node 131, 132, 133 communicates with the microportal 150 and other HAN-associated nodes 131, 132, 133 through the HAN using a communications protocol, such as the afore described ZigBee Alliance protocols or other regional, international, or ISO protocols. The radio 265 includes both a transmitter for transmitting data packets and a receiver for receiving data packets.
  • FIG. 3 is an illustration showing an example of an electrical block diagram 300 for an access point such as a NAN-WAN gate and also described as a mesh gate 140 in this and in related applications. The terms may be used interchangeably. The mesh gate or NAN-WAN gate may perform any one or more of many different functions including for example, but not limited to, one or any combination of: relaying information from a server (such as from a head end server) to the mesh network nodes, routing information, collecting information from the nodes and microportals within any sub-network that may be configured for transmission to a server (such as to the head end server), acting as a HAN coordinator, acting as a NAN-WAN gate, transmitting firmware upgrades, and/or multicasting messages. A mesh gate 140 may be referred to herein as a collector when focusing upon the mesh gate's collector function because among the mesh gate's many functions, it collects information from the NAN-associated nodes 121, 122, 123 and/or microportals 150 in its sub-network.
  • While a second access point's sub-network, such as a second mesh gate's sub-network, may overlap the geographical area of a first mesh gate's sub-network, each node and microportal is advantageously only associated with a single mesh gate at any given time, where association is a relationship that enables communication of information between two associated entities and may optionally comport with the ANSI protocols for association. In at least one non-limiting embodiment, this or these associations may change over time. Each mesh gate's network advantageously operates at a different radio frequency (RF) from other mesh gate's networks which may be either overlapping in extent or nearby. The NAN-associated nodes 121, 122, 123 communicate with the mesh gate 140 through the Neighborhood-Area Network (NAN) 120, and the head end server 160 communicates with the mesh gate 140 through the Wide-Area Network (WAN) 110.
  • Although the example AMI network 100 only shows one mesh gate 140, in an alternative, any number of mesh gates 140 may be deployed. The mesh gate 140 may provide a gateway between the NAN network 120 and the head end server 160.
  • The mesh gate 140 includes a central processing unit (CPU) 345 or other processor or processing logic and coupled memory, a WAN radio 350, a NAN radio 355, at least one and advantageously multiple communication connections such as Ethernet connections 360, Random Access Memory (RAM) 330, flash or other non-volatile memory 335, a real-time clock 340, an optional power regulator 320 where power regulation may be advantageous, and a battery 325 or other energy storage means. The mesh gate 140 communicates with the NAN-associated nodes 121, 122, 123 and microportal 150 through the NAN radio 355 using a communications protocol such as IEEE 802.15.4 and ANSI C12 communications protocol or other protocols as may be implemented.
  • The NAN radio 355 includes both a transmitter or other means for transmitting data packets and a receiver or other means for receiving data packets.
  • The WAN radio 350, which advantageously operates under TCP/IP protocol but which may use other standard or non-standard or proprietary protocol, is used to communicate with the head end server 160 through the WAN 110. The WAN radio 350 includes both a transmitter or other means for transmitting data packets and a receiver or other means for receiving data packets. The mesh gate's CPU or other processor or processing logic 345 runs applications, such as one or more application functions for making information queries of data from the nodes, storing the data received from the nodes in memory, processing data aggregated from various nodes, and sending commands and messages from the head end server to the nodes, among other functions. The CPU or other processor or processing logic 345 may communicate with other devices or systems, such as with computers and/or servers through the Ethernet or other connections 360.
  • The flash or other non-volatile memory 335 stores reports and/or other data which the mesh gate 140 does not want to lose if both the main power supply and any secondary power supply such as the battery 325 or other storage means should fail or become exhausted. The Random Access Memory (RAM) 330 may be a volatile memory storage used by and coupled with the CPU or other processor or processing logic 345 as is known in the art.
  • The power regulator 320 regulates the primary power supply for the mesh gate 140. If the one or more power supplies to the mesh gate should fail, the real-time clock 340 acts as a counter to determine how much time elapsed between the time the power supplies to the mesh gate ceased providing power until the restoration of power, thus allowing the mesh gate to return to normal operations upon restoration of power.
  • A mesh gate or collector 140 may be placed at many different locations including, but not limited to, on a street light, on a telephone pole, at a socket behind a utility meter, and/or at virtually any location at which it has access to electrical power. The collector 140 aggregates and stores information from the NAN-associated nodes 121, 122, 123 and microportal 150 for transmission to the head end server 160 and also provides communications between the NAN-associated nodes 121, 122, 123 and microportal 150 and the head end server 160. Essentially, the last several hundred meters of the AMI infrastructure farthest from the head end server 160 and closest to the utility's customers are advantageously served and controlled by a collector 140.
  • HAN-associated nodes 131, 132, 133, advantageously serviced by the HAN 130, communicate with a microportal 150 through the HAN 130. A microportal 150 is located between a HAN 130 and a NAN 120 but need not share a node with a meter. Microportals 150 typically communicate with the HAN-associated nodes 131, 132, 133 within the premises (residence or commercial premises) of one customer, and multiple microportals may be present within one collector's sub-network. The restriction to a single premises may be for reasons of security, regulatory requirements, or for other reasons. Signals received by a microportal 150 through the NAN 120 from the collector 140 are distributed to the appropriate HAN-associated node through the HAN 130, and signals received by a microportal 150 through the HAN 130 from the HAN-associated nodes 131, 132, 133 are distributed to the collector 140 through the NAN 120 for transmission to the head end server 160. For example, if a utility wants to send a text or other message to a home display of one of the utility's users, the head end server 160 sends the text or other message to the collector 140 on the appropriate sub-network to which the user's home display device is coupled. The collector 140 transmits the text message through the NAN 120 to the appropriate microportal 150 which communicates with the intended recipient of the message. The microportal 150 will know if one or more displays are present in the home and distribute the message to those displays. The locations of the displays in the user's home include, but are not limited to, a thermostat or an in-home display device. A thermostat may conveniently be utilized as at least one such thermostat may typically be present in every residence or premises.
  • FIG. 4 shows an example of an electrical block diagram 400 of an exemplary microportal 150. A microportal is a control device that receives control commands from the head end server 160 and/or mesh gate 140 using a first protocol and translates the control commands and provides some contextual distribution to the HAN-associated notes 131, 132, 133 in a second protocol. The microportal 150 may include a microcontroller 420, a first radio such as a ZigBee radio 430, a second radio such as a non-ZigBee radio such as a mesh NAN radio (or a WAN radio or a PAN radio) 440, a flash memory or other non-volatile memory 450, and a real-time clock 460 or other device for counting or measuring an elapsed time. The microportal 150 communicates with the collector 140 through the second or NAN radio (or a WAN radio) 440 using IEEE 802.15.4 and ANSI C12 communications protocol or other standard communications protocols as may be known in the art. The NAN radio 440 includes both a transmitter for transmitting data packets and a receiver for receiving data packets. The first or ZigBee radio 430, which operates under the first communications standards, such as for example the ZigBee Alliance communication standards, is used to communicate with HAN-associated nodes 131, 132, 133 coupled to the HAN 130. The ZigBee radio 430 includes both a transmitter for transmitting data packets and a receiver for receiving data packets.
  • It may be appreciated that in one non-limiting embodiment the two radio configurations may include one Zigbee type radio operating at its radio frequency and according to its protocol, as well as a second non-Zigbee radio that operates over the selected HAN, NAN, or WAN frequency and protocol.
  • The microcontroller 420 runs or executes applications for the microportal 150 which may include, but are not limited to, transmitting messages from the HAN-associated nodes 131, 132, 133 on the HAN 130 to the collector 140, and transmitting messages from the collector 140 to HAN-associated nodes 131, 132, 133 on the HAN 130. The flash or other non-volatile memory 450 stores reports and other data which the microportal does not want to lose if its power supply should fail or become exhausted. If the power supply should fail, the real-time clock 460 acts as a counter to determine how much time elapsed between the time the power supply to the microportal 150 ceases providing energy or power until the restoration of energy or power. Thus, the microportal 150 returns to normal operations upon restoration of power.
  • In one embodiment, the microportal may share the same location and primary power source as a node coupled to the HAN 131, 132, 133, such as a meter or thermostat for the residential or commercial site. In this case, a single radio (or so called single-sided radio) of the node may be replaced by a dual-radio (also referred to as a two-sided radio) in order to convert the node to a microportal without having to write new firmware or implement new hardware. The functionality of the microportal at the node is or may be hidden from the hosting device and the hosting device need not have this knowledge. A normal single sided radio may be replaced by a portal radio (also referred to as a micro access portal). In one non-limiting embodiment, the two radios of the dual radio may be on the same side or on different sides of a common communication card or circuit PC board. In one non-limiting embodiment, a portal is a radio plus or in combination with a portal application processing logic, processor, or CPU. More generally, a portal, micro-portal, micro access portal and the like is a node on the mesh network.
  • Alternatively, the microportal may be a stand-alone device in a location separate from any other node. In this embodiment, the microportal would not reside topologically at any of the nodes coupled to the HAN 131, 132, 123. That is, the microportal 150 would have a different address from all other nodes serviced by the HAN. Thus, if any of the HAN-associated nodes coupled to the HAN 131, 132, 133 experiences a power outage, the other nodes may still communicate with the collector 140 and head end server 160 through the microportal 150.
  • The head end server 160 of the system is responsible for processing usage data received from the NAN-associated and HAN-associated nodes 121, 122, 123, 131, 132, 133 through the collector 140. FIG. 5 shows an example of a functional block diagram 500 for a head end server 160. Although the example AMI network 100 only shows one head end server 160, in an alternative, any number of head end servers 160 may be deployed. For example, the head end servers 160 may be distributed by geographical location for shorter communication distances and latency times. Alternatively and in addition, each utility accessing the AMI network may have one or more head end servers 160.
  • The head end server 160 may be one or a plurality of computing device(s) configured to receive information, such as meter readings, from a plurality of networks 100 and NAN-associated and HAN-associated nodes 121, 122, 123, 131, 132, 133. Typically the head end server 160 may be one or multiple computers and more usually multiple computers operating together to provide capacity and redundancy. The head end server 160 may also be configured to transmit instructions to the networks 100, mesh gates 140, and nodes 121, 122, 123, 131, 132, 133. The head end server 160 includes application programs for a master relay 520, a key manager 530, a task scheduler 550, a load balancer 560, running a stack 180, and other applications 540 which perform typical server functions not required to enable the current invention. The head end server 160 also includes a network interface 570. In one non-limiting embodiment, the network interface 570 may be an Internet interface.
  • In one non-limiting embodiment, the processing logic such as a MCU or CPU receives calendar information or data from or through the WAN, HAN, or PAN side radio directly or indirectly from the head end server 160. This calendar information may for example include dynamic pricing information, demand usage information or data, or other information that may pertain to days of the week, hours of the day, and/or other information or data that may pertain to utility usage. For example, the information may specify electricity pricing on an hour by hour basis for the next 24 hour time period. This pricing may be programmed into a time of use calendar. The non-Zigbee side (e.g., WAN, NAN, PAN side) implements and understands calendar functionality. The Zigbee side does not provide such calendar functionality, and the Zigbee standard is set to a point that it does not have any practical ability to be modified to provide such functionality. Furthermore, the network may provide an ability to identify and use a multicast address on the mesh network, such as for example in a load control application, but Zigbee does not have or understand the notion of multi-cast address.
  • On the other hand, the Zigbee radio is adapted to communicate with the Zigbee radio in the Zigbee devices. The Zigbee side may send messages to Zigbee devices based on the information from the WAN side. Although the Zigbee radio and the non-Zigbee network radio (e.g., WAN, HAN, PAN, or the like) are separate radios, they both interface to or through a common communications circuit or card so that they may share information. In one embodiment, the two radios on a single communications card or circuit share a same processing logic unit (such as a MCU or CPU) and in another non-limiting embodiment, they have separate processing logic units that communicate with each other through an interface.
  • The master relay 520 stores and keeps track of addresses of nodes registered with the head end server 160. The process for registration of a node according to ANSI C12.22 protocol is described below.
  • The key manager 530 stores and looks up or queries encryption keys used to provide secure communications across the components of the AMI. Different types of keys may provide different sets of access rights. For example, a node 121, 122, 123, 131, 132, 133 may encrypt a report which only the head end server 160 has the key to decrypt the report.
  • The task scheduler 550 schedules the launch of applications or scripts at pre-defined times or after specific time intervals or according to other predetermined or dynamically determined events or conditions.
  • The load balancer 560 optimizes resource utilization at the head end server 160 and although optional is advantageously provided.
  • The head end server 160 may also execute many other applications 540 which are not listed here explicitly.
  • The head end server 160 also advantageously has multiple network interface connections 570, such as Internet Protocol (IP) based connections 570. These connections permit the head end server 160 to communicate with other servers and devices on the network, such as over an IP network. Examples of a network interface 570 include, but are not limited to, modems such as cable, ADSL, or optical, interfaces that communicate through wireless frequencies or infrared frequencies, and network interface cards. A non-limiting example of a network interface 570 includes a transmitter or means for transmitting read requests and write requests, a receiver or means for receiving tables, data structures, reports, and other information, cell phone, or WAN radio for communicating with one or more mesh gates 140.
  • The stack 580 is used to run applications by wrapping data packets in headers and trailers and later stripping the headers and trailers used by the layers of the stack 580. The headers and trailers adhere to the requirements of the various protocols used by the layers of the stack 580. Additional information regarding stack 580 can be found in U.S. patent application Ser. No. ______ (TR0003) filed contemporaneously herewith entitled “Efficient And Compact Transport Layer And Model For An Advanced Metering Infrastructure (AMI) Network,” which is incorporated herein by reference in its entirety.
  • An AMI network should advantageously adhere to one or more standards applicable in the region in which it is operated. In at least one non-limiting embodiment, the AMI network in or with which aspects of the invention operate adheres to the ANSI C12 suite of standards. Other embodiments may be configured to adhere to other regional or international standards or ISO standards as may be adopted from time to time. In particular, ANSI C12.19 defines and standardizes the contents and formatting of tables of data, and ANSI C12.22 establishes the protocol standards which allow transport of table data over a reliable network communications system. The ANSI C12 protocol is implemented at the application layer and is supported by the transport layer, the mesh layer, and the data link and physical layers established under the IEEE 802.15.4 protocol. Specific reference is made to the 1997 version of ANSI C12.19 and the 1999 versions of ANSI C12.18 and ANSI C21, all in effect as of 2006. In addition, reference is made to the 2008 version of ANSI C12.11 and the 2003 and 2006 versions of IEEE 802.15.4. Each of these standards is hereby incorporated by reference. It may be appreciated by those workers having ordinary skill in the art in light of the description provided here that the invention and embodiments, aspect, and features of the invention are not limited to specific standards, though some embodiments may apply specifically to such standards, and that the invention and aspects thereof are compatible with existing standards as well as enhancements, revisions, and future modifications of such standards. One example of another standard that may be used is the IEC standard.
  • Exemplary Types of Node Devices and Meters
  • A utility meter collects data about utility usage or consumption at residential and commercial customer sites. Examples of utilities from which usage data may be collected include electricity, gas, water, and communications services. Usage and/or consumption may represent total usage during a period of time, temporal consumption such as instantaneous usage of one or more utilities, total consumption during a defined time period, peak usage, usage during peak or off-peak times, or any other usage or consumption information independent of whether it is of an instantaneous, real-time, cumulative, pattern, or other usage.
  • In accordance with one non-limiting embodiment, meters are conveniently categorized as one of two basic categories of utility meters, dumb meters and smart meters. FIG. 6A shows a block diagram 600A of a node, also referred to as a node device, 121, 122, 123, 131, 132, 133 that includes a dumb meter 620. A dumb meter 620 has a sensor 610 or other instrumentation which counts or measures the usage of a utility such as electricity, gas, or water; a dumb meter 620 does not process any usage data, or at least does not process any usage data beyond that processing that might be characterized as a collection or capture processing. The data captured by a dumb meter sensor 610 may be stored and transmitted to a collector through the use of an external electronics circuit or radio, not considered part of the dumb meter, such as may be implemented as one or more printed circuit card or chips which may include a register 612 for storage and processing functions and a communications card or circuit 614 for communications functions. The register 612 processes measurements made by the sensor 610 and stores data structures in the form of lists or tables such as meter readings, profiles, and alarms data structure(s). The register 612 also creates ANSI C12.22 envelope (or other similar or equivalent proprietary, regional, international, or ISO standard or protocol envelope) around the data structures to create a report. The communications card or circuit 614 transmits the reports using the ANSI C12 protocols (or other protocol) to the collector for transmission to the head end server. The reports may be either pulled by the collector and/or head end server or pushed by the communications card or circuit 614. A dumb meter 620 in combination with the afore described circuits or printed circuit card containing such circuits which perform the register 612 and communications 614 functions is referred to herein as a node or node device 630 in the advanced metering infrastructure (AMI) network. Reports may be either pulled or pushed from a node with a dumb meter. Pulling is always supported on demand. Push may also be extended to the system, and may for example be supported as an extension to the C12 standard.
  • FIG. 6B shows a block diagram 600B of a node, also referred to as a node device, 121, 122, 123, 131, 132, 133 that includes a smart meter 650. Similar to the dumb meter sensor 610, a smart meter 650 also has a sensor 640 or other instrumentation which counts or measures the usage of a utility such as electricity, gas, or water. However, in addition, the smart meter 650 includes a register 642 for processing measurements made by the sensor 640 and storing data structures in the form of lists or tables such as meter readings, profiles, and alarms data structure(s). An external electronics circuit or radio 644, not considered part of the smart meter 650, such as may be implemented as one or more printed circuit card or chips may implement communications with a radio, or a receiver 645 or means for receiving data or reports and a transmitter 645 or a means for transmitting data or reports, processing with a processor 646 or means for accessing data structures on lists stored in the register 642, and memory 647 or means for storing data. In one non-limiting embodiment, a smart meter 650 in combination with a communications card or circuits 644 is referred to as a node or node device 660 in the advanced metering infrastructure (AMI) and affiliated system and method.
  • Moreover, in at least one non-limiting embodiment, a node 121, 122, 123, 131, 132, 133 in the AMI may comprise an electronics card (or equivalent circuits) in combination with a utility-consumption or utility-measuring device including, but not limited to, meters on larger appliances such as a dishwasher or washing machine, meters on any device that consumes energy, or other utilities such as light bulbs, gas stoves or ovens, and/or thermostats. These devices may be either dumb, in which case the electronics card provides both register and communications functions, or smart, in which case the electronics card provides only communications functions.
  • A communications card 644 may retrieve data from a smart meter 650, by advantageously connecting to the meter using the ANSI C12.18 point-to-point connection protocols or an equivalent adopted standard for the region, such as an ISO or other international standard connection protocol.
  • FIG. 7 illustrates an example of a method 700 of downloading new data not previously downloaded from a smart meter register 642 to a communications card 644 at the node. In one exemplary but non-limiting embodiment, at block 710 a typical smart meter 650 stores in a register 642 four types of lists or tables: a history logger list or table, an event logger list or table, a profile list or table, and a self-read list or table. Other data structures may alternatively be used and some of these lists, tables, or other data structures may optionally but advantageously be used. The history logger list or table advantageously stores lists of events including, but not limited to, power quality such as low voltage, tampering, hardware diagnostics, and received load control commands. The event logger list or table advantageously stores events that may have an impact on the utility bill, such as power outages, and is specified by the ANSI C12 protocol. The profile list or table advantageously captures different measurements at specific intervals of time. The self-read list or table advantageously captures all the information needed to bill a customer, such as by way of example but not limitation, the number of kilowatt-hours used at a certain tiered price and maximum demand.
  • At block 720, for each list or table stored by the smart meter register 642, the register also advantageously stores a corresponding sequence number. The sequence number rules and syntax may be as identified or defined by the ANSI C12.19 protocols or other regional or international protocols. At the installation of a meter, the sequence number of each list is set to zero or some other predetermined or dynamically determined reference or starting number. A sequence number is incremented by one (or other predetermined or dynamically determined increment) when a new piece of data is appended to the list. The sequence numbers are advantageously never reset during the life of the smart meter so that each sequence number is unique to the life of the meter and not reused.
  • Each time the communications card (or equivalent circuits) 644 downloads data from the smart meter register 642 to memory 647 on the communications card 644, the sequence numbers corresponding to the last downloaded data entry of each list are also downloaded and stored in memory on the communications card. Thus, at block 730 the communications card 644 uses its processor 646 to access only the data entries on each list of the register 642 having a sequence number greater than the sequence number stored previously in the memory 647 on the communications card 644 for that list. For example, the processor 646 may read the sequence number entries for each list and compare them to the sequence number previously stored for that list, and when the processor arrives at a sequence number greater than the previously stored sequence number, the processor will access the corresponding data entries.
  • Then at block 740, the communications card 644 uses its receiver 645 and memory 647 to download and store new data and their corresponding sequence numbers, where the new data has not previously been downloaded from the smart meter register 642.
  • Besides storing the sequence numbers for each list stored by the smart meter register 642, the communications card 644 also needs to know the table (or other data structure) identification number which identifies the type of table and the frequency at which the smart meter captures the data for that particular table. The information is stored in the smart meter register 642. At block 750, the communications card 644 downloads this information.
  • At block 760, a smart meter may also store data structures that are not list-based or table-based, for example, such data structures may include or store statistics, Global Positioning System (GPS) location of the meter, configuration information, or combinations of any two or more of these or other information.
  • In one embodiment, after the communications card 644 downloads data from the smart meter register 642, a processor on the communications card 644 creates an ANSI C12.22 envelope (or other similar or equivalent proprietary, regional, international, or ISO standard or protocol envelope) around the data to create a report. Reports may include, but are not limited to, identification information, status of the node such as low battery, detection of tampering at the node, power failures, power quality, and leakage; configuration of the meter; data formatting information, utility meter readings, consumption statistics, and a profile of the interval period at which utility readings are stored. The node 660 may push the reports to the system head end server 160 for processing through a collector 140. Alternatively, the head end server 160 and/or the collector 140 may pull the reports from the node 660.
  • In one embodiment, after the communications card 644 downloads data from the smart meter register 642, the communications card 644 does not have the ability to create a report from the data. Thus, the collector and/or the head end server would pull the information from the communications card 644, rather than having the communications card push the data to the collector and/or the head end server. The processing of pulling the data from the communications card 644 follows conventional ANSI C12 Protocol Specification for Electric Metering (PSEM).
  • Installation of Nodes
  • Prior to joining an AMI network and transmitting data, a node must undergo an installation procedure as specified by ANSI C12 protocols (or other protocol) and briefly described here. FIG. 8 illustrates an example procedure 1800 for installing a new node.
  • In one non-limiting embodiment of an installation procedure, at block 1810 the node is initially provided the option of engaging in a commissioning communication with the commissioning server at the system head end server 160. The content of the commissioning communication depends on the type of device at the node, for example, a meter or a thermostat, the data structures supported by the node, and the utility-owner of the node. Thus, a thermostat may dump or upload its control schedule to the head end server 160 during the commissioning communication.
  • The next step in the installation procedure is association of the node with a new collector at block 1820. A mesh network is a wireless network configured to route data between nodes within a network. It allows for continuous connections and reconfigurations around broken or blocked paths by retransmitting messages from node to node until a destination is reached. Mesh networks differ from other networks in that the component parts can all connect to each other via multiple hops. Thus, mesh networks are self-healing: the network remains operational when a node or a connection fails. A mesh network may be used to implement any of the WAN 110, NAN 120, and HAN 130 networks within an AMI network 100. For convenience, a mesh network may be referred to here simply as either a network or sub-network.
  • FIG. 9 illustrates an example node to new-collector association procedure 900 for associating a node with a new collector. After association, the node may utilize the new collector and the new collector's sub-network to communicate sensor readings and receive instructions or commands.
  • At block 910, the node may use a receiver or radio means 265 to detect active networks within radio range and collecting information on each. For example, the node may determine a signal strength for a particular transmission frequency, a network name, a supported version number of each network. The active networks may be compiled in a list by a processor or microcontroller 245 in memory 255.
  • Each network may be associated with a collector and may periodically broadcast a banner or other information containing a network name and a network identifier. The node may attempt to receive and parse or interpret the banner in order to determine nearby networks having a minimum signal strength. In one non-limiting example, only the collector may broadcast the banner, but each node within the network may forward the banner. In this way, nodes outside direct radio range of the collector may still participate in the network through nearby neighbors.
  • At block 920, the node may use its microcontroller 245 to select a prospective collector with which to associate based upon the information acquired at block 910 about active networks. From the list of networks collected above, the node may parse the network name for a network prefix, network suffix, or other identifier. The network prefix may determine, in part, services offered by the network. Alternatively, the network prefix may determine a provider of the network. Based on the services offered or a registered provider of a network, the node may select the prospective network.
  • The node may further select the prospective collector based on a signal strength. A strong signal may be preferred over a weak signal. The node may further select the prospective collector based on a supported version number. It will be appreciated that the node may be outside direct radio range of the collector. However, communications may be forwarded through neighboring nodes in accordance with network protocols.
  • At block 930, the node may transmit a neighbor request to the prospective collector selected above. The neighbor request may include a node identifier and relevant meter status and be transmitted to the collector associated with the network. For example, the meter status may include a list of sensors provided by the node and services requested by the node. A schedule of supported sensor reading transmission may be transmitted, for example, indicating whether the node will transmit sensor readings every minute, every hour, every day, or according to some other predetermined or dynamically determined schedule or the like, and any blackout periods.
  • As described above, if the node is not in direct radio range of the collector, the communications may be forwarded or relayed through the network. The node may first transmit to a neighboring node, which then forwards or relays the communication on. It will be appreciated that the above sub-process may be executed automatically on power-up or upon collector failure of the collector currently associated with the node. No further input from a user may be required.
  • At block 940, the node may receive a neighbor response. Responsive to receiving the neighbor request from the node, the collector may compile or assemble and transmit the neighbor response via the network. The neighbor response may provide information to the node regarding associating with the prospective network.
  • For example, the neighbor response may include a next hop to the collector, a number of hops to the collector, a path quality, a collector load, a router load, or some combination of these. A next hop to the collector may describe the next node on the path to the collector. A path quality may be an indicator indicating a signal quality of the path to the collector. A collector load may indicate remaining capacity at the collector. A router load may indicate remaining capacity at a node next on the path to the collector, if the node is not in direct radio range with the collector and forwarding is required.
  • At block 950, the node may transmit an association request to the collector via the network. The association request may indicate a node's desire to associate with the prospective network selected above. For example, the association request may further include a node identifier.
  • At block 960, the node may test whether an association response was received. Responsive to receiving the association request from the node, the collector may associate the node with the network and transmit an association response. Similar to above, the association response may be forwarded through the network.
  • For example, the collector may check a collector load factor before allowing the node to associate. The collector may also authenticate the node before allowing the node to associate. For example, the node may transmit an authentication key verifying its identity. For example, the collector may look up the node table at a server or in a look up table or in another data structure to verify the node is authorized to associate.
  • At block 970, the node may associate with the network; thus, the node may transmit reports and data to the head end server via the new collector and also receive messages from the head end server. The node may update an internal neighbor table with a network identifier, a network name, and neighbor information such as a next hop and a number of hops to the collector. In this context a hop is a transmission of a message from one node to another node until a destination, the collector, is reached.
  • Future communications may be transmitted to the next hop, a nearby neighboring node in the network. After the node is associated with the network, it may act as a neighboring node for another new node searching for a network to associate with.
  • It will be appreciated that in the absence of an associated network, the node may continue to store sensor readings for future transmission.
  • Following the association of the node with a new collector at block 1810, the next step in the installation of a node is registration according to an applicable protocol specification, such as for example an ANSI C12.22 registration according to the ANSI C12.22 protocol specification. The node transmits registration information in a simple ANSI C12.22 registration message to the collector, and the collector transmits the information to the master relay which includes a routing table for tracking all of the C12.22 nodes registered to a C12.22 network service provider.
  • After the registration step, at block 1830 of the example procedure 1800 for installing a new node, the master relay notifies the head end server 160 that there is a new node 121, 122, 123, 131, 132, 133 on the network 100 and that the node has been registered according to the applicable protocol specification such as according to the ANSI C12.22 protocol specification.
  • Finally, at block 1840 the installation procedure concludes with an initial communication from the server to the node, requesting static information. Static information encompasses information related to the node which does not change and thus does not need to be transmitted to the head end server during future data transmissions. Static information may include, but is not limited to, the type of measurements that the meter at the node will make, the frequency at which the meter will make the measurements, the identification number of the meter, and/or any information that may be located on the nameplate of the meter.
  • The installation procedure serves to inform the network of the presence of the node, and the data collection process may proceed upon successful completion of the installation process.
  • Transferring Data from the Node to the Collector
  • When reports or data are transferred from the node to the collector through a pull process, the collector must know what type of information to retrieve and the type of meter from which the information is being retrieved. The node merely operates as a server of data acquired at its location. The collector runs a specific application program to pull information from a specific kind of meter and to read the specific data structures used by the meter.
  • FIG. 10 illustrates a first example Dumb Meter Node-to-Collector data pull procedure 1000 for transferring data from a node to a collector using a first pull scenario. In the first scenario, the collector 140 pulls a report from a node 630 with a dumb meter 620. The collector 140 uses a radio 355, a transmitter, or other transmission means to transmit a pull request at block 1010 to the node 630. At block 1020, a report is created at the register 612 at the node 630. At block 1030, the communications card 614 transmits the report to the collector 140 using a radio 265, a transmitter, or other transmission means.
  • FIG. 11 illustrates a second example Smart Meter Node-to-Collector data pull procedure 1100 for transferring data from a node to a collector using a second pull scenario in which the collector 140 pulls a report from a node 660 with a smart meter 650, where the node 660 is capable of creating a report. The collector 140 transmits a pull request at block 1110 to the node 660. At block 1120, the communications card 644 downloads the data from the register 642 of the smart meter 650 as detailed above by procedure 700 in FIG. 7. At block 1130, the communications card 644 creates the report from the data. The communications card 644 then transmits the report to the collector 140 at block 1140.
  • FIG. 12 illustrates a third example Alternative Smart Meter Node-to-Collector data pull procedure 1200 for transferring data from a node to a collector using a third pull scenario that also involves a smart meter, but where the smart meter does not have the ability to create a report so the device-agnostic collector pulls the data and creates the report for the meter. The collector 140 transmits a pull request at block 1210 to the node 660. At block 1220, the data structures from the register 642 in the smart meter 650 are downloaded to the communications card 644. At block 1230, the communications card 644 transmits the data structures to the collector 140. The CPU 345 of the collector 140 then creates the report from the data structures at block 1240, where a report includes an envelope or container for the data structures, such as an ANSI C12.22 envelope around the data structures.
  • Reports created by the collector or pulled by the collector from the node are subsequently transmitted to the head end server by the collector. Alternatively, the head end server may send a pull data command to the collector, rather than having the collector initiate a pull request. In this case, the collector could either pull data from all nodes from its sub-network or could pull data from a particular node specified by the head end server. One specific example in which data is pulled by the head end server is an on-demand response, where only data is sent rather than an entire report. An exemplary process by which the collector transmits the reports to the head end server is described in more detail below in the section entitled, “Three Step Synchronization Between Head End Server and Collector.”
  • In contrast to a pull process, a push process occurs when a node initiates transmission of reports or data to the collector and/or the head end server. Recall that a report may consist of data plus an envelope for that data. The envelope may include such information as security information, sequence information, address information, etc. A node may be configured to actively initiate transmission of data or a report to a collector and/or head end server rather than merely responding to a pull request for information. The collector that receives data or reports pushed from a node should be capable of receiving unsolicited transmissions initiated by the node, regardless of the type of meter at the node or the type of data structures transmitted by the node. Consequently, this type of collector may be termed a meter-agnostic, data structure-agnostic, or device-agnostic collector. Because some nodes may not have the ability to push information, a device-agnostic collector may also advantageously need to be capable of both pulling data or reports from one node as well as receiving pushed data or reports from another node. More details on the push process are provided below in the section entitled, “Pushing Reports from the Node to the Collector.” These various agnostic capabilities are referred to by the general phrase device-agnostic.
  • One of the functions of at least some mesh gates may be the collector function. Every valid message read is stored in a First-In-First-Out (FIFO) buffer (or other buffer as are known in the art) The head end server 160 has a protocol for head end synchronization with a collector. There is provided an address list, and the head end sends the actual sequence number for each address, so that based on the sequence number the mesh gate will only transfer new reports.
  • FIG. 13 is a flow chart illustrating an example 1300 of a method of pushing data to a collector from a node, according to an aspect of the invention. A node may push information to a device-agnostic collector according to various policies or criteria.
  • At block 1310, a node device collects data through an input device. For example, profiler data monitors consumption of a utility, such as for example, voltage drop or variation over time due to electricity usage or quantity (e.g. cubic feet) of water consumed. The profiler data is measured and collected at regular intervals, such as every hour.
  • After the data is collected, at block 1320, the data is stored in memory. For the profiler data example, the profiler data is dumped or stored into a block of memory. A block is the repository for data collected at known, regular intervals. The block is an efficiency mechanism which does not require a time stamp to be included at each data capture because each time data is sent to the block is known.
  • At block 1330, a report is created by the node's processor from the data. For the profiler data example above, when the block is full, a report is created, and the report is appended to the node's reporting list.
  • At block 1340, the node transmits the reports on the reporting list to the collector at the next scheduled reporting time window by using a radio, transmitter, or other transmission means.
  • In the profiler data example above, the node pushed information to the collector when the information was created. A node may also push information on a schedule such as the accumulation of statistics relating to energy usage. At appropriate pre-programmed intervals, the node transmits the data packet to the device-agnostic collector. The device-agnostic collector receives the data packet and forwards the data packet to the head end server. Additional description is provided herein elsewhere relative to particular batch reporting and real time reporting.
  • A device-agnostic collector does not need any knowledge about the particular type of meter or utility-consumption device at the node pushing the data and reports nor the particular data structure used by the node. Consequently, new metering devices capable of pushing information may be installed onto a network, but the device-agnostic collector does not need to upgrade its database to include information about the new type of meter. As discussed in more detail below in the section “Pushing Reports from the Node to the Collector,” the node addresses data packets to be processed in a particular manner to certain pre-assigned collector ports, and the collector processes the data packets according to the port that the packet arrives at. In contrast, if a collector were required to pull information from a new type of metering device, the collector would need a specific driver or other specific application for each type of meter and update the driver for each new revision, adding complexity to the collector. The device-agnostic collector also does not need to understand any special data structures pushed by a node because the collector does not read the contents of the data packet, only the header on the data packet. A node capable of initiating a transmission will push the data using conventional data structures as established by the applicable protocol implemented, such as the ANSI C12 protocol. A report is created when a package, container, or envelope are created around the data structure, such as for example, when the ANSI C12 envelope is created around the data structure. Reports that can be pushed by a node may include, but are not limited to, identification information, status of the node such as low battery, detection of tampering at the node, power failures, power quality, and leakage; configuration of the meter; data formatting information, utility meter readings, consumption statistics, and a profile of the interval period at which utility readings are stored. One or more of these reports are captured at the appropriate interval for that particular data structure and then appended to a reporting list stored at the node. The processor, microcontroller 245, or other means creates a reporting list in memory 225, and newly created reports are appended by the processor, microcontroller 245, or other means to the reporting list. The reporting list is then transmitted by the node one report at a time, addressed to the appropriate device-agnostic collector port at preprogrammed intervals and/or according to other policies or rules. Thus, the processor or microcontroller 245 uses the reporting list to keep track of the new reports that need to be transmitted to the collector.
  • In accordance with one non-limiting embodiment, for security purposes, the data structures in the data packet from the node are advantageously encrypted with a data key which the device-agnostic collector is not able to decrypt. Only the head end server is able to decrypt the data from the nodes. Thus, the manner in which the device-agnostic collector responds to a data packet, whether received from a node or from the head end server, may depend upon which port of the device-agnostic collector the data packet is addressed to rather than the content of the data packet.
  • The device-agnostic collector's ports may be reserved according to the type of response expected from the collector including, but not limited to, forwarding the data packet from the node to the head end server without processing the data packet, capturing and aggregating the data prior to forwarding batched data from multiple nodes to the head end server, and forwarding registration information from the node to the head end server. Thus, a node pushing data or a report in a data packet to a device-agnostic collector must address the data packet to the appropriate pre-assigned port of the collector.
  • The pulling or pushing of data advantageously occurs at the application layer level in the AMI network. As established by the IEEE 802.15.4 protocols, the application layer is supported by the underlying layers, the transport layer, the data link layer, and the physical layer. Layer boundaries are somewhat flexible and elastic so that the data pushing or pulling may not strictly be limited to a particular layer.
  • Collision Avoidance-Transmitting Packets from Node to Collector
  • In an AMI network 100, a collector 140 may be required to service up to and more than thousands of different nodes 121, 122, 123, 131, 132, 133. Nodes in any particular sub-network 120, 130 may be programmed to record meter data at the same time, for example every hour on the hour. If data is pulled from the nodes on a collector's sub-network by the collector 140 or head end server 160, collision of data on the NAN 120 is minimized because each node responds with data packets 600A recorded at the hour only when queried by the collector 140. However, if the nodes in a sub-network push the recorded data to a collector during a pre-scheduled time window, thousands of data packets may be transmitted simultaneously, resulting in multiple collisions. Although the IEEE 802.15.4 MAC layer implements carrier sense multiple access (CSMA) for handling collisions, the MAC layer is only capable of typically handling no more than approximately five nodes transmitting simultaneously.
  • FIG. 14 shows an example of a block diagram 1400 of a node communicating with a collector through a network, according to an aspect of the invention. The node 1410 includes a radio 1420 and a microcontroller 1430. The radio includes a transmitter or other means for transmitting data packets and a receiver or other means for receiving an acknowledgment from the collector 1450. The microcontroller 1430 has a software module 1440, substantially random time slot generator, or other means for generating one or more random or substantially random time slots within a pre-scheduled reporting time window. The microcontroller 1430 also has another software module 1442 or other means for seeking a new collector.
  • The node 1410 transmits data packets to a collector 1450 through a network 1470. The collector includes a radio 1460 or other receiving means for receiving the data packets received from the node 1410 and transmission means for transmitting and acknowledgment after receipt of each data packet from the nodes.
  • FIG. 15 illustrates an example solution 1500 for handling a situation where even staggered transmission times for each node may still result in collisions. At block 1510, a random or substantially random time slot within a pre-scheduled reporting time window is generated for each of the nodes. While the generation of random time slots within a reporting time window for each node would be ideal in minimizing the collision of transmissions from the nodes to the collector, the assignment of substantially random time slots would suffice provided the substantially random slots do not permit more than approximately five nodes to transmit simultaneously. These time slots within the prescheduled reporting time window are referred to as checkpoints for the nodes. At block 1520, each node transmits its reports as data packets to the collector 140 during its checkpoint. Each node uses a radio 265, transmitter, or transmission means to transmit the data packets. The result is that data packets sent from the different nodes to the collector are transmitted in a temporally staggered manner over prescheduled reporting time window rather than being transmitted simultaneously.
  • Checkpoints may be generated by nodes and there is also an option for a mesh gate to trigger the generation of a checkpoint. Using a mesh gate to trigger checkpoint generation may be advantageous because the mesh gate may typically be in a better position to control collisions, but may sometimes have the somewhat disadvantageous effect of creating more message traffic. Either or both checkpoint generation schemes may be utilized depending upon the tradeoffs. Furthermore, if a tree is broken, the node needs to initiate the checkpoint generation because under these conditions, the mesh gate cannot read back to the node. In one non-limiting example, the node initialization of a checkpoint serves as a backup update routing information for the mesh gate. A node can normally always find a mesh gate but the mesh gate may not always find a node.
  • At block 1530, the collector transmits an acknowledgement to each node if the collector received a data packet from that node. The collector uses a radio 355, receiver, or receiver means for receiving data packets and a radio 355, transmitter, or transmission means to transmit the acknowledgement.
  • At decision block 1540, each node uses a radio, receiver, or receiver means for checking whether it has received an acknowledgement from the collector if it sent a data packet. If each node that sent a data packet to the collector received an acknowledgement (block 1540—Yes), the process ends at block 1570. The data packet may not reach the collector, or an acknowledgement may not be received by the transmitting node for a variety of reasons including, but not limited to, interference at the RF frequency of transmission and collisions with another packet. If the data packet does not arrive at its destination, as indicated by the lack of an acknowledgment from the collector, the transport and MAC layers may attempt to retransmit the packet. If the transport and MAC layers are not successful in re-transmitting the packet, in one embodiment, the node may be configured to re-transmit the packet to the collector again before the next scheduled reporting time window. Thus, if at least one node did not receive an acknowledgment from the collector after transmitting a data packet (block 1540—No), at block 1550 a second random or substantially random time slot within a pre-scheduled re-try time window may be assigned to the unacknowledged nodes. The re-try time window may or may not be the same as the prescheduled reporting time window used at block 1510 above. At block 1560, each unacknowledged node transmits its report to the collector again during its second assigned checkpoint. The process ends at block 1570.
  • In one embodiment, if there are nodes that did not receive an acknowledgement, these nodes may be configured to wait until the next scheduled reporting time window before re-transmitting the packet.
  • Any algorithm which implements an effective randomization or pseudo-randomization of transmission times for the nodes in a collector's sub-network is suitable. One example of a randomization algorithm or procedure is presented here.
  • Under the IEEE 802.15.4 protocol, 16-bit addresses are assigned to each meter sequentially by the mesh gate or coordinator. As described in the IEEE 802.15.4 protocol, a coordinator implements a general model of communication which allows it to talk to any other device and also relays messages. The mesh gate 140 performs the functions of the coordinator in the example network topology in FIG. 1.
  • Bits one through seven of the address are used to represent bits seven through thirteen of the generated random number. Bits one through seven of the meter manufacturer's serial number and bits one through seven of the actual meter reading are used in computing bits one through seven of the generated random number. Bits one through six of the generated random number are obtained by performing an exclusive OR operation on the first six bits of the meter's serial number and the first six bits of the actual meter reading. Bit seven is obtained by performing an exclusive OR operation on the seventh bit of the meter's serial number, the seventh bit of the actual meter reading, and bit one of the 16-bit address. Bits eight through thirteen correspond respectively to bits two through seven of the 16-bit address. The generated random number has thirteen bits; thus it represents a number between 0 and 8191. This generated random number is multiplied by the total time window allowed for the transmission of all the nodes in a collector's sub-network and then divided by 8191 for scaling. The resulting value is the time during the window at which a node is assigned to transmit its data packet during the time window.
  • Alternatively, a random or substantially random time slot or number generator may be used to generate the times at which each node is permitted to initiate transmissions to the collector, and the time slot or number generator may be performed by a processor or microcontroller 245 running an algorithm.
  • Last-Transferred-Pointer
  • A NAN-associated node 121, 122, 123 may lose communications with its servicing collector 140 for a variety of reasons including network outages. However, each of the reports stored at the node on the reporting list remain in queue on the reporting list in flash memory, even during a network or power outage. The reporting list is a circular buffer that advantageously uses a first-in first-out protocol. Typically, the reporting list can store approximately one year of data, but different size buffers may be used to store different durations or quantities of data. A person skilled in the art will understand that an arbitrary amount of data may be stored on the reporting list.
  • The node implements a last-transferred-pointer in conjunction with the reporting list. FIG. 16 illustrates an example procedure 1600 for using the last-transferred-pointer. The last-transferred-pointer is a programming language data type stored in memory 255 whose value points to or flags the address in memory 255 of the last report on the reporting list that was acknowledged as having been received by the collector. The report pointed to by the last-transferred-pointer may be referred to as the flagged report. The report to be transmitted next is the one immediately following the flagged report.
  • At block 1602, a node creates one or more reports using a processor. At block 1604, the node appends the one or more reports to a reporting list in a memory.
  • At block 1610, at a node's assigned checkpoint, the node uses a radio 265, transmitter, or transmitter means to transmit one report in the form of a data packet from the reporting list to the collector. If the collector receives the data packet, it will send an acknowledgment to the node.
  • The node uses a radio 265, receiver, or receiver means to check at decision block 1620 for an acknowledgment generated and sent by the CPU 345 of the collector. If a report transmission is not acknowledged (block 1620—No), the node does not increment the position of the last-transferred-pointer and re-transmits the same report at the appropriate re-transmission time at block 1610. If the report is acknowledged (block 1620—Yes), at block 1630 the node updates the last-transferred-pointer by using a processor or microcontroller 245 to increment the last-transferred-pointer stored in memory 255 to point to the report just transmitted and acknowledged. At decision block 1640, the node decides whether there are more reports to transmit to the collector. If the node has more reports to transmit to the collector (block 1640—Yes), it starts the process from block 1610. Otherwise (block 1640—No), the process ends at block 1650.
  • There are two situations which will cause a node to not receive an acknowledgement. In the first situation, the report transmitted by the node is not received by the collector. When an acknowledgement is not received, the transport and MAC layers first attempt to re-transmit the report. If the transport and MAC layers are not successful in re-transmitting the report, the node may be configured to re-transmit the report to the collector again before the next scheduled checkpoint. Alternatively, the node may be configured to wait until the next checkpoint before re-transmitting the report. In either case, the node will know which report to re-transmit because it is the report immediately following the one that the last-transferred-pointer is pointing to on the reporting list. Using the last-transferred-pointer scheme, the node automatically knows which reports have been acknowledged and do not need to be re-transmitted.
  • In the second situation, a report transmitted by the node was actually received by the collector, but the acknowledgement from the collector was not received by the node. Because the collector actually did receive the transmission, the collector's memory buffer has already been updated with the report from the node. However, if an acknowledgement is not received by the node, the transport and MAC layers first attempt to re-transmit the report. If the transport and MAC layers are not successful in re-transmitting the report, the node may be configured to re-transmit the report to the collector again before the next scheduled checkpoint. Alternatively, the node may be configured to wait until the next checkpoint before re-transmitting the report. In either case, the node will re-transmit the same report because it is the report immediately following the report pointed to by the last-transferred-pointer. When the collector receives the new transmission, it will re-acknowledge the receipt of the report but will discard the duplicate report which has been sent twice by the node. Upon receipt of the acknowledgement, the node will update the last-transferred-pointer to point to the last report acknowledged by the collector.
  • In a network which implements data pulling, should a collector fail permanently for any reason such as software or hardware failure, the system head end server should direct another collector to take over for the failed collector. However, in a network in which nodes push data and reports to the collector, the nodes are autonomous and will seek another collector and its associated sub-network on its own and start transmitting reports and/or data to the new collector as discussed above. No reports will be lost due to the failed collector because a node will transmit its reporting list starting from the next report after the one flagged by the last-transferred-pointer.
  • Pushing Reports from the Node to the Collector
  • There are multiple ways for a NAN-associated node 121, 122, 123 to push reports to the head end server 160 through the collector 140. Examples of non-limiting ways to push reports include, but are not limited to, (i) batch reporting, and (ii) real-time reporting. In accordance with one non-limiting embodiment, most reports are sent through batch reporting, for example, interval data and work files. The reports which are batched are typically reports not required urgently so they are batched for efficiency. Batch reporting makes maximum use of the data packets sent across the network by minimizing the amount of traffic transmitted. Real-time reporting is advantageously reserved for data which may be needed urgently by the head end server, for example, a meter tamper alert, power outage management events, and feedback from network load control devices like switches.
  • With both methods of reporting, NAN-associated nodes 121, 122, 123 first transmit data packets to the collector 140. The node alerts the collector as to the type of report being sent by addressing a particular port of the collector in the header of the data packet. One non-limiting embodiment of the format of a data packet 1700A, including header formatting, is shown in FIG. 17. The packet 1700A may be composed of an IEEE 802.15.4 MAC header 1710, a layer header such as a Trilliant (Trilliant Networks, Inc., 1100 Island Drive, Redwood City, Calif. 94065) mesh layer header 1712, a transport header such as a Trilliant mesh transport (TIP) header 1714, an application layer header 1716, and an application payload 1718 such as a report. Each of the headers for the individual layers is used by the respective stack layer for transmitting the packet to its destination.
  • The collector port addressed by the node when transmitting a report resides in the transport TIP header 1714. When the transport header is the TIP transport header, the TIP header 1714 contains the fields 1700B shown in FIG. 17 which includes flags 1720, a packet sequence number 1722, a last received sequence number 1724, and an extension field 1726. In one non-limiting embodiment, the extension field 1726 is an eight-bit field. Bits 7 through 5 are used to indicate the type of extension, for example TIP communication or intra-TIP communication.
  • When the extension type is set to “intra TIP communication”, the extension field structure 1700C shown in FIG. 17 is used, including a source port number field 1730 and a destination port number field 1732. The eight bits of the extension field 1726 is divided between the source port number comprising bits 7 through 4 and the destination number comprising bits 0 through 3. When the node transmits a report to the collector, it is the source port number field which contains the particular collector port being addressed. The relevant details of the header which the collector needs to know, such as the addressed port, are made available to the collector by the operating system.
  • FIG. 18 shows an example of a block diagram 1800 of a system for transmitting a report from a node to a collector and from the collector to a head end server, according to an aspect of the invention. The node 1810 includes a transmitter or radio 1820 or other means for transmitting a data packet to the collector 1830 and re-transmitting an unacknowledged data packet to the collector 1830 through the NAN network 1870.
  • The collector 1830 includes a radio 1840 and a memory 1850. The radio 1840 includes a transmitter or other means for transmitting data packets and a receiver or other means for receiving data packets. The memory 1850 includes source code having pre-assigned collector port assignments.
  • The head end server 1890 includes a radio 1895. The radio 1895 includes a transmitter or other means for transmitting requests or information, such as a read request for a table of nodes serviced by a collector, a table of new reports, and/or a table of lost reports and a write request for a table of last sequence numbers from the collector. The radio 1895 also includes a receiver or other means for receiving tables and data packets through the WAN network 1880.
  • FIG. 19 shows an example procedure 1900 for addressing reports to particular collector destination ports based upon the type of report. At block 1910, specific collector ports are pre-assigned to correspond to high priority real-time reporting, aggregation for batch reporting, or other processing including, but not limited to, relaying an on-demand response. The pre-assigning of destination ports may be done by using source code stored in the collector's memory that has embedded within it the destination port assignments.
  • At block 1915, the node collects and stores data for transmission to the collector and creates an envelope around the data to form a report and data packet.
  • At block 1920, the node addresses a data packet containing one or more reports to the appropriate port of the collector, where the destination port is included in a data packet header. At block 1930, the node transmits the addressed data packet to the collector.
  • At block 1940, the collector receives the data packet and processes the data packet according to pre-assigned procedures corresponding to the particular collector port. At block 1950, the collector transmits the data packet to the head end server, and at block 1960, the head end server receives the data packet from the collector.
  • Thus, the collector does not need to read the payload of a data packet, only the necessary header information attached to the data packet. And in fact, the collector will not be able to read the payload of the data packets because the node encrypts the data with a data key, and only the head end server has the key to decrypt the data.
  • With real-time reporting, the collector CPU 345 initiates the transfer of information to the head end server. All of the timing intervals involved are known so it is possible to predict the time it will take for the information to arrive at the head end server. Typically, transmission of real-time data will take approximately five minutes or less but it may be appreciated that this duration is a typical value for a typical network and not a limitation of any or all embodiments.
  • With batch reporting, the collector CPU 345 or other processor or processing logic aggregates batch data from the nodes and waits for the head end server to request the data. The head end server may request the batch data once per day or once per hour, or according to other policies or rules and depending upon the system parameters and configuration. Thus, in at least one non-limiting embodiment, the time at which the data will arrive at the head end server is controlled by the head end server, not by either the node or the collector. A three-step synchronization process 2100 followed by the collector 140 for transmitting batch reports to the head end server is detailed in a section entitled, “Three-Step Synchronization Between Head End Server and Collector” below.
  • Real-Time Reporting by the Collector
  • FIG. 20 illustrates an example collector relative reporting time determination procedure 2000 used by a collector to determine when to transmit real-time reports received from nodes to the head end server. At decision block 2010, the collector determines whether a data packet 600A has been received at a port assigned to receive real-time reports from the NAN-associated nodes 121, 122, 123. If no new real-time reports have been received at the collector (block 2010—No), the collector continues waiting for a data packet to be addressed to its real-time reporting port at decision block 2010.
  • If the collector has received a data packet intended to be delivered to the head end server as a real-time report (block 2010—Yes), at block 2020 the collector may be configured to delay the transmission of the report in order to aggregate more real-time reports. The delay, minimum delay (MIN_DELAY), is used to allow the network bandwidth to be used more efficiently. For example, consider the case where a particular node “node A” sends a real-time report to the collector, and another particular node “node B” sends a real-time report to the same collector some period of time later, for example 20 seconds later. It would be a more efficient use of network bandwidth for the collector to wait for a limited duration to aggregate both reports and send them together to the head end server rather than sending node A's report immediately and then sending node B's report 20 seconds later. The impact on the system of waiting a limited duration is negligible because if an alarm needs to be sent by the head end server based upon the two real-time reports, a 20-second (or other specified short) delay is not very critical.
  • Similar to the situation where reports sent by multiple nodes to a single collector may result in collisions, the reports sent by multiple collectors to the head end server also have the potential to result in collisions. Thus, after waiting for a period of time of minimum delay (e.g., MIN_DELAY) such as may apply to real-time event notification, power outage notification or the like, at block 2030 the collector will compute another delay having a substantially random duration equal to or less than a maximum random delay period (e.g., RND_PERIOD).
  • At block 2040, the collector waits the duration of the calculated substantially random delay prior to sending any aggregated real-time reports. At block 2050, the collector transmits the real-time reports to the head end server.
  • The substantially random delays computed by each collector will effectively result in a temporal staggering of reports from the collectors to the head end server over an extended period of time rather than multiple simultaneously transmitted reports. Multiple head end servers may use the same WAN so collisions may occur between transmissions from collectors to a first head end server and transmissions from the same or other collectors to a second head end server.
  • At decision block 2060, the collector determines whether an acknowledgment has been received from the head end server. If the aggregated real-time reporting data packets from the collector does not reach the head end server or if no acknowledgement is received, a sequence of re-try attempts are made at the TCP/IP layer and at the application layer. If the re-try attempts made at the TCP/IP layer and application layer are also unsuccessful such that no acknowledgment is received at the collector (block 2060—No), at decision block 2070 the collector determines whether the maximum number of re-try attempts established by the system has been reached. The system uses a number, maximum retry (MAX_RETRY), which caps or limits the total number of times a collector is permitted to re-send real-time reports if previous attempts have been unsuccessful. The cap is needed or at least advantageous to prevent a collector from constantly re-sending the reports and tying up network resources.
  • If the maximum number of re-try attempts have not been made (block 2070—No), the collector will return to block 2030 to compute a new substantially random delay to wait before re-transmitting the reports, as before. A similar algorithm is used as for generating the first substantially random delay, but a shorter scaling period is used to generate shorter delays for re-tries. Shorter delays are used because the majority of real-time reports sent the first time by collectors would have been successfully received and acknowledged, and there are far fewer collectors trying to re-send reports.
  • If the maximum number of re-try attempts have been made (block 2070—Yes), the collector returns to decision block 2010 to await the receipt of new real-time reports from the nodes. The collector does not re-send the aggregated real-time reports. In one non-limiting example, the collector may throw away or discard real-time reports that have been unsuccessfully sent. In another non-limiting example, the collector may save the real-time reports that have been unsuccessfully sent in order to send them in a next transmission of real-time reports. In accordance with one non-limiting embodiment, the reports may be lost only of there is a loss of power without a back-up power to preserve the reports. For example, if it is battery powered, the mesh gate may enter a power saving state, but before it shuts down or enters the power saving state it can store the reports for later retrieval and transmission. In non-battery implementations, such as those using a super capacitor, there may not be sufficient stored energy for the storage of such real-time reports to have sufficient priority to be stored before energy is lost. Note that non-limiting examples of battery powered nodes, such as battery powered mesh gates, have rechargeable batteries that may have battery capacity to operate 8 hours or more.
  • If the collector receives an acknowledgment from the head end server for the transmitted real-time reports (block 2060—Yes), at block 2080 the collector must wait for another period of time, sometimes referred to as an exclusion period. The exclusion period is a minimum period of time a collector must wait before starting a new communication in order to prevent the collector from continually transmitting packets over the network. This mechanism places a limit on the maximum number of connections the collector may make with the head end server per day. Thus, if the collector is constantly receiving alarms, it will be prevented from tying up network resources by trying to communicate with the head end server every time.
  • Synchronization Between Head End Server and Collector
  • The description below of a non-limiting example of a three-step synchronization process 2100 (or process for synchronizing) followed by the collector 140 for transmitting real-time reports to the head end server. In the described example, the synchronization process advantageously occurs at the application layer. However, the synchronization process 2100 is a communications protocol for use between the head end server and the collector, independent of whether a layered structure is used, or when and if used, the particular layer at which it occurs in the layer structure. In one embodiment, the synchronization process 2100 may be used for communications between the head end server and the collector without the use of any layer structure.
  • It will also be appreciated that use of a layered structure in computer programs, devices, and computer network systems is common and that many protocols are layered, at lest at a minimum of a physical layer and another layer that might or would include the other non-physical layer.
  • It will also be apparent to a person skilled in the art in light of the description provided here that the application layer is supported by the transport layer, the mesh layer, and the data link and physical layers established under the IEEE 802.15.4 protocol. The mechanics of the lower support layers which may readily be appreciated by workers having ordinary skill in the art in light of the description provided here will not be described here to avoid obscuring features and aspects of the invention.
  • The head end server may wait for the collector to send batch reports at a pre-assigned time window. Alternatively, the head end server may initiate a request for the delivery of the collector's aggregated batch reports, whether the reports were obtained by pulling or pushing, in a three-step synchronization process 1400. The three-step synchronization process contains the following three steps: (1) a first read request with a corresponding response to the read request, (2) a write request with a corresponding response to the write request, and (3) a second read request with a corresponding second response to the second read request. A read request made by a first device is the equivalent of retrieving information from a target device to the first device. A write request made by a first device is the equivalent of sending information from the first device to a target device. FIG. 21 shows the three-step synchronization procedure 2100. The details are described below.
  • First, at block 2110 the head end server uses a transmitter to send a read table request to the collector. Tables are the data structures used by the nodes. The specific table requested by the head end server in this first request is the list of ApTitles in the collector's database. ApTitle, defined in the ANSI C12 protocols, is the application process title of a node and corresponds to the address of the node. The ApTitle of a node within a particular collector's sub-network uniquely identifies that node.
  • At block 2120, the collector responds to the head end server's request by transmitting a table containing the ApTitles of all of the nodes in its sub-network. A processor 345 may apply one or more suitable compression algorithms to compress the ApTitles table transmitted by the collector. It will be apparent to a person skilled in the art in light of the description provided here that many different types of compression algorithms may be used. Non-limiting examples of compression algorithms include, but are not limited to, Burrows-Wheeler transform, dynamic Markov compression, and Huffman coding.
  • At block 2130, the head end server sends a write request containing a table of the last sequence number of each ApTitle in the table sent by the collector. The last sequence number for each node uniquely corresponds to the number of the last report received by the head end server from that node. At the installation of a meter, the last sequence number is set to zero. The last sequence number is incremented by one each time a new report is transmitted by a node, and the last sequence number is never reset during the life of the meter. When a node transmits information to the collector, it does not have to transmit a complete table, even a transmission incorporating a partially written table where information has only been entered in specific fields of the table may constitute a report and be assigned a corresponding last sequence number.
  • Based upon the last sequence number of each node sent by the head end server, the collector will be able to identify the new reports that the head end server has not received since the last synchronization procedure. For example, if the last sequence number for node A in the head end server's database is 100, the collector knows that all reports having a last sequence number greater than 100 from node A need to be sent to the head end server.
  • At decision block 2140, it is determined whether the write request is proper. If the collector CPU 345 determines that the head end server's write request is not made properly (block 2140—No), the collector sends an error message at block 2145, and the synchronization process ends at block 2180. Possible reasons for generating an error message include lack of permission for the head end server to access the requested data and invalid table number provided by the head end server or that the head end server has not been authenticated for any reason. The collector may store in memory 335 lists of authenticated head end servers or lists of head end servers permitted to access certain types of reports from specific nodes, and the CPU 345 compares the requesting head end server identification with the lists stored in memory to determine whether the write request was proper.
  • If the collector CPU 345 determines that the head end server's write request is made properly (block 2140—Yes), the collector CPU 345 accepts the write request at block 2150.
  • At block 2160, the head end server sends a read table request to the collector for the new reports. The collector responds at block 2170 by fetching the appropriate reports the head end server has not received, optionally compressing them with suitable compression algorithms performed by a processor, and transmitting them to the head end server which receives the reports. Non-limiting examples of compression algorithms include, but are not limited to, Burrows-Wheeler transform, dynamic Markov compression, and Huffman coding. At this point, the transfer and synchronization process is complete at block 2180.
  • The collector uses a buffer for storing reports received from every node it services in its sub-network. The buffer may advantageously be a circular or cyclic buffer. A first-in first-out protocol is employed with the buffer, and may advantageously be sized to hold an appropriate quantity or time duration of data. In one non-limiting embodiment, the buffer is sized to hold or store approximately three months' worth of reports. It will be apparent to a person skilled in the art in light of the description provided here that the collector's buffer may store any amount of information. Consequently, the three-step synchronization process may be useful for recovering from a partial loss of data at the head end server's database by retrieving the lost data and/or lost reports from the collector.
  • FIG. 22 is a flow chart illustrating an example of a method 2200 of recovering lost reports at a head end server, according to an aspect of the invention. For example, if the head end server approximates that the most recent five days of reports received from a collector has been lost, the head end server may employ the three-step synchronization process and enter the last sequence numbers for the nodes corresponding to a week prior to the database loss in order to retrieve all of the reports that the collector transmitted to the head end server within the past week. Blocks 2210 and 2220 correspond to blocks 2110 and 2120 of FIG. 21 described above. At block 2230, the head end server sends a write request containing a table of the last sequence number for each ApTitle, where the last sequence number corresponds to the last report received from the corresponding node or any report for that node that the head end server still has stored in its database.
  • At decision block 2240, it is determined whether the write request is proper. If the collector CPU 345 determines that the head end server's write request is not made properly (block 2240—No), the collector sends an error message at block 2245, and the synchronization process ends at block 2280. If the collector CPU 345 determines that the head end server's write request is made properly (block 2240—Yes), the collector CPU 345 accepts the write request at block 2250.
  • At block 2260, the head end server sends a read table request to the collector for the lost reports. The collector responds at block 2270 by fetching the appropriate reports the head end server has lost, optionally compressing them with suitable compression algorithms performed by a processor, and transmitting them to the head end server which receives the reports. At this point, the transfer and synchronization process is complete at block 2280.
  • The three-step synchronization process may also be useful for testing of the head end server or upgrading the head end server. Any number of head end servers may synchronize with the collector, and the last sequence number stored at each head end server may be different.
  • The words “herein,” “above,” “below,” and words of similar import, when used in this application, shall refer to this application as a whole and not to any particular portions of this application. Where the context permits, words in the above Detailed Description using the singular or plural number may also include the plural or singular number respectively. The word “or,” in reference to a list of two or more items, covers all of the following interpretations of the word: any of the items in the list, all of the items in the list, and any combination of the items in the list.
  • The above detailed description of embodiments of the invention is not intended to be exhaustive or to limit the invention to the precise form disclosed above. While specific embodiments of, and examples for, the invention are described above for illustrative purposes, various equivalent modifications are possible within the scope of the invention, as those skilled in the relevant art will recognize. Further any specific numbers noted herein are only examples: alternative implementations may employ differing values or ranges.
  • The teachings of the invention provided herein can be applied to other systems, not necessarily the system described above. The elements and acts of the various embodiments described above can be combined to provide further embodiments.
  • While the above description describes certain embodiments of the invention, and describes the best mode contemplated, no matter how detailed the above appears in text, the invention can be practiced in many ways. Details of the system may vary considerably in its implementation details, while still being encompassed by the invention disclosed herein. As noted above, particular terminology used when describing certain features or aspects of the invention should not be taken to imply that the terminology is being redefined herein to be restricted to any specific characteristics, features, or aspects of the invention with which that terminology is associated. In general, the terms used in the following claims should not be construed to limit the invention to the specific embodiments disclosed in the specification, unless the above Detailed Description section explicitly defines such terms. Accordingly, the actual scope of the invention encompasses not only the disclosed embodiments, but also all equivalent ways of practicing or implementing the invention under the claims.

Claims (226)

1. A system for communicating data from a node to a head end server, the system comprising:
a node for measuring, storing, and initiating transmission of data to a collector over a first network;
a collector for receiving the data over the first network and transmitting the data over a second network to the head end server;
the head end server being operative for receiving the data over the second network.
2. The system of claim 1, further comprising the head end server.
3. The system of claim 1, wherein the node includes a sensor for measuring utility usage and wherein utility is one of electricity, gas, and water.
4. The system of claim 1, wherein the data is collected at a utility meter at a customer site.
5. The system of claim 1, wherein the data is collected at a utility-regulating device at a customer site.
6. The system of claim 1, wherein the data is collected at a utility-consuming device at a customer site.
7. The system of claim 1, wherein the first network comprises a neighborhood area network.
8. The system of claim 1, wherein the second network comprises a wide area network.
9. The system of claim 1, wherein the collector is device agnostic.
10. The system of claim 1, wherein the collector is data-structure agnostic.
11. The system of claim 1, wherein the data is encrypted by the node.
12. The system of claim 11, wherein the system head end server can decrypt the data but the collector can not decrypt the data.
13. The system of claim 1, wherein the node further responds to a request for the data and transmits the data to the collector over the first network, and the collector further requests the data from the node over the first network.
14. The system of claim 1, wherein the node includes at least one of a smart meter and a dumb meter.
15. The system of claim 1, wherein the first and second networks support ANSI C12.22 protocols at an application layer level, and further wherein the application layer is supported by a transport layer.
16. A method of communicating data from a node to a head end server, the method comprising:
collecting, storing, and initiating transmission of data by the node to a collector over a first network;
receiving, by the collector, the data over the first network and transmitting, by the collector, the data over a second network to the head end server; and
receiving, by the head end server, the data over the second network.
17. The method of claim 16, wherein the node further responds to a request for the data and transmits the data to the collector over the first network, and the collector further requests the data from the node and receives the data over the first network.
18. The method of claim 16, the node includes a sensor for measuring utility usage and wherein utility is one of electricity, gas, and water.
19. The method of claim 16, wherein the data is collected at one of the following: a utility meter at a customer site, a utility-regulating device at a customer site, and a utility-consuming device at a customer site.
20. The method of claim 16, wherein the first network is a neighborhood area network.
21. The method of claim 16, wherein the second network is a wide area network.
22. The method of claim 16, wherein the collector is device-agnostic.
23. The method of claim 16, wherein the collector is data-structure agnostic.
24. The method of claim 16, wherein the data is encrypted by the node.
25. The method of claim 24, wherein the system head end server can decrypt the data but the collector can not decrypt the data.
26. The method of claim 16, wherein the node includes a smart meter or a dumb meter.
27. The method of claim 16, wherein the first and second networks support ANSI C12.22 protocols at an application layer level, and further wherein the application layer is supported by a transport layer.
28. A collector device for operating in a system of the type that includes at least one node operative on a first network for storing data and a network server operative for receiving data on a second network, the collector device comprising:
a receiver unit for receiving the data from the node over the first network; and
a transmitter unit for transmitting data to the server over the second network;
the collector being node device and data-structure agnostic and operative to:
(i) request or pull data from a node device; or
(ii) accept information pushed from a node device when a node device initiates the transmission of data or a report to the collector; or
(iii) a combination of request or pull data from a node device and accept information pushed from a node.
29. A collector device as in claim 28, wherein the node communicating data with the collector is a node device with the ability to communicate across a network.
30. A collector device as in claim 28, wherein the node device has the ability to communicate across an AMI network and is further includes a utility-measuring capability.
31. A collector device as in claim 28, wherein the utility measuring capability is provided by a utility measuring device selected from the set consisting of a utility meter, a utility consuming appliance, and a utility generating appliance.
32. A collector device as in claim 28, wherein the node transmits data structures according to the specified protocol.
33. A collector device as in claim 28, wherein the collector is adapted for receiving data from a plurality of different node device types, and the different node device types store and communicate data in different data structures.
34. A collector device as in claim 28, wherein when the device-agnostic collector receives pushed data from a node device, and the device-agnostic collector does not need any special programs for communicating with different types of node devices about various types of data structures supported by the different node devices.
35. A collector device as in claim 28, wherein:
the collector includes a plurality of individual ports for receiving data; and
the device-agnostic collector only requires the ability to receive data addressed and pushed to particular ones of its ports and to acknowledge the received data.
36. A collector device as in claim 35, wherein the individual ports of the device-agnostic collector are reserved for receiving specific types of data.
37. A collector device as in claim 36, wherein the different types of data includes different types of reports, and the different types of reports are selected from the set consisting of: batch-reporting type reports and real-time reporting reports.
38. A collector device as in claim 37, wherein the collector further includes means for identifying the type of data received from a node device based on the collector port to which a node device addressed the data or report to the device-agnostic collector, the collector being adapted to process the received data or report and to transmit the report to the server appropriately based on the identification of data type received.
39. A collector device as in claim 28, wherein the node is also operable to measure data.
40. A collector device as in claim 28, wherein the node is further operable to initiate transmission of the data over the second network to the collector.
41. A collector device as in claim 28, wherein the network server comprises a head end server and the head end server is operative to receive data from the collector over the second network.
42. A collector device as in claim 28, wherein the first network includes at least a portion of the second network.
43. A collector device as in claim 28, wherein the second network includes at least a portion of the first network.
44. A collector device as in claim 28, wherein the first network and the second network are different networks.
45. A collector device as in claim 28, wherein the node includes a sensor for measuring utility usage and wherein utility is one of electricity, gas, water, and information.
46. A collector device as in claim 28, wherein the data is collected at a utility meter at a customer site.
47. A collector device as in claim 28, wherein the data is collected at a utility-regulating device at a customer site.
48. A collector device as in claim 28, wherein the data is collected at a utility-consuming device at a customer site.
49. A collector device as in claim 28, wherein the first network comprises a neighborhood area network.
50. A collector device as in claim 28, wherein the second network comprises a wide area network.
51. A collector device as in claim 28, wherein the data is encrypted by the node.
52. A collector device as in claim 28, wherein the system head end server can decrypt the data but the collector can not decrypt the data.
53. A collector device as in claim 28, wherein the node further responds to a request for the data and transmits the data to the collector over the first network, and the collector further requests the data from the node over the first network.
54. A collector device as in claim 28, wherein the node includes at least one of a smart meter and a dumb meter.
55. A collector device as in claim 28, wherein the first and second networks support ANSI C12.22 protocols at an application layer level, and further wherein the application layer is supported by a transport layer.
56. A method of operating a collector in a network environment including a plurality of different networked node devices having different device characteristics and different data structure characteristics and a networked head end server, the method comprising:
receiving a first data over the network environment from a first node device of a first node device type;
receiving a second data over the network environment from a second node device of a second node device type;
identifying the first data as the first data type and the second data as the second data type;
processing the received first data and second data according to whether it is the first data type or the second data type to generate a processed data; and
transmitting the processed data to the server over the network environment.
57. A method as in claim 56, wherein the network environment includes a first network supporting communication between the collector and the first and second node device, and a second network supporting communication between the collector and the head end server.
58. A method as in claim 56, wherein the collector is node device and node device data-structure agnostic and operative to:
(i) request or pull data from any node device; or
(ii) accept information pushed from any node device when a node device initiates the transmission of data or a report to the collector; or
(iii) a combination of request or pull data from a node device and accept information pushed from a node.
59. A method as in claim 58, wherein the collector receives data from a plurality of different node device types, and the different node device types store and communicate data in different data structures.
60. A method as in claim 58, wherein when the device-agnostic collector receives pushed data from a node device, the device-agnostic collector does not need any special programs for communicating with different types of node devices about various types of data structures supported by the different node devices.
61. A method as in claim 58, wherein:
the collector includes a plurality of individual ports for receiving data; and
the collector receives data addressed and pushed to particular ones of its ports and acknowledges the received data.
62. A method as in claim 61, wherein the individual ports of the device-agnostic collector are reserved for receiving specific types of data.
63. A method as in claim 62, wherein the different types of data includes different types of reports, and the different types of reports are selected from the set consisting of: batch-reporting type reports and real-time reporting reports.
64. A method as in claim 63, wherein the collector further identifies the type of data received from a node device based on the collector port to which a node device addressed the data or report to the device-agnostic collector, and the collector processes the received data or report and transmits the data or report to the server appropriately based on the identification of data type received.
65. The method of claim 57, wherein the node further responds to a request for the data and transmits the data to the collector over the first network, and the collector further requests the data from the node and receives the data over the first network.
66. The method of claim 56, the node includes a sensor for measuring utility usage and wherein utility is one of electricity, gas, and water.
67. The method of claim 56, wherein the data is collected at one of the following: a node device having a utility meter at a customer site, a node device having a utility-regulating device at a customer site, and a node device having a utility-consuming device at a customer site.
68. The method of claim 57, wherein the first network is a neighborhood area network.
69. The method of claim 57, wherein the second network is a wide area network.
70. The method of claim 56, wherein the data is encrypted by the node device.
71. The method of claim 70, wherein the system head end server can decrypt the data but the collector can not decrypt the data.
72. The method of claim 56, wherein the node includes a smart meter or a dumb meter.
73. The method of claim 57, wherein the first and second networks support ANSI C12.22 protocols at an application layer level, and further wherein the application layer is supported by a transport layer.
74. A computer program stored in a computer readable form for execution within a processor and processor associated memory for controlling the operation of a collector for operating the collector in a network environment including a plurality of different networked node devices having different device characteristics and different data structure characteristics and a networked head end server, the operating or the controller implementing a method comprising:
receiving a first data over the network environment from a first node device of a first node device type;
receiving a second data over the network environment from a second node device of a second node device type;
identifying the first data as the first data type and the second data as the second data type;
processing the received first data and second data according to whether it is the first data type or the second data type to generate a processed data; and
transmitting the processed data to the server over the network environment.
75. A system for communicating data from a node to a head end server, the system comprising:
a node for measuring, storing, and initiating transmission of data to a collector over a first network; and
a collector for receiving the data over the first network and transmitting the data over a second network to the head end server;
the head end server being operative for receiving the data over the second network;
the collector further comprising:
a receiver unit for receiving the data from the node over the first network; and
a transmitter unit for transmitting data to the server over the second network; and
the collector being node and data-structure agnostic and operative to:
(i) request or pull data from a node, or
(ii) accept information pushed from a node when a node initiates the transmission of data or a report to the collector, or
(iii) a combination of request or pull data from a node and accept information pushed from a node.
76. A method of transmitting a report from a node to a head end server, the method comprising:
pre-assigning one or more ports at a collector to receive particular types of reports;
transmitting a data packet from the node to the collector over a first network, wherein the data packet includes a header containing a destination port of the collector and the report; and
transmitting the data packet from the collector to the head end server over a second network, wherein the collector follows reporting procedures based upon the destination port.
77. The method of claim 76, wherein the particular types of reports include batch reports.
78. The method of claim 76, wherein the particular types of reports include real-time reports.
79. The method of claim 76, wherein the particular types of reports include on-demand reports.
80. The method of claim 76, wherein the first network is a neighborhood area network that adheres to IEEE 802.15.4 protocol.
81. The method of claim 76, wherein the second network is a wide area network that adheres to TCP/IP communications protocol.
82. The method of claim 76, wherein the report adheres to ANSI C12 standards.
83. A method of transmitting data from a smart meter to a communications card for transmission to the collector, the method comprising:
storing one or more lists of data structures in a register at the smart meter;
storing a sequence number for each list in the register at the smart meter, wherein the sequence number is incremented by a predetermined number when a new piece of data is appended to the list;
accessing and downloading new data from the one or more lists to a communications card, wherein the new data has corresponding sequence numbers that have not been previously downloaded;
storing the data and the corresponding sequence number in memory;
creating one or more reports from the new data at the communications card; and
transmitting the one or more reports to the collector, wherein the communications card initiates the transmission.
84. The method of claim 83 further comprising downloading to the communications card other relevant information related to the data comprising data type and frequency of capture of the data.
85. The method of claim 83, wherein the one or more reports adhere to ANSI C12 standards.
86. A method of using a reporting list at a node for transmission to a collector, the method comprising:
creating one or more reports by the node;
appending the one or more reports to a reporting list at the node;
transmitting to the collector a report on the reporting list immediately following a flagged report flagged by a last-transferred-pointer, wherein the transmission is initiated by the collector;
receiving an acknowledgement from the collector; and
updating the last-transferred-pointer;
wherein the last-transferred-pointer is used to determine reports that have not been received by the collector.
87. The method of claim 86, wherein the one or more reports adhere to ANSI C12 protocol.
88. The method of claim 86, wherein the one or more reports are transmitted through a neighborhood area network that adheres to IEEE 802.15.4 protocol.
89. A system for transmitting a report from a node to a head end server, comprising:
means for pre-assigning one or more ports at a collector to receive particular types of reports;
means for transmitting a data packet from the node to the collector over a first network, wherein the data packet includes a header containing a destination port of the collector and the report; and
means for transmitting the data packet from the collector to the head end server over a second network, wherein the collector follows reporting procedures based upon the destination port.
90. The system of claim 89, wherein the means for pre-assigning one or more ports at a collector to receive particular types of reports includes collector source code that has embedded within it collector port assignments.
91. The system of claim 89, wherein the means for transmitting a data packet from the node to the collector over a first network includes a node radio for transmitting the data packet from the node to the collector over the first network.
92. The system of claim 89, wherein the means for transmitting the data packet from the collector to the head end server over a second network includes a collector radio for transmitting the data packet from the collector to the head end server over the second network.
93. A system for transmitting a report from a node to a head end server, comprising:
collector computer code stored in a collector memory for pre-assigning one or more ports at a collector to receive particular types of reports;
a node transmitter for transmitting a data packet from the node to the collector over a first network, wherein the data packet includes a header containing a destination port of the collector and the report; and
a collector transmitter for transmitting the data packet from the collector to the head end server over a second network, wherein the collector follows reporting procedures based upon the destination port.
94. A system for transmitting data from a smart meter to a communications card for transmission to the collector, comprising:
means for storing one or more lists of data structures at the smart meter;
means for storing a sequence number for each list at the smart meter, wherein the sequence number is incremented by a predetermined number when a new piece of data is appended to the list;
means for accessing and downloading new data from the one or more lists to a communications card, wherein the new data has corresponding sequence numbers that have not been previously downloaded;
means for storing the data and the corresponding sequence number;
means for creating one or more reports from the new data at the communications card; and
means for transmitting the one or more reports to the collector, wherein the communications card initiates the transmission.
95. The system of claim 94, wherein the means for storing one or more lists of data structures at the smart meter includes a register.
96. The system of claim 94, wherein the means for storing a sequence number for each list at the smart meter includes a register.
97. The system of claim 94, wherein the means for means for accessing and downloading new data from the one or more lists to a communications card includes a processor for accessing new data and a receiver and for downloading the new data to a memory.
98. The system of claim 94, wherein the means for storing the data and the corresponding sequence number includes a memory.
99. The system of claim 94, wherein the means for creating one or more reports from the new data at the communications card includes a processor for creating one or more reports.
100. The system of claim 94, wherein the means for transmitting the one or more reports to the collector includes a node radio for transmitting the one or more reports to the collector.
101. A system for transmitting data from a smart meter to a communications card for transmission to the collector, comprising:
a register for storing one or more lists of data structures at the smart meter and a sequence number for each list at the smart meter, wherein the sequence number is incremented by a predetermined number when a new data structure is appended to the list;
a processor for accessing data structures on the list and creating one or more reports from the new data at the communications card;
a receiver and a memory for downloading the new data, wherein the new data has corresponding sequence numbers that have not been previously downloaded, and further wherein the memory stores the new data and the corresponding sequence number; and
a node transmitter for transmitting the one or more reports to the collector, wherein the communications card initiates the transmission.
102. A system for using a reporting list at a node for transmission to a collector comprising:
means for creating one or more reports by the node;
means for appending the one or more reports to a reporting list at the node;
means for transmitting to the collector a report on the reporting list immediately following a flagged report flagged by a last-transferred-pointer;
means for receiving an acknowledgement from the collector; and
means for updating the last-transferred-pointer;
wherein the last-transferred-pointer is used to determine reports that have not been received by the collector.
103. The system of claim 102, wherein the means for creating one or more reports by the node includes a node processor for generating one or more reports.
104. The system of claim 102, wherein the means for appending the one or more reports to a reporting list at the node includes a node processor for appending the one or more reports to a reporting list stored in a memory.
105. The system of claim 102, wherein the means for transmitting to the collector a report on the reporting list immediately following a flagged report flagged by a last-transferred-pointer includes a node radio for transmitting to the collector a report on the reporting list immediately following a flagged report flagged by a last-transferred-pointer.
106. The system of claim 102, wherein the means for receiving an acknowledgement from the collector includes a node radio for receiving an acknowledgement from the collector.
107. The system of claim 102, wherein the means for updating the last-transferred-pointer includes a node processor for updating the last-transferred-pointer stored in memory.
108. A system for using a reporting list at a node for transmission to a collector comprising:
a node processor for creating one or more reports by the node, appending the one or more reports to a reporting list at the node, and updating a last-transferred-pointer;
a node transmitter for transmitting to the collector a report on the reporting list immediately following a flagged report flagged by the last-transferred-pointer; and
a node receiver for receiving an acknowledgement from the collector;
wherein the last-transferred-pointer is used to determine reports that have not been received by the collector.
109. A computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of transmitting a report from a node to a head end server, the method comprising:
pre-assigning one or more ports at a collector to receive particular types of reports;
transmitting a data packet from the node to the collector over a first network, wherein the data packet includes a header containing a destination port of the collector and the report; and
transmitting the data packet from the collector to the head end server over a second network, wherein the collector follows reporting procedures based upon the destination port.
110. A computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of transmitting data from a smart meter to a communications card for transmission to the collector, the method comprising:
storing one or more lists of data structures in a register at the smart meter;
storing a sequence number for each list in the register at the smart meter, wherein the sequence number is incremented by a predetermined number when a new piece of data is appended to the list;
accessing and downloading new data from the one or more lists to a communications card, wherein the new data has corresponding sequence numbers that have not been previously downloaded;
storing the data and the corresponding sequence number in memory;
creating one or more reports from the new data at the communications card; and
transmitting the one or more reports to the collector, wherein the communications card initiates the transmission.
111. A computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of using a reporting list at a node for transmission to a collector, the method comprising:
creating one or more reports by the node;
appending the one or more reports to a reporting list at the node;
transmitting to the collector a report on the reporting list immediately following a flagged report flagged by a last-transferred-pointer, wherein the transmission is initiated by the collector;
receiving an acknowledgement from the collector; and
updating the last-transferred-pointer;
wherein the last-transferred-pointer is used to determine reports that have not been received by the collector.
112. A node device for initiating transmission of data to a collector comprising:
a data input/output module for collecting the data;
a memory for storing the data;
a processor for creating a report from the data; and
a radio for transmitting the report to the collector;
wherein the transmission is initiated by the node.
113. The node device of claim 112, wherein the input/output module is a sensor.
114. The node device of claim 112, wherein the input/output module is a thermostat.
115. The node device of claim 112, wherein the radio is a communications card.
116. The node device of claim 112, wherein the report adheres to ANSI C12 standards.
117. The node device of claim 112, further comprising:
a primary power supply for supplying power to the input/output module, the memory, the processor, and the radio; and
a secondary power supply for supplying power to the input/output module, the memory, the processor, and the radio if the primary power supply is interrupted.
118. A collector for receiving a data packet over a first network initiated from a node comprising:
a first radio for receiving the data packet initiated by the node over the first network;
a second radio for transmitting the data packet over a second network to a head end server; and
a memory for storing the data packet to be transmitted to the head end server and used by the processor.
119. The collector of claim 118, wherein the data packet is a report adhering to ANSI C12 standards.
120. The collector of claim 118, wherein the first network is a neighborhood area network adhering to IEEE 802.15.4 protocol.
121. The collector of claim 118, wherein the second network is a wide area network adhering to TCP/IP communications protocol.
122. A method of operating a node that initiates a report to a collector comprising:
collecting data through an input device;
storing the data in a memory;
creating the report from the data; and
transmitting the report to the collector over a first network;
wherein the report is initiated by the node.
123. The method of claim 122, wherein the report adheres to ANSI C12 standards.
124. The method of claim 122, wherein the first network is a neighborhood area network adhering to IEEE 802.15.4 protocol.
125. A method of operating a collector that receives a data packet initiated by a node comprising:
receiving the data packet initiated by the node over a first network addressed to a particular collector port, wherein the data packet comprises a report;
processing the report according to pre-assigned procedures corresponding to the particular collector port; and
transmitting the report to a head end over a second network.
126. The method of claim 125, wherein the first network is a neighborhood area network adhering to IEEE 802.15.4 protocol.
127. The method of claim 125, wherein the second network is a wide area network adhering to TCP/IP communications protocol.
128. The method of claim 125, wherein the report adheres to ANSI C12 standards.
129. The method of claim 125, wherein the collector is device-agnostic and data structure-agnostic.
130. A computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of operating a node that initiates a report to a collector comprising:
collecting data through an input device;
storing the data in a memory;
creating the report from the data; and
transmitting the report to the collector over a first network;
wherein the report is initiated by the node.
131. A computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of operating a collector that receives a data packet initiated by a node comprising:
receiving the data packet initiated by the node over a first network addressed to a particular collector port, wherein the data packet comprises a report;
processing the report according to pre-assigned procedures corresponding to the particular collector port; and
transmitting the report to a head end over a second network.
132. A method of communicating between a plurality of nodes and a collector using checkpoints, comprising:
generating a substantially random time slot within a pre-scheduled reporting time window for each node; and
transmitting data packets from each node to the collector at the node's substantially random time slot within the prescheduled reporting time window.
133. The method of claim 132 further comprising acknowledging receipt of each data packet by the collector.
134. The method of claim 132, wherein the substantially random time slot generated for a particular node is dependent upon an address of the node.
135. The method of claim 132, wherein the substantially random time slot generated for a particular node is dependent upon a manufacturer's serial number for a device at the node, wherein the device is selected from a group consisting of: a meter, a utility-consumption device, and a utility-measuring device.
136. The method of claim 135, wherein the substantially random time slot generated for a particular node is dependent upon a device reading at the particular node.
137. A method of transmitting data packets from a plurality of nodes to a collector, comprising:
generating a first substantially random time slot within a prescheduled reporting time window for each node;
transmitting data packets from each node to the collector at the node's substantially random time slot within the prescheduled reporting time window;
transmitting an acknowledgement from the collector for each received data packet;
generating a second substantially random time slot within a second prescheduled reporting time window for each node that does not receive an acknowledgement from the collector; and
re-transmitting data packets from each node that did not receive the acknowledgement from the collector at the node's second substantially random time slot within the second prescheduled reporting time window.
138. The method of claim 137, wherein the first substantially random time slot and the second substantially random time slot generated for a particular node is based on an address of the node.
139. The method of claim 137, wherein the first substantially random time slot and the second substantially random time slot generated for a particular node is based on a manufacturer's serial number for a device at the node, wherein the device is selected from a group consisting of: a meter, a utility-consumption device, a utility-measuring device, and combinations of these.
140. The method of claim 139, wherein the first substantially random time slot and the second substantially random time slot generated for a particular node is based on a device reading at the particular node.
141. A system for communicating between a plurality of nodes and a collector using checkpoints, comprising:
means for generating a substantially random time slot within a pre-scheduled reporting time window for each node; and
means for transmitting data packets from each node to the collector at the node's substantially random time slot within the prescheduled reporting time window.
142. The system of claim 141, further comprising means for acknowledging receipt of each data packet by the collector.
143. The system of claim 141, wherein the substantially random time slot generated for a particular node is dependent upon an address of the node.
144. The system of claim 141, wherein the substantially random time slot generated for a particular node is dependent upon a manufacturer's serial number for a node device at the node, wherein the node device is selected from a group consisting of: a meter, a utility-consumption device, a utility-measuring device, and combinations of these.
145. The system of claim 141, wherein the substantially random time slot generated for a particular node is dependent upon a device reading at the particular node.
146. The system of claim 141, wherein the means for generating a substantially random time slot within a prescheduled reporting time window for each node comprises a random time slot number generator.
147. The system of claim 141 wherein the means for transmitting data packets from each node to the collector at the node's substantially random time slot comprises a node radio for transmitting data packets from each node to the collector at the node's substantially random time slot.
148. The system of claim 141 wherein the means for acknowledging receipt of each data packet by the collector comprises a collector radio for acknowledging receipt of each data packet by the collector.
149. A system for communicating between a plurality of nodes and a collector using checkpoints, comprising:
a substantially random time slot generator for generating a substantially random time slot within a pre-scheduled reporting time window for each node; and
a node transmitter for transmitting data packets from each node to the collector at the node's substantially random time slot within the prescheduled reporting time window.
150. The system of claim 149, further comprising a collector transmitter for acknowledging receipt of each data packet by the collector.
151. The system of claim 149, wherein the substantially random time slot generated for a particular node is dependent upon an address of the node.
152. The system of claim 149, wherein the substantially random time slot generated for a particular node is dependent upon a manufacturer's serial number for a node device at the node, wherein the node device is selected from a group consisting of: a meter, a utility-consumption device, a utility-measuring device, and combinations of these.
153. The system of claim 149, wherein the substantially random time slot generated for a particular node is dependent upon a device reading at the particular node.
154. A system for transmitting data packets from a plurality of nodes to one collector comprising:
means for generating a first substantially random time slot within a prescheduled reporting time window for each node;
means for transmitting data packets from each node to the collector at the node's substantially random time slot within the prescheduled reporting time window;
means for generating a second substantially random time slot within a second prescheduled reporting time window at each node that does not receive an acknowledgement from the collector; and
means for re-transmitting data packets from each node that did not receive the acknowledgement from the collector at the node's second substantially random time slot within the second prescheduled reporting time window.
155. The system as in claim 154 wherein the means for generating a first substantially random time slot and a second substantially random time slot within a prescheduled reporting time window for each node includes a random time slot number generator.
156. The system as in claim 154, wherein the means for transmitting data packets from each node to the collector at the node's first substantially random time slot and second substantially random time slot includes a transmitter for transmitting data packets from each node to the collector at the node's random time slot.
157. The system as in claim 154, wherein the means for re-transmitting data packets from each node that did not receive the acknowledgement from the collector at the node's second substantially random time slot includes a transmitter for re-transmitting data packets from each node that did not receive the acknowledgement from the collector at the node's substantially second random time slot.
158. A system for transmitting data packets from a plurality of nodes to one collector comprising:
a substantially random time slot generator for generating a first substantially random time slot within a prescheduled reporting time window for each node and for generating a second substantially random time slot within a second prescheduled reporting time window at each node that does not receive an acknowledgement from the collector; and
a transmitter for transmitting data packets from each node to the collector at the node's substantially random time slot within the prescheduled reporting time window and for re-transmitting data packets from each node that did not receive the acknowledgement from the collector at the node's second substantially random time slot within the second prescheduled reporting time window.
159. A computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of communicating between a plurality of nodes and a collector using checkpoints, comprising:
generating a substantially random time slot within a pre-scheduled reporting time window for each node; and
transmitting data packets from each node to the collector at the node's substantially random time slot within the prescheduled reporting time window.
160. A computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of transmitting data packets from a plurality of nodes to a collector, comprising:
generating a first substantially random time slot within a prescheduled reporting time window for each node;
transmitting data packets from each node to the collector at the node's substantially random time slot within the prescheduled reporting time window;
transmitting an acknowledgement from the collector for each received data packet;
generating a second substantially random time slot within a second prescheduled reporting time window for each node that does not receive an acknowledgement from the collector; and
re-transmitting data packets from each node that did not receive the acknowledgement from the collector at the node's second substantially random time slot within the second prescheduled reporting time window.
161. A method of synchronizing a data request between a head end server and a collector comprising:
transmitting from the head end server a first read request for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector;
transmitting the first table from the collector to the head end server;
transmitting from the head end server a write request, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last received report from each node stored in a database at the head end server;
accepting the write request if the write request is proper;
transmitting from the head end server a second read request for new reports; and
transmitting the new reports from the collector to the head end server.
162. The method of claim 161, wherein the elements of the first table comprise ApTitles corresponding to each node.
163. The method of claim 162, further comprising compressing the first table prior to transmitting to the head end server.
164. The method of claim 162, further comprising compressing new reports prior to transmitting to the head end server.
165. The method of claim 162, further comprising authenticating the head end server.
166. The method of claim 162, wherein the write request is proper if the head end server has permission to access the new reports.
167. A system for synchronizing a data request between a head end server and a collector comprising:
means for transmitting from the head end server a first read request for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector;
means for transmitting the first table from the collector to the head end server;
means for transmitting from the head end server a write request, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last received report from each node stored in a database at the head end server;
means for accepting the write request if the write request is proper;
means for transmitting from the head end server a second read request for new reports; and
means for transmitting the new reports from the collector to the head end server.
168. The system of claim 167, wherein the elements of the first table comprise ApTitles corresponding to each node.
169. The system of claim 167, further comprising means for compressing the first table prior to transmitting to the head end server.
170. The system of claim 167, further comprising means for compressing new reports prior to transmitting to the head end server.
171. The system of claim 167, further comprising means for authenticating the head end server.
172. The system of claim 167, wherein the write request is proper if the head end server has permission to access the new reports.
173. The system of claim 167, wherein the means for transmitting a first read request from the head end server for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector includes a head end server transmitter for transmitting the first read request.
174. The system of claim 167, wherein the means for transmitting the first table from the collector to the head end server includes a head end server transmitter for transmitting the first table to the head end server.
175. The system of claim 167, wherein the means for transmitting a write request from the head end server includes a head end server transmitter for transmitting the write request.
176. The system of claim 167, wherein the means for accepting the write request if the write request is proper includes a collector processor for accepting the write request.
177. The system of claim 167, wherein the means for transmitting from the head end server a second read request for new reports includes a head end server transmitter for transmitting a second read request for new reports.
178. The system of claim 167, wherein the means for transmitting the new reports from the collector to the head end server includes a collector transmitter for transmitting new reports.
179. The system of claim 167, wherein the means for compressing first table prior to transmitting to the head end server includes a processor for applying compression algorithms for compressing the first table.
180. The system of claim 167, wherein the means for compressing new reports prior to transmitting to the head end server includes a processor for executing compression algorithms for compressing new reports.
181. The system of claim 167, wherein the means for authenticating the head end server includes a processor for authenticating the head end server.
182. A system for synchronizing a data request between a head end server and a collector comprising:
(a) a head end server transmitter for transmitting:
a first read request for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector;
a write request, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last received report from each node stored in a database at the head end server; and
a second read request for new reports;
(b) a collector transmitter for transmitting:
the first table to the head end server; and
the new reports to the head end server; and
(c) a collector receiver and a collector processor for accepting the write request if the write request is proper.
183. The system of claim 182, wherein the elements of the first table comprise ApTitles corresponding to each node.
184. The system of claim 182, wherein the collector processor compresses the first table using one or more compression algorithms prior to transmitting to the head end server.
185. The system of claim 182, wherein the collector processor compresses new reports using one or more compression algorithms prior to transmitting to the head end server.
186. The system of claim 182, wherein the collector processor authenticates the head end server based upon information stored in a collector memory.
187. The system of claim 182, wherein the write request is proper if the head end server has permission to access the new reports.
188. A computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of synchronizing a data request between a head end server and a collector comprising:
transmitting from the head end server a first read request for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector;
transmitting the first table from the collector to the head end server;
transmitting from the head end server a write request, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last received report from each node stored in a database at the head end server;
accepting the write request if the write request is proper;
transmitting from the head end server a second read request for new reports; and
transmitting the new reports from the collector to the head end server.
189. A method of synchronizing a data request between a head end server and a collector comprising:
transmitting from the head end server a first read request for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector;
receiving by the head end server the first table from the collector;
transmitting from the head end server a write request, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last received report from each node stored in a database at the head end server;
transmitting from the head end server a second read request for new reports; and
receiving the new reports from the collector.
190. A method of synchronizing a data request between a head end server and a collector comprising:
receiving by the collector from the head end server a first read request for a first table, wherein elements in the first table correspond to nodes serviced by the collector;
transmitting the first table from the collector to the head end server;
receiving by the collector from the head end server a write request, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last received report from each node stored in a database at the head end server;
accepting by the collector the write request if the write request is proper;
receiving by the collector from the head end server a second read request for new reports; and
transmitting the new reports from the collector to the head end server.
191. A computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of synchronizing a data request between a head end server and a collector comprising:
transmitting from the head end server a first read request for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector;
receiving by the head end server the first table from the collector;
transmitting from the head end server a write request, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last received report from each node stored in a database at the head end server;
transmitting from the head end server a second read request for new reports; and
receiving the new reports from the collector.
192. A computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of synchronizing a data request between a head end server and a collector comprising:
receiving by the collector from the head end server a first read request for a first table, wherein elements in the first table correspond to nodes serviced by the collector;
transmitting the first table from the collector to the head end server;
receiving by the collector from the head end server a write request, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last received report from each node stored in a database at the head end server;
accepting by the collector the write request if the write request is proper;
receiving by the collector from the head end server a second read request for new reports; and
transmitting the new reports from the collector to the head end server.
193. The method of claim 162, wherein the ApTitle includes the application process title of a node and corresponds to the address of the node; and wherein the ApTitle of a node within a particular collector sub-network uniquely identifies that node.
194. The system of claim 168, wherein the ApTitle includes the application process title of a node and corresponds to the address of the node; and wherein the ApTitle of a node within a particular collector sub-network uniquely identifies that node.
195. The computer program of claim 183, wherein the ApTitle includes the application process title of a node and corresponds to the address of the node; and wherein the ApTitle of a node within a particular collector sub-network uniquely identifies that node.
196. A method of recovering loss of data at a head end server's database comprising:
transmitting a first read request from the head end server for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector;
transmitting the first table from the collector to the head end server; transmitting a write request from the head end server, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last available report from each node stored in a database at the head end server after the loss of data;
accepting the write request if the write request is proper;
transmitting from the head end server a second read request for lost reports; and
transmitting the lost reports from the collector to the head end server.
197. The method of claim 196, wherein the elements of the first table comprise ApTitles corresponding to each node.
198. The method of claim 196, further comprising compressing the first table prior to transmitting to the head end server.
199. The method of claim 196, further comprising compressing lost reports prior to transmitting to the head end server.
200. The method of claim 196, further comprising authenticating the head end server.
201. The method of claim 197, wherein the write request is proper if the head end server has permission to access the lost reports.
202. A method of recovering from a collector failure comprising:
seeking a new collector by a node associated with the failed collector; and
transmitting one or more reports from the node's reporting list.
203. The method of claim 202, wherein transmitting reports from the node's reporting list includes reports immediately following a flagged report flagged by a last-transferred-pointer.
204. The method of claim 202, further comprising:
receiving an acknowledgment from the new collector for each report received by the new collector; and
updating the last-transferred-pointer to flag the last report acknowledged by the new collector.
205. A system for recovering from a collector failure comprising:
means for seeking a new collector by a node associated with the failed collector; and
means for transmitting one or more reports from the node's reporting list.
206. The system of claim 205, wherein the means for seeking the new collector by the node includes a receiver for detecting active networks and receiving responses from the new collector, a transmitter for transmitting a request for association, and a processor to run software for associating with a new collector.
207. The system of claim 205, wherein the means for transmitting reports from the node's reporting list includes a transmitter for transmitting reports.
208. The system of claim 205, wherein transmitting reports from the node's reporting list includes reports immediately following a flagged report flagged by a last-transferred-pointer.
209. The system of claim 205, further comprising:
means for receiving an acknowledgment from the new collector for each report received by the new collector; and
means for updating the last-transferred-pointer to flag the last report acknowledged by the new collector.
210. The system of claim 209, wherein the means for acknowledging receipt of the transmitted reports by the new collector includes a receiver for acknowledging receipt of the transmitted reports by the new collector.
211. The system of claim 209, wherein the means for updating the last-transferred-pointer to flag the last report acknowledged by the new collector includes a processor for updating the last-transferred-pointer.
212. A system for recovering from a collector failure comprising:
a radio and a microcontroller for seeking a new collector by a node associated with the failed collector and transmitting one or more reports from the node's reporting list.
213. The system of claim 212, further comprising:
a processor for updating the last-transferred-pointer to flag the last report acknowledged by the new collector; and
wherein the radio receives an acknowledgment from the new collector for each report received by the new collector.
214. The system of claim 212 wherein transmitting reports from the node's reporting list includes reports immediately following a flagged report flagged by a last-transferred-pointer.
215. A system for recovering loss of data at a head end server comprising:
means for transmitting a first read request from the head end server for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector;
means for transmitting the first table from the collector to the head end server;
means for transmitting a write request from the head end server, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last available report from each node stored in a database at the head end server after the loss of data;
means for accepting the write request if the write request is proper;
means for transmitting from the head end server a second read request for lost reports; and
means for transmitting the lost reports from the collector to the head end server.
216. The system of claim 215, wherein the elements of the first table comprise ApTitles corresponding to each node.
217. The system of claim 215, wherein the means for transmitting a first read request from the head end server for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector includes a head end server transmitter for transmitting a first request.
218. The system of claim 215, wherein the means for transmitting the first table from the collector to the head end server includes a collector transmitter for transmitting the first table.
219. The system of claim 215, wherein the means for transmitting a write request from the head end server, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last available report from each node stored in a database at the head end server after the loss of data includes a head end server transmitter for transmitting the write request.
220. The system of claim 215, wherein the means for accepting the write request if the write request is proper includes a collector processor for accepting the write request.
221. The system of claim 215, wherein the means for transmitting from the head end server a second read request for lost reports includes a head end server transmitter for transmitting the second read request.
222. The system of claim 215, wherein the means for transmitting the lost reports from the collector to the head end server includes a collector transmitter for transmitting the lost reports.
223. A system for recovering loss of data at a head end server comprising:
a head end server transmitter for transmitting:
a first read request for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector;
a write request, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last available report from each node stored in a database at the head end server after the loss of data; and
a second read request for lost reports; and
a collector transmitter for transmitting:
the first table from the collector to the head end server; and
the lost reports from the collector to the head end server; and
a collector receiver and a collector processor for accepting the write request if the write request is proper.
224. The system of claim 223, wherein the elements of the first table comprise ApTitles corresponding to each node.
225. A computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of recovering loss of data at a head end server's database comprising:
transmitting a first read request from the head end server for a first table from the collector, wherein elements in the first table correspond to nodes serviced by the collector;
transmitting the first table from the collector to the head end server;
transmitting a write request from the head end server, wherein the write request includes a second table comprising last sequence numbers, and each last sequence number uniquely corresponds to a last available report from each node stored in a database at the head end server after the loss of data;
accepting the write request if the write request is proper;
transmitting from the head end server a second read request for lost reports; and
transmitting the lost reports from the collector to the head end server.
226. A computer program product stored in a computer readable media for execution in a processor and memory coupled to the processor for performing a method of recovering from a collector failure comprising:
seeking a new collector by a node associated with the failed collector; and
transmitting one or more reports from the node's reporting list.
US12/275,242 2007-11-25 2008-11-21 Collector device and system utilizing standardized utility metering protocol Abandoned US20090135836A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/275,242 US20090135836A1 (en) 2007-11-25 2008-11-21 Collector device and system utilizing standardized utility metering protocol

Applications Claiming Priority (28)

Application Number Priority Date Filing Date Title
US98995207P 2007-11-25 2007-11-25
US98995307P 2007-11-25 2007-11-25
US98997507P 2007-11-25 2007-11-25
US98996407P 2007-11-25 2007-11-25
US98995007P 2007-11-25 2007-11-25
US98995107P 2007-11-25 2007-11-25
US98995407P 2007-11-25 2007-11-25
US98996207P 2007-11-25 2007-11-25
US98996707P 2007-11-25 2007-11-25
US98996107P 2007-11-25 2007-11-25
US98995507P 2007-11-25 2007-11-25
US98995807P 2007-11-25 2007-11-25
US98995907P 2007-11-25 2007-11-25
US98995707P 2007-11-25 2007-11-25
US99231207P 2007-12-04 2007-12-04
US99231307P 2007-12-04 2007-12-04
US99231507P 2007-12-04 2007-12-04
US2527808P 2008-01-31 2008-01-31
US2528708P 2008-01-31 2008-01-31
US2527308P 2008-01-31 2008-01-31
US2527708P 2008-01-31 2008-01-31
US2527108P 2008-01-31 2008-01-31
US2528208P 2008-01-31 2008-01-31
US2527008P 2008-01-31 2008-01-31
US2527608P 2008-01-31 2008-01-31
US2527908P 2008-01-31 2008-01-31
US9411608P 2008-09-04 2008-09-04
US12/275,242 US20090135836A1 (en) 2007-11-25 2008-11-21 Collector device and system utilizing standardized utility metering protocol

Publications (1)

Publication Number Publication Date
US20090135836A1 true US20090135836A1 (en) 2009-05-28

Family

ID=40667803

Family Applications (7)

Application Number Title Priority Date Filing Date
US12/275,305 Abandoned US20090135851A1 (en) 2007-11-25 2008-11-21 Transport layer and model for an advanced metering infrastructure (ami) network
US12/275,257 Abandoned US20090135843A1 (en) 2007-11-25 2008-11-21 System and method for operating mesh devices in multi-tree overlapping mesh networks
US12/275,252 Abandoned US20090138617A1 (en) 2007-11-25 2008-11-21 Method and system for creating and managing association and balancing of a mesh device in a mesh network
US12/275,238 Active 2029-01-06 US8144596B2 (en) 2007-11-25 2008-11-21 Communication and message route optimization and messaging in a mesh network
US12/275,236 Abandoned US20090135762A1 (en) 2007-11-25 2008-11-21 Point-to-point communication within a mesh network
US12/275,242 Abandoned US20090135836A1 (en) 2007-11-25 2008-11-21 Collector device and system utilizing standardized utility metering protocol
US13/349,779 Expired - Fee Related US8780763B2 (en) 2007-11-25 2012-01-13 Communication and message route optimization and messaging in a mesh network

Family Applications Before (5)

Application Number Title Priority Date Filing Date
US12/275,305 Abandoned US20090135851A1 (en) 2007-11-25 2008-11-21 Transport layer and model for an advanced metering infrastructure (ami) network
US12/275,257 Abandoned US20090135843A1 (en) 2007-11-25 2008-11-21 System and method for operating mesh devices in multi-tree overlapping mesh networks
US12/275,252 Abandoned US20090138617A1 (en) 2007-11-25 2008-11-21 Method and system for creating and managing association and balancing of a mesh device in a mesh network
US12/275,238 Active 2029-01-06 US8144596B2 (en) 2007-11-25 2008-11-21 Communication and message route optimization and messaging in a mesh network
US12/275,236 Abandoned US20090135762A1 (en) 2007-11-25 2008-11-21 Point-to-point communication within a mesh network

Family Applications After (1)

Application Number Title Priority Date Filing Date
US13/349,779 Expired - Fee Related US8780763B2 (en) 2007-11-25 2012-01-13 Communication and message route optimization and messaging in a mesh network

Country Status (4)

Country Link
US (7) US20090135851A1 (en)
EP (2) EP2215555A4 (en)
CA (2) CA2705093A1 (en)
WO (6) WO2009067251A1 (en)

Cited By (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100145534A1 (en) * 2007-08-28 2010-06-10 Forbes Jr Joseph W System and method for determining and utilizing customer energy profiles for load control for individual structures, devices, and aggregation of same
US20100145544A1 (en) * 2007-08-28 2010-06-10 Forbes Jr Joseph W System and method for selective disconnection of electrical service to end customers
US20100191862A1 (en) * 2007-08-28 2010-07-29 Forbes Jr Joseph W System and method for priority delivery of load management messages on ip-based networks
US20100198713A1 (en) * 2007-08-28 2010-08-05 Forbes Jr Joseph W System and method for manipulating controlled energy using devices to manage customer bills
US20100271178A1 (en) * 2009-04-28 2010-10-28 Rizwan Ahmad Remote monitoring and control of led based street lights
US20100293278A1 (en) * 2009-05-18 2010-11-18 Microsoft Corporation Synchronizing Tasks between Servers
US20110035510A1 (en) * 2009-08-07 2011-02-10 Cooper Technologies Company Methods and Apparatus Related to an Adapter Between a Premise Network and an Advanced Metering Infrastructure (AMI) Network
US20110046800A1 (en) * 2009-08-21 2011-02-24 Imes Kevin R Energy Management System And Method
US20110080845A1 (en) * 2009-10-07 2011-04-07 Chun-Hsu Su Intelligent Node-Matching And Control Configuration For The Wireless Network
WO2011043818A2 (en) 2009-10-09 2011-04-14 Consert Inc. Apparatus and method for controlling communications to and from utility service points
US20110095867A1 (en) * 2009-04-28 2011-04-28 Rizwan Ahmad Remote monitoring and control of led based street lights
US20110173457A1 (en) * 2009-08-14 2011-07-14 Jeffrey Reh Enhanced security for over the air (ota) firmware changes
US20110188452A1 (en) * 2010-01-29 2011-08-04 Elster Solutions, Llc Mesh infrastructure utilizing alternative communication paths
US8010812B2 (en) 2007-08-28 2011-08-30 Forbes Jr Joseph W Method and apparatus for actively managing consumption of electric power supplied by one or more electric utilities
US20110299684A1 (en) * 2010-06-03 2011-12-08 Digi International Inc. Smart energy network configuration using an auxiliary gateway
US20120002669A1 (en) * 2009-03-24 2012-01-05 IHP GmbH-Innovations for High Performance Microelectronics/Leibniz-Institut fur innovative Protocol accelerator module with packet forwarding function and a method of transceiver operation for rapid forwarding of data packets
US20120131324A1 (en) * 2010-11-18 2012-05-24 General Electric Company System and method of communication using a smart meter
US20120130659A1 (en) * 2010-11-22 2012-05-24 Sap Ag Analysis of Large Data Sets Using Distributed Polynomial Interpolation
US20120147802A1 (en) * 2010-06-18 2012-06-14 Yosuke Ukita Communication apparatus and communication method
US20120280831A1 (en) * 2011-05-05 2012-11-08 General Electric Company Calculation of auxiliary value based on meter data from non-smart electronic utility meter
US8396606B2 (en) 2007-08-28 2013-03-12 Consert Inc. System and method for estimating and providing dispatchable operating reserve energy capacity through use of active load management
US20130093601A1 (en) * 2011-10-13 2013-04-18 General Electric Company Method, system and device of multicast functionality in an energy portal
US20130121384A1 (en) * 2011-11-10 2013-05-16 General Electric Company Utility powered communications gateway
US8527107B2 (en) 2007-08-28 2013-09-03 Consert Inc. Method and apparatus for effecting controlled restart of electrical servcie with a utility service area
US20130297771A1 (en) * 2012-05-04 2013-11-07 Itron, Inc. Coordinated collection of metering data
US8595094B1 (en) * 2012-10-24 2013-11-26 Causam Holdings, LLC System, method, and apparatus for settlement for participation in an electric power grid
US20140023053A1 (en) * 2011-04-29 2014-01-23 Lg Electronics Inc. Channel Access Method And Apparatus Using The Same In Wireless Local Area Network System
US20140032741A1 (en) * 2012-07-27 2014-01-30 Microsoft Corporation Distributed aggregation of real-time metrics for large scale distributed systems
US8700187B2 (en) 2007-08-28 2014-04-15 Consert Inc. Method and apparatus for actively managing consumption of electric power supplied by one or more electric utilities
US8805552B2 (en) 2007-08-28 2014-08-12 Causam Energy, Inc. Method and apparatus for actively managing consumption of electric power over an electric power grid
US8806239B2 (en) 2007-08-28 2014-08-12 Causam Energy, Inc. System, method, and apparatus for actively managing consumption of electric power supplied by one or more electric power grid operators
US20140267296A1 (en) * 2013-03-15 2014-09-18 Fluke Corporation Automated Combined Display of Measurement Data
US8890505B2 (en) 2007-08-28 2014-11-18 Causam Energy, Inc. System and method for estimating and providing dispatchable operating reserve energy capacity through use of active load management
US8901846B2 (en) 2009-04-28 2014-12-02 Dialight Corporation Method and apparatus for multi-zoned illumination
US8996183B2 (en) 2007-08-28 2015-03-31 Consert Inc. System and method for estimating and providing dispatchable operating reserve energy capacity through use of active load management
US20150097698A1 (en) * 2012-03-28 2015-04-09 Gemalto Sa Method, device and system for managing a provision of energy
US20150178832A1 (en) * 2013-12-19 2015-06-25 Chicago Mercantile Exchange Inc. Deterministic and efficient message packet management
US9130402B2 (en) 2007-08-28 2015-09-08 Causam Energy, Inc. System and method for generating and providing dispatchable operating reserve energy capacity through use of active load management
US9177323B2 (en) 2007-08-28 2015-11-03 Causam Energy, Inc. Systems and methods for determining and utilizing customer energy profiles for load control for individual structures, devices, and aggregation of same
US9207698B2 (en) 2012-06-20 2015-12-08 Causam Energy, Inc. Method and apparatus for actively managing electric power over an electric power grid
US9209652B2 (en) 2009-08-21 2015-12-08 Allure Energy, Inc. Mobile device with scalable map interface for zone based energy management
US20150382278A1 (en) * 2014-06-25 2015-12-31 Michael F. Fallon Techniques for Generating a Routing Table for a Mesh Network Having Ad Hoc Connections
US9360874B2 (en) 2009-08-21 2016-06-07 Allure Energy, Inc. Energy management system and method
US20160161966A1 (en) * 2014-12-05 2016-06-09 Lahav Gil Apparatus for chargeable electrical device and/or electrical device, and electrical grid
US9513648B2 (en) 2012-07-31 2016-12-06 Causam Energy, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US9563215B2 (en) 2012-07-14 2017-02-07 Causam Energy, Inc. Method and apparatus for actively managing electric power supply for an electric power grid
US20170118667A1 (en) * 2015-05-14 2017-04-27 Telefonaktiebolaget Lm Ericsson (Publ) System and methods for providing monitoring services
US20170126820A1 (en) * 2015-10-30 2017-05-04 Carolyn B. McClain Service usage metering techniques
US9644991B2 (en) 2012-10-01 2017-05-09 Cooper Technologies Company System and method for support of one-way endpoints in two-way wireless networks
US9716530B2 (en) 2013-01-07 2017-07-25 Samsung Electronics Co., Ltd. Home automation using near field communication
US9766270B2 (en) 2013-12-30 2017-09-19 Fluke Corporation Wireless test measurement
US9800463B2 (en) 2009-08-21 2017-10-24 Samsung Electronics Co., Ltd. Mobile energy management system
US10063499B2 (en) 2013-03-07 2018-08-28 Samsung Electronics Co., Ltd. Non-cloud based communication platform for an environment control system
US10095659B2 (en) 2012-08-03 2018-10-09 Fluke Corporation Handheld devices, systems, and methods for measuring parameters
US10129383B2 (en) 2014-01-06 2018-11-13 Samsung Electronics Co., Ltd. Home management system and method
US10135628B2 (en) 2014-01-06 2018-11-20 Samsung Electronics Co., Ltd. System, device, and apparatus for coordinating environments using network devices and remote sensory information
US10250520B2 (en) 2011-08-30 2019-04-02 Samsung Electronics Co., Ltd. Customer engagement platform and portal having multi-media capabilities
US10278113B2 (en) 2014-01-17 2019-04-30 Eaton Intelligent Power Limited Dynamically-selectable multi-modal modulation in wireless multihop networks
US10295969B2 (en) 2007-08-28 2019-05-21 Causam Energy, Inc. System and method for generating and providing dispatchable operating reserve energy capacity through use of active load management
US10310534B2 (en) 2012-07-31 2019-06-04 Causam Energy, Inc. System, method, and data packets for messaging for electric power grid elements over a secure internet protocol network
US10547178B2 (en) 2012-06-20 2020-01-28 Causam Energy, Inc. System and methods for actively managing electric power over an electric power grid
US10679131B2 (en) 2012-07-12 2020-06-09 Eaton Intelligent Power Limited System and method for efficient data collection in distributed sensor measurement systems
US10678279B2 (en) 2012-08-01 2020-06-09 Tendril Oe, Llc Optimization of energy use through model-based simulations
US10768653B2 (en) 2012-06-20 2020-09-08 Causam Holdings, LLC System and methods for actively managing electric power over an electric power grid and providing revenue grade data usable for settlement
US10782666B2 (en) 2013-02-06 2020-09-22 Tendril Ea, Llc Dynamically adaptive personalized smart energy profiles
US10791020B2 (en) 2016-02-24 2020-09-29 Delta Energy & Communications, Inc. Distributed 802.11S mesh network using transformer module hardware for the capture and transmission of data
US10861112B2 (en) 2012-07-31 2020-12-08 Causam Energy, Inc. Systems and methods for advanced energy settlements, network-based messaging, and applications supporting the same on a blockchain platform
US10866568B2 (en) 2016-04-01 2020-12-15 Tendril Oe, Llc Orchestrated energy
US10911256B2 (en) 2008-09-08 2021-02-02 Tendril Ea, Llc Consumer directed energy management systems and methods
US10951962B2 (en) 2015-08-10 2021-03-16 Delta Energy & Communications, Inc. Data transfer facilitation to and across a distributed mesh network using a hybrid TV white space, Wi-Fi and advanced metering infrastructure construct
US11004160B2 (en) 2015-09-23 2021-05-11 Causam Enterprises, Inc. Systems and methods for advanced energy network
US11042141B2 (en) 2013-02-12 2021-06-22 Uplight, Inc. Setpoint adjustment-based duty cycling
US11149975B2 (en) 2019-07-24 2021-10-19 Uplight, Inc. Adaptive thermal comfort learning for optimized HVAC control
US11162813B2 (en) * 2018-12-14 2021-11-02 Diehl Metering Systems Gmbh Method for collecting data and sensor, data collector and measurement data information network
US11172273B2 (en) 2015-08-10 2021-11-09 Delta Energy & Communications, Inc. Transformer monitor, communications and data collection device
US11196621B2 (en) * 2015-10-02 2021-12-07 Delta Energy & Communications, Inc. Supplemental and alternative digital data delivery and receipt mesh net work realized through the placement of enhanced transformer mounted monitoring devices
US11245969B2 (en) * 2018-12-14 2022-02-08 Diehl Metering Systems Gmbh Method for collecting data, sensor and supply network
RU2768271C2 (en) * 2018-10-04 2022-03-23 Телефонактиеболагет Лм Эрикссон (Пабл) Sending reports by wireless communication device
WO2022079543A3 (en) * 2020-10-15 2022-05-19 Rathod Yogesh A user application store for uploading, generating, verifying,publishing applications and making the same available for other users of the network
US11399222B2 (en) * 2018-12-14 2022-07-26 Diehl Metering Systems Gmbh Method for collecting data, sensor and supply network
US11425473B2 (en) * 2018-12-14 2022-08-23 Diehl Metering Systems Gmbh Method for collecting data and sensor, data collector and measurement data information network
US11473802B2 (en) * 2018-01-29 2022-10-18 Lennox Industries Inc. Auto addressing for HVAC secondary units
US11651340B1 (en) * 2015-11-16 2023-05-16 Wells Fargo Bank, N.A. Integrated utility distribution and automated billing
US11711799B2 (en) 2014-10-10 2023-07-25 Telefonaktiebolaget Lm Ericsson (Publ) Wireless device reporting
US11889239B2 (en) 2014-06-03 2024-01-30 Applied Minds, Llc Color night vision cameras, systems, and methods thereof

Families Citing this family (122)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
WO2009055061A1 (en) 2007-10-25 2009-04-30 Trilliant Networks, Inc. Gas meter having ultra-sensitive magnetic material retrofitted onto meter dial and method for performing meter retrofit
EP2215556B1 (en) 2007-11-25 2019-08-28 Trilliant Networks, Inc. System and method for transmitting power status notifications in an advanced metering infrastructure network
CA2705093A1 (en) 2007-11-25 2009-05-28 Trilliant Networks, Inc. Communication and message route optimization and messaging in a mesh network
US8332055B2 (en) 2007-11-25 2012-12-11 Trilliant Networks, Inc. Energy use control system and method
KR100932923B1 (en) * 2007-12-17 2009-12-21 한국전자통신연구원 Method and device for setting routing path in wireless sensor network
WO2009094264A2 (en) * 2008-01-24 2009-07-30 Firetide, Inc. Channel assignment for wireless access networks
WO2010027495A1 (en) 2008-09-04 2010-03-11 Trilliant Networks, Inc. A system and method for implementing mesh network communications using a mesh network protocol
US8462707B2 (en) * 2008-10-01 2013-06-11 Digi International Inc. Joining a mesh network in a multiple network environment
US8289182B2 (en) 2008-11-21 2012-10-16 Trilliant Networks, Inc. Methods and systems for virtual energy management display
US9014736B2 (en) * 2008-11-24 2015-04-21 Plantronics, Inc. Portable network device for the discovery of nearby devices and services
WO2010105038A1 (en) 2009-03-11 2010-09-16 Trilliant Networks, Inc. Process, device and system for mapping transformers to meters and locating non-technical line losses
EP2228627B1 (en) * 2009-03-13 2013-10-16 Actaris SAS System to assist the deployment of a fixed network for remote reading of meters
TWI410077B (en) * 2009-04-14 2013-09-21 Univ Nat Chiao Tung Method of Wrapping Method and Winding Path in Wireless Network Environment
KR101237502B1 (en) * 2009-04-16 2013-02-27 연세대학교 산학협력단 Scheduling method and synchronization method for scheduling information in ad hoc networks
US8121136B2 (en) 2009-06-24 2012-02-21 Cisco Technology, Inc. Dynamic discovery mechanisms via inter-domain routing protocol
KR101572267B1 (en) * 2009-06-25 2015-11-26 삼성전자주식회사 System and method for mutual authentication between node and sink in the sensor network
US8217805B2 (en) * 2009-09-01 2012-07-10 Harris Corporation Address stripping in a meter reading wireless mesh network and associated system
US8781462B2 (en) * 2009-09-28 2014-07-15 Itron, Inc. Methodology and apparatus for validating network coverage
US8532272B2 (en) 2009-10-21 2013-09-10 Comcast Cable Communications, Llc Service entry device
WO2011064865A1 (en) * 2009-11-26 2011-06-03 株式会社 東芝 Energy management apparatus and energy management system
US8855102B2 (en) * 2010-01-29 2014-10-07 Elster Solutions, Llc Wireless communications providing interoperability between devices capable of communicating at different data rates
US8938201B2 (en) * 2010-04-16 2015-01-20 Spirent Communications, Inc. WiFi positioning bench test method and instrument
WO2012014294A1 (en) * 2010-07-28 2012-02-02 富士通株式会社 Key setting method, node, and network system
JP5408354B2 (en) * 2010-07-28 2014-02-05 富士通株式会社 Key setting method, node, and network system
WO2012014039A2 (en) * 2010-07-30 2012-02-02 Accenture Global Services Limited Intelligent core engine
CA2809034A1 (en) 2010-08-27 2012-03-01 Randy Frei System and method for interference free operation of co-located tranceivers
US9794220B2 (en) * 2010-08-31 2017-10-17 Comcast Cable Communications, Llc Wireless extension of broadband access
CA2813534A1 (en) 2010-09-13 2012-03-22 Trilliant Networks, Inc. Process for detecting energy theft
US8718798B2 (en) * 2010-11-09 2014-05-06 General Electric Company Gateway mirroring of metering data between zigbee networks
WO2012068045A2 (en) 2010-11-15 2012-05-24 Trilliant Holdings Inc. System and method for securely communicating across multiple networks using a single radio
US8667060B2 (en) * 2010-11-23 2014-03-04 General Electric Company Data collection from utility meters over advanced metering infrastructure
PT105400A (en) * 2010-11-24 2012-05-24 Portugal Telecom Inovacao S A CONCENTRATOR FOR SENSOR NETWORKS AND REMOTE ACCOUNTERS, SUPPORTING VARIOUS NETWORK ACCESS TECHNOLOGIES, WITH AUTOMATIC RECOVERY STRATEGIES AND SECURITY ACCESS TO SENSORS
GB2486016A (en) * 2010-12-02 2012-06-06 Sony Corp Control of storage devices in an electric power network
US8863256B1 (en) 2011-01-14 2014-10-14 Cisco Technology, Inc. System and method for enabling secure transactions using flexible identity management in a vehicular environment
WO2012097204A1 (en) 2011-01-14 2012-07-19 Trilliant Holdings, Inc. Process, device and system for volt/var optimization
WO2012103072A2 (en) 2011-01-25 2012-08-02 Trilliant Holdings, Inc. Aggregated real-time power outages/restoration reporting (rtpor) in a secure mesh network
EP3285458B1 (en) 2011-02-10 2022-10-26 Trilliant Holdings, Inc. Device and method for facilitating secure communications over a cellular network
US9041349B2 (en) 2011-03-08 2015-05-26 Trilliant Networks, Inc. System and method for managing load distribution across a power grid
US8462641B2 (en) * 2011-03-23 2013-06-11 General Electric Company Power loss packet priority
US9151654B2 (en) 2011-04-26 2015-10-06 Sensus Usa Inc. Method and apparatus for capturing energy from a meter reading device
US8683027B2 (en) * 2011-06-08 2014-03-25 International Business Machines Corporation Utilization of uncertainty dependency relationships between items in a data stream
US9264349B2 (en) * 2011-07-05 2016-02-16 Cisco Technology, Inc. Dynamic enabling of routing devices in shared-media communication networks
US20130027217A1 (en) * 2011-07-29 2013-01-31 General Electric Company Systems, Methods, and Apparatus for Automatically Configuring a Utility Meter
US8619801B2 (en) * 2011-07-29 2013-12-31 International Business Machines Corporation Sharing a transmission control protocol port by a plurality of applications
US8717887B2 (en) * 2011-08-08 2014-05-06 Telefonaktiebolaget Lm Ericsson (Publ) Scrambling code planning device and method for using same in wireless communication network
JP2013055451A (en) * 2011-09-02 2013-03-21 Hitachi Kokusai Electric Inc Radio sensor network system
US9082294B2 (en) * 2011-09-14 2015-07-14 Enernoc, Inc. Apparatus and method for receiving and transporting real time energy data
US9001787B1 (en) 2011-09-20 2015-04-07 Trilliant Networks Inc. System and method for implementing handover of a hybrid communications module
US10200476B2 (en) 2011-10-18 2019-02-05 Itron, Inc. Traffic management and remote configuration in a gateway-based network
US8717943B2 (en) 2011-10-18 2014-05-06 Itron, Inc. Peer-to-peer communications in AMI with source-tree routing
KR20130127016A (en) * 2012-04-06 2013-11-22 한국전자통신연구원 Apparatus and method for controlling packet flow in multi-stage switch
US9515920B2 (en) * 2012-04-20 2016-12-06 Futurewei Technologies, Inc. Name-based neighbor discovery and multi-hop service discovery in information-centric networks
EP2663089A1 (en) * 2012-05-07 2013-11-13 Kamstrup A/S Consumption meter with remote control program update
FI124786B (en) * 2012-07-18 2015-01-30 Arm Finland Oy Method and device for exchanging messages
EP2687815A1 (en) * 2012-07-20 2014-01-22 Hexagon Technology Center GmbH Measurement machine communication
US9594384B2 (en) 2012-07-26 2017-03-14 Honeywell International Inc. Method of associating an HVAC controller with an external web service
US9477239B2 (en) 2012-07-26 2016-10-25 Honeywell International Inc. HVAC controller with wireless network based occupancy detection and control
US9247378B2 (en) 2012-08-07 2016-01-26 Honeywell International Inc. Method for controlling an HVAC system using a proximity aware mobile device
KR20150063072A (en) 2012-09-14 2015-06-08 실버스미스 인코퍼레이티드 Data packet transport and delivery system and method
US9689710B2 (en) * 2012-09-21 2017-06-27 Silver Spring Networks, Inc. Power outage notification and determination
US20140089481A1 (en) * 2012-09-27 2014-03-27 Timothy Verrall Device broker with dynamic connectivity determination
US9730108B2 (en) 2012-12-14 2017-08-08 Plantronics, Inc. Network architecture using Wi-Fi devices
US9253693B2 (en) * 2012-12-18 2016-02-02 Cisco Technology, Inc. Optimizing a neighbor list of access points
US9491795B2 (en) 2012-12-19 2016-11-08 Gainspan Corporation Extended connectivity based on wireless paths between stations of a wireless local area network (WLAN)
US9237024B2 (en) 2013-03-15 2016-01-12 Cooper Technologies Company Informational broadcast messages and its uses in wireless multihop networks
US8824444B1 (en) 2013-04-19 2014-09-02 Cubic Corporation Null interface feature in wireless mesh networking device
US9191209B2 (en) 2013-06-25 2015-11-17 Google Inc. Efficient communication for devices of a home network
US9531704B2 (en) * 2013-06-25 2016-12-27 Google Inc. Efficient network layer for IPv6 protocol
US20150003323A1 (en) * 2013-06-30 2015-01-01 Vonage Network, Llc Systems and methods for transitioning a telephony communication between connection paths to preserve communication quality
US9491261B1 (en) * 2013-07-29 2016-11-08 Amazon Technologies, Inc. Remote messaging protocol
JP6244733B2 (en) * 2013-08-14 2017-12-13 富士通株式会社 Node device, communication system, communication program, and communication method
BE1021756B1 (en) * 2013-09-12 2016-01-15 Xemex, Naamloze Vennootschap COMMUNICATION MODULE FOR TRANSFERRING THE CONSUMPTION DATA OF CONSUMPTION METERS AND DEVICE FOR COLLECTING THESE CONSUMPTION DATA
US20150148965A1 (en) 2013-11-22 2015-05-28 Honeywell International Inc. Method to control a communication rate between a thermostat and a cloud based server
US9477241B2 (en) 2013-11-22 2016-10-25 Honeywell International Inc. HVAC controller with proximity based message latency control
US9587848B2 (en) 2013-12-11 2017-03-07 Honeywell International Inc. Building automation controller with rear projecting light
BR112016018682B1 (en) * 2014-02-21 2024-01-09 Landis+Gyr Innovations, Inc METHOD FOR OPTIMIZING NETWORK PERFORMANCE BY A ONE-NODE PROCESSOR IN AN E-NODE NETWORK
US20150288604A1 (en) 2014-04-02 2015-10-08 Tyco Fire & Security Gmbh Sensor Network Gateway
US9756549B2 (en) 2014-03-14 2017-09-05 goTenna Inc. System and method for digital communication between computing devices
JP6403411B2 (en) * 2014-04-01 2018-10-10 国立研究開発法人情報通信研究機構 Wireless communication method
JP6474247B2 (en) * 2014-12-12 2019-02-27 シャープ株式会社 Wireless telemeter system and wireless communication device
US9900174B2 (en) 2015-03-06 2018-02-20 Honeywell International Inc. Multi-user geofencing for building automation
US9967391B2 (en) 2015-03-25 2018-05-08 Honeywell International Inc. Geo-fencing in a building automation system
US10802469B2 (en) 2015-04-27 2020-10-13 Ademco Inc. Geo-fencing with diagnostic feature
US9609478B2 (en) 2015-04-27 2017-03-28 Honeywell International Inc. Geo-fencing with diagnostic feature
US10802459B2 (en) 2015-04-27 2020-10-13 Ademco Inc. Geo-fencing with advanced intelligent recovery
JP6698702B2 (en) * 2015-05-22 2020-05-27 リニアー テクノロジー エルエルシー Low power sensor node operation in wireless network
ES2876402T3 (en) * 2015-07-17 2021-11-12 Vitir As A centralized control system that controls interactions and cooperation between radio-operated devices operating in a mesh network that supports multiple radio communication protocols
WO2017034869A1 (en) * 2015-08-21 2017-03-02 Linear Technology Corporation Multiple access point wireless mesh network
US10057110B2 (en) 2015-11-06 2018-08-21 Honeywell International Inc. Site management system with dynamic site threat level based on geo-location data
US9628951B1 (en) 2015-11-11 2017-04-18 Honeywell International Inc. Methods and systems for performing geofencing with reduced power consumption
US10516965B2 (en) 2015-11-11 2019-12-24 Ademco Inc. HVAC control using geofencing
US9560482B1 (en) 2015-12-09 2017-01-31 Honeywell International Inc. User or automated selection of enhanced geo-fencing
US9860697B2 (en) 2015-12-09 2018-01-02 Honeywell International Inc. Methods and systems for automatic adjustment of a geofence size
US10605472B2 (en) 2016-02-19 2020-03-31 Ademco Inc. Multiple adaptive geo-fences for a building
US20170303177A1 (en) * 2016-04-16 2017-10-19 General Electric Company Methods and systems for load balancing in mesh networks
US10302322B2 (en) 2016-07-22 2019-05-28 Ademco Inc. Triage of initial schedule setup for an HVAC controller
US10488062B2 (en) 2016-07-22 2019-11-26 Ademco Inc. Geofence plus schedule for a building controller
US10405264B2 (en) * 2016-10-17 2019-09-03 WiSilica Inc. Bulk pairing for mesh networks
US10771345B1 (en) * 2016-12-28 2020-09-08 Amazon Technologies, Inc. Network monitoring service
US10317102B2 (en) 2017-04-18 2019-06-11 Ademco Inc. Geofencing for thermostatic control
WO2018195229A1 (en) * 2017-04-18 2018-10-25 Atsushi Kasuya Packet forwarding mechanism
CN109587189B (en) * 2017-09-28 2022-04-29 中兴通讯股份有限公司 Node management method and device
FI127549B (en) * 2017-09-29 2018-08-31 Robotonchip Oy Executing runtime programmable applications
US10944669B1 (en) 2018-02-09 2021-03-09 GoTenna, Inc. System and method for efficient network-wide broadcast in a multi-hop wireless network using packet echos
CN111886848A (en) * 2018-03-23 2020-11-03 昕诺飞控股有限公司 Method and apparatus for querying address advertisement messages in a communication network
EP3785467A1 (en) 2018-04-24 2021-03-03 Carrier Corporation Automated routing in a mesh network of wireless messaging devices
EP3785468A1 (en) 2018-04-24 2021-03-03 Carrier Corporation Automated routing in a mesh network of wireless messaging devices
KR102114992B1 (en) * 2018-04-25 2020-05-25 (주)휴맥스 Wireless communication equipment and method for configuring mesh network thereof
US11082324B2 (en) 2018-07-27 2021-08-03 goTenna Inc. Vine: zero-control routing using data packet inspection for wireless mesh networks
US10736177B2 (en) 2018-09-11 2020-08-04 WiSilica Inc. Dynamic wireless network topology for reduced spectrum flooding
US10785672B2 (en) * 2018-09-11 2020-09-22 WiSilica Inc. Dynamic wireless network topology for reduced spectrum flooding
WO2020185707A1 (en) 2019-03-08 2020-09-17 goTenna Inc. Method for utilization-based traffic throttling in a wireless mesh network
US11212870B2 (en) * 2019-04-02 2021-12-28 Elear Solutions Tech Private Limited Method and system for managing a private, decentralized, secure, IP-based peer-to-peer mesh overlay network
US11606829B2 (en) 2019-06-18 2023-03-14 Kyndryl, Inc. Facilitation of data transmission in low connectivity areas
US10560322B1 (en) 2019-07-11 2020-02-11 Synap Technologies Ltd. Network protocol for mesh capability in narrow-band wireless networks
US11206183B2 (en) 2019-07-11 2021-12-21 Synap Technologies Limited. Network protocol method for mesh capability in narrow-band wireless networks
GB2586966B (en) * 2019-08-30 2022-05-18 Smarter Data Man Limited Communication system
FI129763B (en) 2020-03-04 2022-08-15 Wirepas Oy Addressing system for a wireless communication network
CN113472664B (en) * 2020-03-31 2022-09-16 华为技术有限公司 Method and device for storing routing information
US11601395B1 (en) * 2021-12-22 2023-03-07 Uab 360 It Updating parameters in a mesh network
CN116074661B (en) * 2022-12-22 2023-08-22 北京邮电大学 Self-adaptive routing method based on Q learning and related equipment

Citations (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4132981A (en) * 1976-10-21 1979-01-02 Rockwell International Corporation Self-powered system for measuring and storing consumption of utility meter
US4190800A (en) * 1976-11-22 1980-02-26 Scientific-Atlanta, Inc. Electrical load management system
US4204195A (en) * 1977-05-23 1980-05-20 General Electric Company Meter terminal unit for use in automatic remote meter reading and control system
US4254472A (en) * 1978-08-14 1981-03-03 The Valeron Corporation Remote metering system
US4322842A (en) * 1979-10-23 1982-03-30 Altran Electronics Broadcast system for distribution automation and remote metering
US4425628A (en) * 1981-05-26 1984-01-10 General Electric Company Control module for engergy management system
US4638314A (en) * 1984-01-12 1987-01-20 American Science And Engineering, Inc. Meter transponder hybrid
US4749992A (en) * 1986-07-03 1988-06-07 Total Energy Management Consultants Corp. (Temco) Utility monitoring and control system
US5216623A (en) * 1990-06-06 1993-06-01 M. T. Mcbrian, Inc. System and method for monitoring and analyzing energy characteristics
US5515509A (en) * 1992-07-17 1996-05-07 Sun Microsystems, Inc. Method and apparatus for implementing self-organization in a wireless local area network
US5608780A (en) * 1993-11-24 1997-03-04 Lucent Technologies Inc. Wireless communication system having base units which extracts channel and setup information from nearby base units
US5717718A (en) * 1993-06-22 1998-02-10 Schlumberger Industries, Inc. Multipoint to point radiocommunications network
US5719564A (en) * 1996-05-10 1998-02-17 Sears; Lawrence M. Utility meter reading system
US5727057A (en) * 1994-12-27 1998-03-10 Ag Communication Systems Corporation Storage, transmission, communication and access to geographical positioning data linked with standard telephony numbering and encoded for use in telecommunications and related services
US5767790A (en) * 1996-03-07 1998-06-16 Jovellana; Bartolome D. Automatic utility meter monitor
US5874903A (en) * 1997-06-06 1999-02-23 Abb Power T & D Company Inc. RF repeater for automatic meter reading system
US5880677A (en) * 1996-10-15 1999-03-09 Lestician; Guy J. System for monitoring and controlling electrical consumption, including transceiver communicator control apparatus and alternating current control apparatus
US5892758A (en) * 1996-07-11 1999-04-06 Qualcomm Incorporated Concentrated subscriber wireless remote telemetry system
US5894422A (en) * 1997-01-27 1999-04-13 Chasek; Norman E. System and methods that facilitate the introduction of market based economic models for electric power
US5896097A (en) * 1996-03-06 1999-04-20 Schlumberger Resource Management Services, Inc. System for utility meter communications using a single RF frequency
US5898826A (en) * 1995-11-22 1999-04-27 Intel Corporation Method and apparatus for deadlock-free routing around an unusable routing component in an N-dimensional network
US5898387A (en) * 1997-03-26 1999-04-27 Scientific-Atlanta, Inc. Modular meter based utility gateway enclosure
US6014089A (en) * 1996-10-28 2000-01-11 Tracy Corporation Ii Method for transmitting data using a digital control channel of a wireless network
US6044062A (en) * 1996-12-06 2000-03-28 Communique, Llc Wireless network system and method for providing same
US6058355A (en) * 1997-06-30 2000-05-02 Ericsson Inc. Automatic power outage notification via CEBus interface
US6073169A (en) * 1997-04-08 2000-06-06 Abb Power T&D Company Inc. Automatic meter reading system employing common broadcast command channel
US6075777A (en) * 1996-08-21 2000-06-13 Lucent Technologies Inc. Network flow framework for online dynamic channel allocation
US6078785A (en) * 1996-10-15 2000-06-20 Bush; E. William Demand reporting of electricity consumption by radio in relays to a base station, and demand relays wattmeters so reporting over a wide area
US6195018B1 (en) * 1996-02-07 2001-02-27 Cellnet Data Systems, Inc. Metering system
US6239722B1 (en) * 1997-10-16 2001-05-29 Cic Global, Llc System and method for communication between remote locations
US6240080B1 (en) * 1997-08-05 2001-05-29 Nec Corporation Mobile terminal and method of controlling the same
US6246677B1 (en) * 1996-09-06 2001-06-12 Innovatec Communications, Llc Automatic meter reading data communication system
US6246689B1 (en) * 1998-09-21 2001-06-12 Lucent Technologies Inc. Method and apparatus for efficient topology aggregation for networks with hierarchical structure
US6249689B1 (en) * 1997-12-25 2001-06-19 Sony Corporation Portable radio information terminal apparatus, screen operating method, storage medium, and information processing apparatus
US20010005368A1 (en) * 1999-12-06 2001-06-28 Johan Rune Method and communication system in wireless AD HOC networks
US6338087B1 (en) * 1996-12-27 2002-01-08 Nec Corporation Method of setting up ad hoc local network, method of communicating using said network, and terminal for use with said network
US20020012358A1 (en) * 1998-06-08 2002-01-31 Takashi Sato Wireless coupling of standardized networks and non-standardized nodes
US6366217B1 (en) * 1997-09-12 2002-04-02 Internet Telemetry Corp. Wide area remote telemetry
US6400949B1 (en) * 1996-08-09 2002-06-04 Siemens Aktiengesellschaft Process for establishing telecommunication connections between telecommunication apparatuses in wireless telecommunication systems, in particular between DECT-apparatuses of a DECT-system
US6407991B1 (en) * 1993-05-06 2002-06-18 Intermec Ip Corp. Communication network providing wireless and hard-wired dynamic routing
US20030037268A1 (en) * 2001-08-16 2003-02-20 International Business Machines Corporation Power conservation in a server cluster
US6525498B2 (en) * 2000-03-30 2003-02-25 Etablissements Andre Zalkin Electric motor control device, method and program
US6535498B1 (en) * 1999-12-06 2003-03-18 Telefonaktiebolaget Lm Ericsson (Publ) Route updating in ad-hoc networks
US6538577B1 (en) * 1997-09-05 2003-03-25 Silver Springs Networks, Inc. Electronic electric meter for networked meter reading
US6553355B1 (en) * 1998-05-29 2003-04-22 Indranet Technologies Limited Autopoietic network system endowed with distributed artificial intelligence for the supply of high volume high-speed multimedia telesthesia telemetry, telekinesis, telepresence, telemanagement, telecommunications, and data processing services
US6577671B1 (en) * 1999-12-29 2003-06-10 Nokia Mobile Phones Limited Enhanced code allocation method for CDMA systems
US6681110B1 (en) * 1999-07-02 2004-01-20 Musco Corporation Means and apparatus for control of remote electrical devices
US6691173B2 (en) * 1999-07-06 2004-02-10 Widcomm, Inc. Distributed management of an extended network containing short-range wireless links
US20040034773A1 (en) * 2002-08-19 2004-02-19 Balabine Igor V. Establishing authenticated network connections
US6697331B1 (en) * 1999-11-17 2004-02-24 Telefonaktiebolaget Lm Ericsson (Publ) Link layer acknowledgement and retransmission for cellular telecommunications
US6711166B1 (en) * 1997-12-10 2004-03-23 Radvision Ltd. System and method for packet network trunking
US6711409B1 (en) * 1999-12-15 2004-03-23 Bbnt Solutions Llc Node belonging to multiple clusters in an ad hoc wireless network
US6710721B1 (en) * 1999-10-16 2004-03-23 Datamatic Inc. Radio frequency automated meter reading device
US6714787B2 (en) * 2002-01-17 2004-03-30 Motorola, Inc. Method and apparatus for adapting a routing map for a wireless communications network
US6718137B1 (en) * 1999-01-05 2004-04-06 Ciena Corporation Method and apparatus for configuration by a first network element based on operating parameters of a second network element
US6725281B1 (en) * 1999-06-11 2004-04-20 Microsoft Corporation Synchronization of controlled device state using state table and eventing in data-driven remote device control model
US6728514B2 (en) * 2000-09-08 2004-04-27 Wi-Lan Inc. Scalable wireless network topology systems and methods
US6751455B1 (en) * 1999-09-17 2004-06-15 The Regents Of The University Of California Power- and bandwidth-adaptive in-home wireless communications system with power-grid-powered agents and battery-powered clients
US6751672B1 (en) * 1999-06-02 2004-06-15 Nortel Networks Limited Efficient dynamic home agent discovery algorithm and system
US20040113810A1 (en) * 2002-06-28 2004-06-17 Mason Robert T. Data collector for an automated meter reading system
US6845091B2 (en) * 2000-03-16 2005-01-18 Sri International Mobile ad hoc extensions for the internet
US20050027859A1 (en) * 2000-01-18 2005-02-03 Lorenzo Alvisi Method, apparatus and system for maintaining connections between computers using connection-oriented protocols
US20050030968A1 (en) * 2003-08-07 2005-02-10 Skypilot Network, Inc. Communication protocol for a wireless mesh architecture
US6865185B1 (en) * 2000-02-25 2005-03-08 Cisco Technology, Inc. Method and system for queuing traffic in a wireless communications network
US20050055432A1 (en) * 2003-09-08 2005-03-10 Smart Synch, Inc. Systems and methods for remote power management using 802.11 wireless protocols
US20050058144A1 (en) * 2000-02-18 2005-03-17 Arun Ayyagari Extending access to a device in a limited connectivity network to devices residing outside the limited connectivity network
US20050065742A1 (en) * 2003-09-08 2005-03-24 Smartsynch, Inc. Systems and methods for remote power management using IEEE 802 based wireless communication links
US6885309B1 (en) * 2000-06-01 2005-04-26 Cellnet Innovations, Inc. Meter to internet pathway
US6891838B1 (en) * 1998-06-22 2005-05-10 Statsignal Ipc, Llc System and method for monitoring and controlling residential devices
US6900738B2 (en) * 2000-06-21 2005-05-31 Henry Crichlow Method and apparatus for reading a meter and providing customer service via the internet
US6904025B1 (en) * 1999-10-12 2005-06-07 Telefonaktiebolaget Lm Ericsson (Publ) Wide area network mobility for IP based networks
US6985087B2 (en) * 2002-03-15 2006-01-10 Qualcomm Inc. Method and apparatus for wireless remote telemetry using ad-hoc networks
US7009493B2 (en) * 2001-06-22 2006-03-07 Matsushita Electric Works, Ltd. Electronic device with paging for energy curtailment and code generation for manual verification of curtailment
US7009379B2 (en) * 2002-09-12 2006-03-07 Landis & Gyr, Inc. Electricity meter with power supply load management
US20060056368A1 (en) * 2004-09-10 2006-03-16 Nivis, Llc System and method for a wireless mesh network of configurable signage
US20060056363A1 (en) * 2004-09-10 2006-03-16 Ovidiu Ratiu System and method for a wireless mesh network
US7016336B2 (en) * 2000-11-22 2006-03-21 Telefonaktiebolaget L M Ericsson (Publ) Administrative domains for personal area networks
US20060098576A1 (en) * 1996-12-06 2006-05-11 Brownrigg Edwin B Wireless network system and method for providing same
US20070019598A1 (en) * 2005-06-30 2007-01-25 Ntt Docomo, Inc. Apparatus and method for improved handover in mesh networks
US7170425B2 (en) * 2004-09-24 2007-01-30 Elster Electricity, Llc System and method for creating multiple operating territories within a meter reading system
US7185131B2 (en) * 1999-06-10 2007-02-27 Amron Technologies, Inc. Host-client utility meter systems and methods for communicating with the same
US20070057767A1 (en) * 2005-08-12 2007-03-15 Lg Electronics Inc. Method of providing notification for battery power conservation in a wireless system
US20070063868A1 (en) * 2005-09-02 2007-03-22 Elster Electricity, Llc Multipurpose interface for an automated meter reading device
US20070085700A1 (en) * 2005-09-12 2007-04-19 Acuity Brands, Inc. Light management system having networked intelligent luminaire managers with enhanced diagnostics capabilities
US20070087756A1 (en) * 2005-10-04 2007-04-19 Hoffberg Steven M Multifactorial optimization system and method
US7209840B2 (en) * 2000-08-09 2007-04-24 Hunt Technologies, Llc Systems and methods for providing remote monitoring of electricity consumption for an electric meter
US7215926B2 (en) * 2003-12-05 2007-05-08 Microsoft Corporation Enhanced mode technique for growing mesh networks
US20070103324A1 (en) * 2002-03-05 2007-05-10 Aeromesh Corporation Monitoring system and method
US20070109121A1 (en) * 2005-08-04 2007-05-17 Cohen Marc H Harvesting ambient radio frequency electromagnetic energy for powering wireless electronic devices, sensors and sensor networks and applications thereof
US7317404B2 (en) * 2004-01-14 2008-01-08 Itron, Inc. Method and apparatus for collecting and displaying consumption data from a meter reading system
US7321316B2 (en) * 2003-07-18 2008-01-22 Power Measurement, Ltd. Grouping mesh clusters
US7327998B2 (en) * 2004-12-22 2008-02-05 Elster Electricity, Llc System and method of providing a geographic view of nodes in a wireless network
US7346463B2 (en) * 2001-08-09 2008-03-18 Hunt Technologies, Llc System for controlling electrically-powered devices in an electrical network
US7379981B2 (en) * 2000-01-31 2008-05-27 Kenneth W. Garrard Wireless communication enabled meter and network

Family Cites Families (369)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4396915A (en) 1980-03-31 1983-08-02 General Electric Company Automatic meter reading and control system
US4644320A (en) 1984-09-14 1987-02-17 Carr R Stephen Home energy monitoring and control system
US4792946A (en) 1987-04-07 1988-12-20 Spectrum Electronics, Inc. Wireless local area network for use in neighborhoods
US5010568A (en) 1989-04-04 1991-04-23 Sparton Corporation Remote meter reading method and apparatus
US5007052A (en) 1989-04-11 1991-04-09 Metricom, Inc. Method for routing packets by squelched flooding
US5138615A (en) 1989-06-22 1992-08-11 Digital Equipment Corporation Reconfiguration system and method for high-speed mesh connected local area network
US4939726A (en) 1989-07-18 1990-07-03 Metricom, Inc. Method for routing packets in a packet communication network
US5115433A (en) 1989-07-18 1992-05-19 Metricom, Inc. Method and system for routing packets in a packet communication network
US5056107A (en) 1990-02-15 1991-10-08 Iris Systems Inc. Radio communication network for remote data generating stations
US5553094A (en) 1990-02-15 1996-09-03 Iris Systems, Inc. Radio communication network for remote data generating stations
US5673252A (en) 1990-02-15 1997-09-30 Itron, Inc. Communications protocol for remote data generating stations
US5130987A (en) 1990-03-23 1992-07-14 Metricom, Inc. Method for synchronizing a wide area network without global synchronizing
US5079768A (en) 1990-03-23 1992-01-07 Metricom, Inc. Method for frequency sharing in frequency hopping communications network
US5077753A (en) 1990-04-09 1991-12-31 Proxim, Inc. Radio communication system using spread spectrum techniques
US5117422A (en) 1990-07-09 1992-05-26 Itt Corporation Method for providing an efficient and adaptive management of message routing in a multi-platform and apparatus communication system
US5159592A (en) 1990-10-29 1992-10-27 International Business Machines Corporation Network address management for a wired network supporting wireless communication to a plurality of mobile users
CA2054591C (en) 1991-02-28 1996-09-03 Giovanni Vannucci Wireless telecommunication systems
CA2040234C (en) 1991-04-11 2000-01-04 Steven Messenger Wireless coupling of devices to wired network
US5394436A (en) 1991-10-01 1995-02-28 Norand Corporation Radio frequency local area network
US5708680A (en) 1991-05-14 1998-01-13 Norand Corporation Network utilizing a controller and base transceivers to route voice packets
US6084867A (en) 1991-10-01 2000-07-04 Intermec Ip Corp. Apparatus and method of routing data in a radio frequency local area network
US6400702B1 (en) * 1991-10-01 2002-06-04 Intermec Ip Corp. Radio frequency local area network
US5974236A (en) 1992-03-25 1999-10-26 Aes Corporation Dynamically reconfigurable communications network and method
US5544036A (en) 1992-03-25 1996-08-06 Brown, Jr.; Robert J. Energy management and home automation system
US5761083A (en) 1992-03-25 1998-06-02 Brown, Jr.; Robert J. Energy management and home automation system
AU4661793A (en) * 1992-07-02 1994-01-31 Wellfleet Communications Data packet processing method and apparatus
US5442633A (en) 1992-07-08 1995-08-15 International Business Machines Corporation Shortcut network layer routing for mobile hosts
IT1257167B (en) 1992-10-27 1996-01-05 METHOD FOR IMPROVING THE MANAGEMENT OF DISTRIBUTION NETWORKS, IN PARTICULAR OF GAS, WATER, ELECTRICITY, HEAT.
US6970434B1 (en) 1995-06-07 2005-11-29 Broadcom Corporation Hierarchical communication system providing intelligent data, program and processing migration
US5528507A (en) 1993-08-11 1996-06-18 First Pacific Networks System for utility demand monitoring and control using a distribution network
US5465398A (en) 1993-10-07 1995-11-07 Metricom, Inc. Automatic power level control of a packet communication link
EP0740873B1 (en) 1993-11-04 2005-12-21 Norand Corporation A communication network providing wireless and hard-wired dynamic routing
US5530963A (en) 1993-12-16 1996-06-25 International Business Machines Corporation Method and system for maintaining routing between mobile workstations and selected network workstation using routing table within each router device in the network
US5471469A (en) 1994-02-08 1995-11-28 Metricon, Inc. Method of resolving media contention in radio communication links
US5453977A (en) 1994-02-08 1995-09-26 Metricom, Inc. Method for network configuration via third party query
US5400338A (en) 1994-02-08 1995-03-21 Metricom, Inc. Parasitic adoption of coordinate-based addressing by roaming node
US5963457A (en) 1994-03-18 1999-10-05 Hitachi, Ltd. Electrical power distribution monitoring system and method
US5430729A (en) 1994-04-04 1995-07-04 Motorola, Inc. Method and apparatus for adaptive directed route randomization and distribution in a richly connected communication network
US5488608A (en) 1994-04-14 1996-01-30 Metricom, Inc. Method and system for routing packets in a packet communication network using locally constructed routing tables
US5467345A (en) 1994-05-31 1995-11-14 Motorola, Inc. Packet routing system and method therefor
US5479400A (en) 1994-06-06 1995-12-26 Metricom, Inc. Transceiver sharing between access and backhaul in a wireless digital communication system
US5515369A (en) 1994-06-24 1996-05-07 Metricom, Inc. Method for frequency sharing and frequency punchout in frequency hopping communications network
US5903566A (en) 1994-06-24 1999-05-11 Metricom, Inc. Method for distributing program code to intelligent nodes in a wireless mesh data communication network
US5570084A (en) 1994-06-28 1996-10-29 Metricom, Inc. Method of loose source routing over disparate network types in a packet communication network
CA2129199C (en) 1994-07-29 1999-07-20 Roger Y.M. Cheung Method and apparatus for bridging wireless lan to a wired lan
US5696501A (en) 1994-08-02 1997-12-09 General Electric Company Method and apparatus for performing the register functions for a plurality of metering devices at a common node
US5758331A (en) 1994-08-15 1998-05-26 Clear With Computers, Inc. Computer-assisted sales system for utilities
US5490139A (en) 1994-09-28 1996-02-06 International Business Machines Corporation Mobility enabling access point architecture for wireless attachment to source routing networks
MY123040A (en) 1994-12-19 2006-05-31 Salbu Res And Dev Proprietary Ltd Multi-hop packet radio networks
US6988025B2 (en) 2000-11-28 2006-01-17 Power Measurement Ltd. System and method for implementing XML on an energy management device
US7188003B2 (en) 1994-12-30 2007-03-06 Power Measurement Ltd. System and method for securing energy management systems
US5659300A (en) 1995-01-30 1997-08-19 Innovatec Corporation Meter for measuring volumetric consumption of a commodity
US7133845B1 (en) 1995-02-13 2006-11-07 Intertrust Technologies Corp. System and methods for secure transaction management and electronic rights protection
US5572528A (en) 1995-03-20 1996-11-05 Novell, Inc. Mobile networking method and apparatus
US5596722A (en) 1995-04-03 1997-01-21 Motorola, Inc. Packet routing system and method for achieving uniform link usage and minimizing link load
US5608721A (en) 1995-04-03 1997-03-04 Motorola, Inc. Communications network and method which implement diversified routing
US5757783A (en) 1995-06-15 1998-05-26 Lucent Technologies Inc. Method and apparatus for routing ATM cells in an AD-ATM LAN
US5623495A (en) 1995-06-15 1997-04-22 Lucent Technologies Inc. Portable base station architecture for an AD-HOC ATM lan
US5822309A (en) 1995-06-15 1998-10-13 Lucent Technologies Inc. Signaling and control architecture for an ad-hoc ATM LAN
US5726644A (en) 1995-06-30 1998-03-10 Philips Electronics North America Corporation Lighting control system with packet hopping communication
US5896566A (en) * 1995-07-28 1999-04-20 Motorola, Inc. Method for indicating availability of updated software to portable wireless communication units
US5737318A (en) 1995-12-27 1998-04-07 Philips Electronics North America Corporation Method for initializing a wireless, packet-hopping network
US5920697A (en) 1996-07-11 1999-07-06 Microsoft Corporation Method of automatic updating and use of routing information by programmable and manual routing information configuration based on least lost routing
GB2315197B (en) 1996-07-11 2000-07-12 Nokia Mobile Phones Ltd Method and apparatus for system clock adjustment
US5748104A (en) 1996-07-11 1998-05-05 Qualcomm Incorporated Wireless remote telemetry system
US5774660A (en) 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
US5987011A (en) 1996-08-30 1999-11-16 Chai-Keong Toh Routing method for Ad-Hoc mobile networks
US6018659A (en) 1996-10-17 2000-01-25 The Boeing Company Airborne broadband communication network
US6150955A (en) 1996-10-28 2000-11-21 Tracy Corporation Ii Apparatus and method for transmitting data via a digital control channel of a digital wireless network
US6839775B1 (en) 1996-11-15 2005-01-04 Kim Y. Kao Method and apparatus for vending machine controller configured to monitor and analyze power profiles for plurality of motor coils to determine condition of vending machine
US7143204B1 (en) 1996-11-15 2006-11-28 Logiclink Corporation Method and apparatus for suspending or adjusting billing charge for usage of electrically powered devices if abnormal or halt condition detected
US5901067A (en) 1996-11-15 1999-05-04 Kim Y. Kao System for interactively selecting and activating groups of electrically powered devices
US7046682B2 (en) 1997-02-12 2006-05-16 Elster Electricity, Llc. Network-enabled, extensible metering system
US6396839B1 (en) 1997-02-12 2002-05-28 Abb Automation Inc. Remote access to electronic meters using a TCP/IP protocol suite
US7079810B2 (en) 1997-02-14 2006-07-18 Statsignal Ipc, Llc System and method for communicating with a remote communication unit via the public switched telephone network (PSTN)
US5926531A (en) 1997-02-14 1999-07-20 Statsignal Systems, Inc. Transmitter for accessing pay-type telephones
US6618578B1 (en) 1997-02-14 2003-09-09 Statsignal Systems, Inc System and method for communicating with a remote communication unit via the public switched telephone network (PSTN)
US7137550B1 (en) 1997-02-14 2006-11-21 Statsignal Ipc, Llc Transmitter for accessing automated financial transaction machines
US6233327B1 (en) 1997-02-14 2001-05-15 Statsignal Systems, Inc. Multi-function general purpose transceiver
US6628764B1 (en) 1997-02-14 2003-09-30 Statsignal Systems, Inc. System for requesting service of a vending machine
US6430268B1 (en) 1997-09-20 2002-08-06 Statsignal Systems, Inc. Systems for requesting service of a vending machine
CN1153352C (en) 1997-03-18 2004-06-09 皇家菲利浦电子有限公司 Receiver tuning system
US6118269A (en) 1997-03-26 2000-09-12 Comverge Technologies, Inc. Electric meter tamper detection circuit for sensing electric meter removal
US6457054B1 (en) 1997-05-15 2002-09-24 Intel Corporation System for reducing user-visibility latency in network transactions
US5991806A (en) 1997-06-09 1999-11-23 Dell Usa, L.P. Dynamic system control via messaging in a network management system
US5914672A (en) 1997-06-13 1999-06-22 Whisper Communications Incorporated System for field installation of a remote meter interface
US6108699A (en) 1997-06-27 2000-08-22 Sun Microsystems, Inc. System and method for modifying membership in a clustered distributed computer system and updating system configuration
US6414952B2 (en) 1997-08-28 2002-07-02 Broadcom Homenetworking, Inc. Virtual gateway system and method
US20080129538A1 (en) 1999-02-23 2008-06-05 Raj Vaswani Electronic electric meter for networked meter reading
US6088659A (en) 1997-09-11 2000-07-11 Abb Power T&D Company Inc. Automated meter reading system
US6470386B1 (en) 1997-09-26 2002-10-22 Worldcom, Inc. Integrated proxy interface for web based telecommunications management tools
US20020120569A1 (en) 1997-10-16 2002-08-29 Day Mark E. System and method for communication between remote locations
US6556830B1 (en) * 1998-02-02 2003-04-29 Ericsson Inc. Coverage area sectorization in time division multiple access/frequency-time division duplex communications systems
SE9801172D0 (en) 1998-04-01 1998-04-01 Ericsson Telefon Ab L M Cell selection in a system with different cell capabilities
NO309550B1 (en) 1998-04-07 2001-02-12 It & Process As System for controlling the power consumption of a user of electrical power
US6778099B1 (en) 1998-05-01 2004-08-17 Elster Electricity, Llc Wireless area network communications module for utility meters
US6311105B1 (en) 1998-05-29 2001-10-30 Powerweb, Inc. Multi-utility energy control system
US6122603A (en) 1998-05-29 2000-09-19 Powerweb, Inc. Multi-utility energy control system with dashboard
US6914533B2 (en) 1998-06-22 2005-07-05 Statsignal Ipc Llc System and method for accessing residential monitoring devices
US6437692B1 (en) 1998-06-22 2002-08-20 Statsignal Systems, Inc. System and method for monitoring and controlling remote devices
US6914893B2 (en) 1998-06-22 2005-07-05 Statsignal Ipc, Llc System and method for monitoring and controlling remote devices
US6218953B1 (en) 1998-10-14 2001-04-17 Statsignal Systems, Inc. System and method for monitoring the light level around an ATM
US6522974B2 (en) 2000-03-01 2003-02-18 Westerngeco, L.L.C. Method for vibrator sweep analysis and synthesis
US6028522A (en) 1998-10-14 2000-02-22 Statsignal Systems, Inc. System for monitoring the light level around an ATM
US6304556B1 (en) 1998-08-24 2001-10-16 Cornell Research Foundation, Inc. Routing and mobility management protocols for ad-hoc networks
US6826620B1 (en) 1998-08-26 2004-11-30 Paradyne Corporation Network congestion control system and method
US6665620B1 (en) 1998-08-26 2003-12-16 Siemens Transmission & Distribution, Llc Utility meter having primary and secondary communication circuits
US7103511B2 (en) 1998-10-14 2006-09-05 Statsignal Ipc, Llc Wireless communication networks for providing remote monitoring of devices
US20020013679A1 (en) 1998-10-14 2002-01-31 Petite Thomas D. System and method for monitoring the light level in a lighted area
US6480497B1 (en) 1998-11-23 2002-11-12 Ricochet Networks, Inc. Method and apparatus for maximizing data throughput in a packet radio mesh network
US6636894B1 (en) 1998-12-08 2003-10-21 Nomadix, Inc. Systems and methods for redirecting users having transparent computer access to a network using a gateway device having redirection capability
US20080136667A1 (en) 1999-02-23 2008-06-12 Raj Vaswani Network for automated meter reading
AU3623500A (en) 1999-03-12 2000-09-28 Graviton, Inc. Systems and methods for network based sensing and distributed sensor, data and memory management
US7263073B2 (en) 1999-03-18 2007-08-28 Statsignal Ipc, Llc Systems and methods for enabling a mobile user to notify an automated monitoring system of an emergency situation
US6747557B1 (en) 1999-03-18 2004-06-08 Statsignal Systems, Inc. System and method for signaling a weather alert condition to a residential environment
US20040183687A1 (en) 1999-03-18 2004-09-23 Petite Thomas D. System and method for signaling a weather alert condition to a residential environment
US7650425B2 (en) 1999-03-18 2010-01-19 Sipco, Llc System and method for controlling communication between a host computer and communication devices associated with remote devices in an automated monitoring system
US6300881B1 (en) 1999-06-09 2001-10-09 Motorola, Inc. Data transfer system and method for communicating utility consumption data over power line carriers
US6954814B1 (en) 1999-06-10 2005-10-11 Amron Technologies Inc. Method and system for monitoring and transmitting utility status via universal communications interface
US7231482B2 (en) 2000-06-09 2007-06-12 Universal Smart Technologies, Llc. Method and system for monitoring and transmitting utility status via universal communications interface
US6785592B1 (en) 1999-07-16 2004-08-31 Perot Systems Corporation System and method for energy management
JP3669619B2 (en) * 1999-09-06 2005-07-13 富士通株式会社 Software updating method and apparatus for wireless terminal device
US6980973B1 (en) 1999-09-07 2005-12-27 Visa International Service Association Self-paying smart utility meter and payment service
US6976062B1 (en) 1999-09-22 2005-12-13 Intermec Ip Corp. Automated software upgrade utility
US7020701B1 (en) 1999-10-06 2006-03-28 Sensoria Corporation Method for collecting and processing data using internetworked wireless integrated network sensors (WINS)
WO2001026332A2 (en) * 1999-10-06 2001-04-12 Sensoria Corporation Apparatus for vehicle internetworks
US7042368B2 (en) 1999-10-16 2006-05-09 Datamatic, Ltd Automated meter reader device having optical sensor with automatic gain control
US7315257B2 (en) 1999-10-16 2008-01-01 Datamatic, Ltd. Automated meter reader having high product delivery rate alert generator
US20060028355A1 (en) 1999-10-16 2006-02-09 Tim Patterson Automated meter reader having peak product delivery rate generator
DE59911450D1 (en) 1999-11-01 2005-02-17 Abb Research Ltd Integration of a bay control unit into a plant control system
US6909705B1 (en) 1999-11-02 2005-06-21 Cello Partnership Integrating wireless local loop networks with cellular networks
US6480505B1 (en) 1999-12-06 2002-11-12 Telefonaktiebolaget Lm Ericsson (Publ) Batched fair exhaustive polling scheduler
US6975613B1 (en) 1999-12-06 2005-12-13 Telefonaktiebolaget L M Ericsson (Publ) System and method for scheduling communication sessions in an ad-hoc network
US6298053B1 (en) 2000-01-14 2001-10-02 Metricom, Inc. Method and apparatus for connection handoff between connected radios
WO2001055865A1 (en) 2000-01-31 2001-08-02 Telemetry Technologies, Inc. Wireless communication enabled meter and network
US8019836B2 (en) 2002-01-02 2011-09-13 Mesh Comm, Llc Wireless communication enabled meter and network
US6369769B1 (en) 2000-02-25 2002-04-09 Innovatec Communications, Llc Flush mounted pit lid antenna
US6775258B1 (en) 2000-03-17 2004-08-10 Nokia Corporation Apparatus, and associated method, for routing packet data in an ad hoc, wireless communication system
GB0007266D0 (en) 2000-03-25 2000-05-17 Hewlett Packard Co Providing location data about a mobile entity
US7062361B1 (en) 2000-05-02 2006-06-13 Mark E. Lane Method and apparatus for controlling power consumption
US6933857B2 (en) 2000-05-05 2005-08-23 Charles A. Foote Method and system for airborne meter communication
US20020066095A1 (en) 2000-05-12 2002-05-30 Yueh-O Yu Process and device for updating personalized products
US6880086B2 (en) 2000-05-20 2005-04-12 Ciena Corporation Signatures for facilitating hot upgrades of modular software components
US7487282B2 (en) 2000-06-09 2009-02-03 Leach Mark A Host-client utility meter systems and methods for communicating with the same
US6519509B1 (en) 2000-06-22 2003-02-11 Stonewater Software, Inc. System and method for monitoring and controlling energy distribution
US7072945B1 (en) 2000-06-30 2006-07-04 Nokia Corporation Network and method for controlling appliances
WO2002007365A2 (en) 2000-07-13 2002-01-24 Nxegen System and method for monitoring and controlling energy usage
US7197046B1 (en) 2000-08-07 2007-03-27 Shrikumar Hariharasubrahmanian Systems and methods for combined protocol processing protocols
US6829216B1 (en) 2000-08-18 2004-12-07 Hitachi Telecom (U.S.A.), Inc. Method and system for designing a network
US7200633B2 (en) 2000-08-25 2007-04-03 Ntt Docomo, Inc. Information delivery system and information delivery method
US20020051269A1 (en) * 2000-09-29 2002-05-02 Shlomo Margalit Reconfigurable over-the-air optical data transmission system
US20020031101A1 (en) 2000-11-01 2002-03-14 Petite Thomas D. System and methods for interconnecting remote devices in an automated monitoring system
US20070136817A1 (en) 2000-12-07 2007-06-14 Igt Wager game license management in a peer gaming network
US6965575B2 (en) * 2000-12-29 2005-11-15 Tropos Networks Selection of routing paths based upon path quality of a wireless mesh network
US7551562B2 (en) * 2000-12-29 2009-06-23 Tropos Networks Determining bidirectional path quality within a wireless mesh network
US6704301B2 (en) * 2000-12-29 2004-03-09 Tropos Networks, Inc. Method and apparatus to provide a routing protocol for wireless devices
FI20010095A (en) * 2001-01-16 2002-07-17 Nokia Corp Insurance procedure, monitoring network elements in telecommunication networks, and telecommunication systems
US6842706B1 (en) 2001-01-17 2005-01-11 Smart Disaster Response Technologies, Inc. Methods, apparatus, media, and signals for managing utility usage
US6946972B2 (en) 2001-01-25 2005-09-20 Smartsynch, Inc. Systems and methods for wirelessly transmitting data from a utility meter
US6671635B1 (en) 2001-02-23 2003-12-30 Power Measurement Ltd. Systems for improved monitoring accuracy of intelligent electronic devices
EP1370921A2 (en) 2001-03-12 2003-12-17 Koninklijke Philips Electronics N.V. Receiving device for securely storing a content item, and playback device
JP3700596B2 (en) * 2001-03-14 2005-09-28 日本電気株式会社 Communication network, path setting method, and path setting program
EP1386432A4 (en) 2001-03-21 2009-07-15 John A Stine An access and routing protocol for ad hoc networks using synchronous collision resolution and node state dissemination
AUPR441401A0 (en) 2001-04-12 2001-05-17 Gladwin, Paul Utility usage rate monitor
US6982651B2 (en) 2001-05-02 2006-01-03 M & Fc Holding, Llc Automatic meter reading module
AR033319A1 (en) 2001-05-04 2003-12-10 Invensys Metering Systems Nort PROVISION AND METHOD FOR COMMUNICATION AND CONTROL OF AUTOMATED METER READING
US20020186619A1 (en) 2001-05-07 2002-12-12 Reeves Michael H. Apparatus, system and method for synchronizing a clock with a master time service
US20020184334A1 (en) * 2001-06-04 2002-12-05 Cherry Darrel D. System and method for providing intelligence to network devices
US20030156715A1 (en) 2001-06-12 2003-08-21 Reeds James Alexander Apparatus, system and method for validating integrity of transmitted data
US6999441B2 (en) 2001-06-27 2006-02-14 Ricochet Networks, Inc. Method and apparatus for contention management in a radio-based packet network
US6509801B1 (en) 2001-06-29 2003-01-21 Sierra Monolithics, Inc. Multi-gigabit-per-sec clock recovery apparatus and method for optical communications
US7266840B2 (en) * 2001-07-12 2007-09-04 Vignette Corporation Method and system for secure, authorized e-mail based transactions
CA2394503A1 (en) * 2001-07-23 2003-01-23 Research In Motion Limited System and method for pushing information to a mobile device
US7006526B1 (en) * 2001-07-31 2006-02-28 Cisco Technology, Inc. Mechanisms for avoiding problems associated with network address protocol translation
US7277414B2 (en) * 2001-08-03 2007-10-02 Honeywell International Inc. Energy aware network management
US6711512B2 (en) * 2001-08-07 2004-03-23 Korea Electric Power Data Network Co. Ltd. Pole transformer load monitoring system using wireless internet network
US6993417B2 (en) 2001-09-10 2006-01-31 Osann Jr Robert System for energy sensing analysis and feedback
KR100452508B1 (en) 2001-09-25 2004-10-12 엘지전자 주식회사 remote detecting equipment using CO-LINE and controlling method therefore
US7362709B1 (en) 2001-11-02 2008-04-22 Arizona Board Of Regents Agile digital communication network with rapid rerouting
WO2003043285A2 (en) * 2001-11-13 2003-05-22 Ems Technologies, Inc. Flow control between performance enhancing proxies over variable bandwidth split links
US6829347B1 (en) 2001-12-14 2004-12-07 Nortel Networks Limited Constraint based routing
US7106757B2 (en) 2001-12-19 2006-09-12 Intel Corporation System and method for streaming multimedia over packet networks
ITMI20012726A1 (en) 2001-12-20 2003-06-20 Enel Distribuzione Spa SYSTEM OF REMOTE CONSUMPTION OF CONSUMPTION AND REMOTE MANAGEMENT OF USERS ALSO DISTRIBUTED OF A DOMESTIC TYPE
US7609673B2 (en) 2002-02-08 2009-10-27 Telefonaktiebolaget Lm Ericsson (Publ) Packet-based conversational service for a multimedia session in a mobile communications system
US6744740B2 (en) 2001-12-21 2004-06-01 Motorola, Inc. Network protocol for wireless devices utilizing location information
US6882635B2 (en) * 2002-02-05 2005-04-19 Qualcomm Incorporated Coexistence between interfering communication systems
US7058018B1 (en) * 2002-03-06 2006-06-06 Meshnetworks, Inc. System and method for using per-packet receive signal strength indication and transmit power levels to compute path loss for a link for use in layer II routing in a wireless communication network
US6801865B2 (en) 2002-03-21 2004-10-05 Engage Networks, Inc. Meter monitoring and tamper protection system and method
US6831921B2 (en) 2002-03-27 2004-12-14 James A. Higgins Wireless internet access system
CA2480551A1 (en) 2002-03-28 2003-10-09 Robertshaw Controls Company Energy management system and method
US7230544B2 (en) 2002-04-22 2007-06-12 Cellnet Innovations, Inc. Intelligent two-way telemetry
AU2003239377A1 (en) 2002-05-07 2003-11-11 Enikia Llc Power theft prevention based on signature monitoring on power lines
US7899915B2 (en) 2002-05-10 2011-03-01 Richard Reisman Method and apparatus for browsing using multiple coordinated device sets
US7561977B2 (en) 2002-06-13 2009-07-14 Whirlpool Corporation Total home energy management system
US7119713B2 (en) 2002-06-27 2006-10-10 Elster Electricity, Llc Dynamic self-configuring metering network
GB0218452D0 (en) 2002-08-08 2002-09-18 Lal Depak Energy consumption monitoring
US20040039817A1 (en) * 2002-08-26 2004-02-26 Lee Mai Tranh Enhanced algorithm for initial AP selection and roaming
US7324453B2 (en) * 2002-08-30 2008-01-29 Alcatel Lucent Constraint-based shortest path first method for dynamically switched optical transport networks
US6963285B2 (en) 2002-09-30 2005-11-08 Basic Resources, Inc. Outage notification device and method
DE60312355T2 (en) * 2002-10-11 2007-11-08 Nokia Corp. DYNAMIC PEER TUNNELING WITH PERFORMANCE OPTIMIZATION
US6995666B1 (en) 2002-10-16 2006-02-07 Luttrell Clyde K Cellemetry-operated railroad switch heater
US7599323B2 (en) 2002-10-17 2009-10-06 Alcatel-Lucent Usa Inc. Multi-interface mobility client
JP3844768B2 (en) * 2002-11-20 2006-11-15 富士通株式会社 Wireless terminal device
JP3773049B2 (en) 2002-11-28 2006-05-10 ヤマハ株式会社 A musical tone attenuation rate control device that generates decibel linear attenuation rate data according to the position of the knob.
US20040117788A1 (en) 2002-12-11 2004-06-17 Jeyhan Karaoguz Method and system for TV interface for coordinating media exchange with a media peripheral
JP3799010B2 (en) * 2002-12-19 2006-07-19 アンリツ株式会社 Mesh network bridge
US20040125776A1 (en) 2002-12-26 2004-07-01 Haugli Hans C. Peer-to-peer wireless data communication system with progressive dynamic routing
US7366113B1 (en) 2002-12-27 2008-04-29 At & T Corp. Adaptive topology discovery in communication networks
US6859186B2 (en) 2003-02-03 2005-02-22 Silver Spring Networks, Inc. Flush-mounted antenna and transmission system
US7174170B2 (en) * 2003-02-12 2007-02-06 Nortel Networks Limited Self-selection of radio frequency channels to reduce co-channel and adjacent channel interference in a wireless distributed network
JP4134916B2 (en) * 2003-02-14 2008-08-20 松下電器産業株式会社 Network connection device and network connection switching method
US7304587B2 (en) 2003-02-14 2007-12-04 Energy Technology Group, Inc. Automated meter reading system, communication and control network for automated meter reading, meter data collector program product, and associated methods
US7400264B2 (en) * 2003-02-14 2008-07-15 Energy Technology Group, Inc. Automated meter reading system, communication and control network for automated meter reading, meter data collector, and associated methods
US20070013547A1 (en) 2003-02-14 2007-01-18 Boaz Jon A Automated meter reading system, communication and control network from automated meter reading, meter data collector, and associated methods
US20040185845A1 (en) 2003-02-28 2004-09-23 Microsoft Corporation Access point to access point range extension
US7406298B2 (en) 2003-03-25 2008-07-29 Silver Spring Networks, Inc. Wireless communication system
US7089089B2 (en) 2003-03-31 2006-08-08 Power Measurement Ltd. Methods and apparatus for retrieving energy readings from an energy monitoring device
US7010363B2 (en) 2003-06-13 2006-03-07 Battelle Memorial Institute Electrical appliance energy consumption control methods and electrical energy consumption systems
US7562024B2 (en) 2003-06-18 2009-07-14 Hewlett-Packard Development Company, L.P. Method and system for addressing client service outages
US7053853B2 (en) * 2003-06-26 2006-05-30 Skypilot Network, Inc. Planar antenna for a wireless mesh network
AU2003246111A1 (en) 2003-07-07 2005-01-21 Lg Electronics, Inc. Upgrade apparatus and its method for home network system
US7701858B2 (en) * 2003-07-17 2010-04-20 Sensicast Systems Method and apparatus for wireless communication in a mesh network
US7251570B2 (en) 2003-07-18 2007-07-31 Power Measurement Ltd. Data integrity in a mesh network
KR100547788B1 (en) 2003-07-31 2006-01-31 삼성전자주식회사 High speed personal wireless network and data transmission method capable of communication between devices of piconets
JP4218451B2 (en) 2003-08-05 2009-02-04 株式会社日立製作所 License management system, server device and terminal device
WO2005033964A1 (en) 2003-09-05 2005-04-14 Itron, Inc. Synchronizing and controlling software downloads, such as for utility meter-reading data collection and processing
JP4139758B2 (en) 2003-09-29 2008-08-27 関西電力株式会社 Path setting method and network, relay station, and master station that employ the path setting method
US7324824B2 (en) 2003-12-09 2008-01-29 Awarepoint Corporation Wireless network monitoring system
CN1879081B (en) * 2003-11-04 2011-07-13 汤姆森许可贸易公司 Cache server at hotspots for downloading services
KR100640327B1 (en) * 2003-11-24 2006-10-30 삼성전자주식회사 The Frame Structure and Data Transmission Method for Bridge Operation of WPAN
KR100547849B1 (en) 2003-12-05 2006-01-31 삼성전자주식회사 Frame Structure for Selecting Bridge Device in WPAN and Method for Selecting Bridge Device in WPAN
WO2005060127A1 (en) 2003-12-19 2005-06-30 Nokia Corporation Selection of radio resources in a wireless communication device
US7802015B2 (en) 2004-01-26 2010-09-21 Tantalus Systems Corp. Communications system of heterogeneous elements
US7961650B2 (en) * 2004-02-16 2011-06-14 Christopher Michael Davies Network architecture
US7376122B2 (en) * 2004-02-23 2008-05-20 Microsoft Corporation System and method for link quality source routing
US20050194456A1 (en) * 2004-03-02 2005-09-08 Tessier Patrick C. Wireless controller with gateway
US7174260B2 (en) * 2004-04-01 2007-02-06 Blue Line Innovations Inc. System and method for reading power meters
US20050251403A1 (en) * 2004-05-10 2005-11-10 Elster Electricity, Llc. Mesh AMR network interconnecting to TCP/IP wireless mesh network
JP4449588B2 (en) 2004-06-09 2010-04-14 ソニー株式会社 Wireless communication system, wireless communication apparatus, wireless communication method, and computer program
US7847706B1 (en) 2004-06-23 2010-12-07 Wireless Telematics Llc Wireless electrical apparatus controller device and method of use
WO2006012211A2 (en) 2004-06-24 2006-02-02 Meshnetworks, Inc. A system and method for adaptive rate selection for wireless networks
JP4445351B2 (en) * 2004-08-31 2010-04-07 株式会社東芝 Semiconductor module
US7590589B2 (en) 2004-09-10 2009-09-15 Hoffberg Steven M Game theoretic prioritization scheme for mobile ad hoc networks permitting hierarchal deference
US7263371B2 (en) * 2004-09-13 2007-08-28 Lucent Technologies Inc. Method for controlling paging and registration of a mobile device in a wireless communications system
US7349355B2 (en) 2004-10-27 2008-03-25 Intel Corporation Methods and apparatus for providing a communication proxy system
US7369856B2 (en) 2004-11-24 2008-05-06 Intel Corporation Method and system to support fast hand-over of mobile subscriber stations in broadband wireless networks
ATE505879T1 (en) 2004-12-17 2011-04-15 Ericsson Telefon Ab L M RETRANSMISSION IN WIRELESS COMMUNICATION SYSTEMS
US7428229B2 (en) 2004-12-28 2008-09-23 Motorola, Inc. Ad hoc cluster idle node coordination
US7697459B2 (en) * 2005-01-05 2010-04-13 Intel Corporation Methods and apparatus for identifying a distance-vector route associated with a wireless mesh network
US7626967B2 (en) 2005-01-05 2009-12-01 Intel Corporation Methods and apparatus for providing a transparent bridge associated with a wireless mesh network
GB2439490B (en) 2005-03-08 2008-12-17 Radio Usa Inc E Systems and methods for modifying power usage
US20060215673A1 (en) * 2005-03-11 2006-09-28 Interdigital Technology Corporation Mesh network configured to autonomously commission a network and manage the network topology
US7308370B2 (en) 2005-03-22 2007-12-11 Elster Electricity Llc Using a fixed network wireless data collection system to improve utility responsiveness to power outages
US8599822B2 (en) 2005-03-23 2013-12-03 Cisco Technology, Inc. Slot-based transmission synchronization mechanism in wireless mesh networks
EP1710764A1 (en) 2005-04-07 2006-10-11 Sap Ag Authentication of products using identification tags
US7676231B2 (en) 2005-04-13 2010-03-09 Intel Corporation Methods and apparatus for selecting communication channels based on channel load information
US7522540B1 (en) 2005-04-15 2009-04-21 Nvidia Corporation Extended service set mesh topology discovery
US7814322B2 (en) 2005-05-03 2010-10-12 Sri International Discovery and authentication scheme for wireless mesh networks
KR100737854B1 (en) * 2005-05-10 2007-07-12 삼성전자주식회사 Optimal path routing method in Wireless Network
US20060268879A1 (en) * 2005-05-11 2006-11-30 Texas Instruments Incorporated Quality of service aware robust link state routing for mesh networks
US7539882B2 (en) 2005-05-30 2009-05-26 Rambus Inc. Self-powered devices and methods
WO2006130725A2 (en) 2005-05-31 2006-12-07 Interdigital Technology Corporation Authentication and encryption methods using shared secret randomness in a joint channel
US20070063866A1 (en) * 2005-06-02 2007-03-22 Andisa Technologies, Inc. Remote meter monitoring and control system
US7274975B2 (en) 2005-06-06 2007-09-25 Gridpoint, Inc. Optimized energy management system
US7539151B2 (en) 2005-06-30 2009-05-26 Intel Corporation Channel selection for mesh networks having nodes with multiple radios
JP4861415B2 (en) * 2005-07-20 2012-01-25 ファイアータイド、インク. Route optimization for on-demand routing protocols for mesh networks
US20070060147A1 (en) 2005-07-25 2007-03-15 Shin Young S Apparatus for transmitting data packets between wireless sensor networks over internet, wireless sensor network domain name server, and data packet transmission method using the same
US7602747B2 (en) 2005-07-29 2009-10-13 Intel Corporation Systems and methods increased mobility among mobile nodes in a wireless network
US7106044B1 (en) 2005-08-02 2006-09-12 General Electric Company Systems, methods, and apparatuses for detecting residential electricity theft in firmware
US7498873B2 (en) 2005-11-02 2009-03-03 Rosom Corporation Wide-lane pseudorange measurements using FM signals
US7493494B2 (en) * 2005-11-03 2009-02-17 Prostor Systems, Inc. Secure data cartridge
US7814478B2 (en) 2005-11-09 2010-10-12 Texas Instruments Norway As Methods and apparatus for use in updating application programs in memory of a network device
US7756538B2 (en) 2005-11-09 2010-07-13 Motorola, Inc. Wide area network handset assisted content delivery system and method of using same
US20070110024A1 (en) * 2005-11-14 2007-05-17 Cisco Technology, Inc. System and method for spanning tree cross routes
US7962101B2 (en) 2005-11-17 2011-06-14 Silver Spring Networks, Inc. Method and system for providing a routing protocol for wireless networks
US7797009B2 (en) 2005-11-17 2010-09-14 Silver Spring Networks, Inc. Method and system for providing a network protocol for utility services
US20070136473A1 (en) * 2005-12-13 2007-06-14 Birchler Mark A Method for selecting a communications network mode having an optimum efficiency
US7623043B2 (en) 2005-12-19 2009-11-24 General Electric Company Method and system for metering consumption of energy
US20070147255A1 (en) * 2005-12-23 2007-06-28 Ozgur Oyman Routing in wireless mesh networks
US20070147268A1 (en) 2005-12-23 2007-06-28 Elster Electricity, Llc Distributing overall control of mesh AMR LAN networks to WAN interconnected collectors
US20080151825A1 (en) 2006-01-31 2008-06-26 Peter Shorty Home electrical device control within a wireless mesh network
US8626178B2 (en) 2006-01-31 2014-01-07 Niels Thybo Johansen Audio-visual system control using a mesh network
US8300652B2 (en) 2006-01-31 2012-10-30 Sigma Designs, Inc. Dynamically enabling a secondary channel in a mesh network
US20080154396A1 (en) 2006-01-31 2008-06-26 Peter Shorty Home electrical device control within a wireless mesh network
US8626251B2 (en) 2006-01-31 2014-01-07 Niels Thybo Johansen Audio-visual system energy savings using a mesh network
US20080159213A1 (en) 2006-01-31 2008-07-03 Peter Shorty Home electrical device control within a wireless mesh network
US8194569B2 (en) 2006-01-31 2012-06-05 Sigma Designs, Inc. Static update controller enablement in a mesh network
US20080151824A1 (en) 2006-01-31 2008-06-26 Peter Shorty Home electrical device control within a wireless mesh network
US20070177576A1 (en) 2006-01-31 2007-08-02 Niels Thybo Johansen Communicating metadata through a mesh network
US8219705B2 (en) 2006-01-31 2012-07-10 Sigma Designs, Inc. Silent acknowledgement of routing in a mesh network
US20080170511A1 (en) 2006-01-31 2008-07-17 Peter Shorty Home electrical device control within a wireless mesh network
US8223783B2 (en) 2006-01-31 2012-07-17 Sigma Designs, Inc. Using battery-powered nodes in a mesh network
US20080165712A1 (en) 2006-01-31 2008-07-10 Peter Shorty Home electrical device control within a wireless mesh network
US7680041B2 (en) 2006-01-31 2010-03-16 Zensys A/S Node repair in a mesh network
US8509790B2 (en) 2006-01-31 2013-08-13 Tommas Jess Christensen Multi-speed mesh networks
US9166812B2 (en) 2006-01-31 2015-10-20 Sigma Designs, Inc. Home electrical device control within a wireless mesh network
US20080151795A1 (en) 2006-01-31 2008-06-26 Peter Shorty Home electrical device control within a wireless mesh network
US20070257813A1 (en) 2006-02-03 2007-11-08 Silver Spring Networks Secure network bootstrap of devices in an automatic meter reading network
US7545285B2 (en) 2006-02-16 2009-06-09 Elster Electricity, Llc Load control unit in communication with a fixed network meter reading system
US7427927B2 (en) 2006-02-16 2008-09-23 Elster Electricity, Llc In-home display communicates with a fixed network meter reading system
US7729496B2 (en) 2006-02-28 2010-06-01 International Business Machines Corporation Efficient key updates in encrypted database systems
US20070206521A1 (en) 2006-03-05 2007-09-06 Osaje Emeke E Wireless Utility Monitoring And Control Mesh Network
US7936681B2 (en) 2006-03-06 2011-05-03 Cisco Technology, Inc. Cross-layer design techniques for interference-aware routing configuration in wireless mesh networks
US7768926B2 (en) * 2006-03-09 2010-08-03 Firetide, Inc. Effective bandwidth path metric and path computation method for wireless mesh networks with wired links
US7958032B2 (en) 2006-05-10 2011-06-07 International Business Machines Corporation Generating event messages corresponding to event indicators
US7548907B2 (en) 2006-05-11 2009-06-16 Theresa Wall Partitioning electrical data within a database
WO2007132473A1 (en) * 2006-05-17 2007-11-22 Tanla Solutions Limited Automated meter reading system and method thereof
US8103389B2 (en) 2006-05-18 2012-01-24 Gridpoint, Inc. Modular energy control system
US8279080B2 (en) * 2006-06-08 2012-10-02 Fairfax County Water Authority Systems and methods for remote utility metering and meter monitoring
WO2008004251A2 (en) 2006-07-03 2008-01-10 Tanla Solutions Limited Home security system using an ad-hoc wireless mesh and method thereof
US20080019321A1 (en) * 2006-07-19 2008-01-24 Electronics And Telecommunications Research Institute Multi-hop relay system and data transmission method employed by the same
US7843842B2 (en) 2006-08-04 2010-11-30 Cisco Technology, Inc. Method and system for initiating a remote trace route
US20080032703A1 (en) 2006-08-07 2008-02-07 Microsoft Corporation Location based notification services
US7548826B2 (en) 2006-08-24 2009-06-16 Blue Pillar, Inc. Power monitoring and testing
US8149849B2 (en) * 2006-08-31 2012-04-03 Sony Ericsson Mobile Communications Ab Zigbee/IP gateway
US7707415B2 (en) 2006-09-07 2010-04-27 Motorola, Inc. Tunneling security association messages through a mesh network
US7843834B2 (en) * 2006-09-15 2010-11-30 Itron, Inc. Use of minimal propagation delay path to optimize a mesh network
US8055461B2 (en) 2006-09-15 2011-11-08 Itron, Inc. Distributing metering responses for load balancing an AMR network
US8138944B2 (en) * 2006-09-15 2012-03-20 Itron, Inc. Home area networking (HAN) with handheld for diagnostics
GB2455939B (en) 2006-09-19 2011-04-27 Firetide Inc A multi-channel assignment method for multi-radio multi-hop wireless mesh networks
US7720010B2 (en) * 2006-09-29 2010-05-18 Cisco Technology, Inc. Tree based wireless mesh for an OSPF network with intra-tree communication optimization
US20080177678A1 (en) 2007-01-24 2008-07-24 Paul Di Martini Method of communicating between a utility and its customer locations
US8155007B2 (en) * 2007-01-25 2012-04-10 Cisco Technology, Inc. Path optimization for mesh access points in a wireless mesh network
US7853417B2 (en) 2007-01-30 2010-12-14 Silver Spring Networks, Inc. Methods and system for utility network outage detection
US8953610B2 (en) 2007-02-02 2015-02-10 Silver Spring Networks, Inc. Method and system for transit between two IPV6 nodes of a utility network connected VIA an IPV4 network using encapsulation technique
NZ579331A (en) * 2007-02-02 2012-12-21 Aztech Associates Inc Utility monitoring device, system and method
US7957322B2 (en) 2007-02-02 2011-06-07 Silver Sring Networks, Inc. Flow-through provisioning in utility AMR/AMI networks
US8023482B2 (en) 2007-03-15 2011-09-20 Cisco Technology, Inc. Dynamic rate limiting in wireless mesh networks
US7859477B2 (en) 2007-03-30 2010-12-28 Silver Spring Networks, Inc. J-pole antenna
US8230108B2 (en) 2007-04-13 2012-07-24 Hart Communication Foundation Routing packets on a network using directed graphs
US8233905B2 (en) 2007-06-15 2012-07-31 Silver Spring Networks, Inc. Load management in wireless mesh communications networks
US20090003356A1 (en) 2007-06-15 2009-01-01 Silver Spring Networks, Inc. Node discovery and culling in wireless mesh communications networks
US8130700B2 (en) 2007-06-15 2012-03-06 Silver Spring Networks, Inc. Method and system for providing network and routing protocols for utility services
US8189577B2 (en) 2007-06-15 2012-05-29 Silver Spring Networks, Inc. Network utilities in wireless mesh communications networks
US8072951B2 (en) 2007-06-15 2011-12-06 Silver Spring Networks, Inc. Method and system for providing routing protocols in a frequency hopping spread spectrum network
US7940669B2 (en) 2007-06-15 2011-05-10 Silver Spring Networks, Inc. Route and link evaluation in wireless mesh communications networks
US7769888B2 (en) 2007-06-15 2010-08-03 Silver Spring Networks, Inc. Method and system for providing network and routing protocols for utility services
US20080317047A1 (en) 2007-06-20 2008-12-25 Motorola, Inc. Method for discovering a route to a peer node in a multi-hop wireless mesh network
US20090010178A1 (en) 2007-07-03 2009-01-08 Digi International Inc. Cordless mains powered form factor for mesh network router node
US9464917B2 (en) 2007-07-18 2016-10-11 Silver Spring Networks, Inc. Method and system of reading utility meter data over a network
US7894371B2 (en) * 2007-07-31 2011-02-22 Motorola, Inc. System and method of resource allocation within a communication system
US8279870B2 (en) 2007-08-01 2012-10-02 Silver Spring Networks, Inc. Method and system of routing in a utility smart-grid network
US7961740B2 (en) 2007-08-01 2011-06-14 Silver Spring Networks, Inc. Method and system of routing in a utility smart-grid network
US8385345B2 (en) * 2007-09-19 2013-02-26 At&T Intellectual Property Ii, L.P. Data forwarding in hybrid mesh networks
US20090115626A1 (en) 2007-11-02 2009-05-07 Raj Vaswani Electronic meter for networked meter reading
CA2705093A1 (en) * 2007-11-25 2009-05-28 Trilliant Networks, Inc. Communication and message route optimization and messaging in a mesh network
US8502640B2 (en) 2007-11-25 2013-08-06 Trilliant Networks, Inc. System and method for transmitting and receiving information on a neighborhood area network
US8289883B2 (en) 2007-12-21 2012-10-16 Samsung Electronics Co., Ltd. Hybrid multicast routing protocol for wireless mesh networks
US7522639B1 (en) 2007-12-26 2009-04-21 Katz Daniel A Synchronization among distributed wireless devices beyond communications range
US8442092B2 (en) 2007-12-27 2013-05-14 Silver Spring Networks, Inc. Creation and use of unique hopping sequences in a frequency-hopping spread spectrum (FHSS) wireless communications network
US20090167547A1 (en) 2007-12-31 2009-07-02 Brad Gilbert Utility disconnect monitor node with communication interface
US7961554B2 (en) 2008-01-11 2011-06-14 Cellnet Innovations, Inc. Methods and systems for accurate time-keeping on metering and other network communication devices
US8402455B2 (en) 2008-03-17 2013-03-19 Landis+Gyr Innovations, Inc. Methods and systems for distributing firmware through an over-the-air network
US8311063B2 (en) 2008-03-28 2012-11-13 Silver Spring Networks, Inc. Updating routing and outage information in a communications network
US7839899B2 (en) 2008-03-28 2010-11-23 Silver Spring Networks, Inc. Method and system of updating routing information in a communications network
US20090267792A1 (en) 2008-04-25 2009-10-29 Henry Crichlow Customer supported automatic meter reading method
US7978632B2 (en) 2008-05-13 2011-07-12 Nortel Networks Limited Wireless mesh network transit link topology optimization method and system
WO2009143287A1 (en) * 2008-05-20 2009-11-26 Live Meters, Inc. Remote monitoring and control system comprising mesh and time synchronization technology
US20090303972A1 (en) 2008-06-06 2009-12-10 Silver Spring Networks Dynamic Scrambling Techniques for Reducing Killer Packets in a Wireless Network
US8484486B2 (en) 2008-08-06 2013-07-09 Silver Spring Networks, Inc. Integrated cryptographic security module for a network node
US8756675B2 (en) 2008-08-06 2014-06-17 Silver Spring Networks, Inc. Systems and methods for security in a wireless utility network
US8467370B2 (en) 2008-08-15 2013-06-18 Silver Spring Networks, Inc. Beaconing techniques in frequency hopping spread spectrum (FHSS) wireless mesh networks
WO2010027495A1 (en) * 2008-09-04 2010-03-11 Trilliant Networks, Inc. A system and method for implementing mesh network communications using a mesh network protocol
US8207726B2 (en) 2008-09-05 2012-06-26 Silver Spring Networks, Inc. Determining electric grid endpoint phase connectivity
US9025584B2 (en) 2008-09-09 2015-05-05 Silver Spring Networks, Inc. Multi-channel mesh nodes employing stacked responses
US8325060B2 (en) 2008-09-22 2012-12-04 Silver Spring Networks, Inc. Transparent routing in a power line carrier network
WO2010033245A1 (en) 2008-09-22 2010-03-25 Silver Spring Networks, Inc. Power line communication using frequency hopping
US9743337B2 (en) 2008-09-22 2017-08-22 Silver Spring Networks, Inc. Meshed networking of access points in a utility network
US8612386B2 (en) * 2011-02-11 2013-12-17 Alcatel Lucent Method and apparatus for peer-to-peer database synchronization in dynamic networks

Patent Citations (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4132981A (en) * 1976-10-21 1979-01-02 Rockwell International Corporation Self-powered system for measuring and storing consumption of utility meter
US4190800A (en) * 1976-11-22 1980-02-26 Scientific-Atlanta, Inc. Electrical load management system
US4204195A (en) * 1977-05-23 1980-05-20 General Electric Company Meter terminal unit for use in automatic remote meter reading and control system
US4254472A (en) * 1978-08-14 1981-03-03 The Valeron Corporation Remote metering system
US4322842A (en) * 1979-10-23 1982-03-30 Altran Electronics Broadcast system for distribution automation and remote metering
US4425628A (en) * 1981-05-26 1984-01-10 General Electric Company Control module for engergy management system
US4638314A (en) * 1984-01-12 1987-01-20 American Science And Engineering, Inc. Meter transponder hybrid
US4749992B1 (en) * 1986-07-03 1996-06-11 Total Energy Management Consul Utility monitoring and control system
US4749992A (en) * 1986-07-03 1988-06-07 Total Energy Management Consultants Corp. (Temco) Utility monitoring and control system
US5216623A (en) * 1990-06-06 1993-06-01 M. T. Mcbrian, Inc. System and method for monitoring and analyzing energy characteristics
US5515509A (en) * 1992-07-17 1996-05-07 Sun Microsystems, Inc. Method and apparatus for implementing self-organization in a wireless local area network
US6407991B1 (en) * 1993-05-06 2002-06-18 Intermec Ip Corp. Communication network providing wireless and hard-wired dynamic routing
US5717718A (en) * 1993-06-22 1998-02-10 Schlumberger Industries, Inc. Multipoint to point radiocommunications network
US5608780A (en) * 1993-11-24 1997-03-04 Lucent Technologies Inc. Wireless communication system having base units which extracts channel and setup information from nearby base units
US5727057A (en) * 1994-12-27 1998-03-10 Ag Communication Systems Corporation Storage, transmission, communication and access to geographical positioning data linked with standard telephony numbering and encoded for use in telecommunications and related services
US5898826A (en) * 1995-11-22 1999-04-27 Intel Corporation Method and apparatus for deadlock-free routing around an unusable routing component in an N-dimensional network
US6195018B1 (en) * 1996-02-07 2001-02-27 Cellnet Data Systems, Inc. Metering system
US5914673A (en) * 1996-03-06 1999-06-22 Schlumberger System for utility meter communications using a single RF frequency
US5896097A (en) * 1996-03-06 1999-04-20 Schlumberger Resource Management Services, Inc. System for utility meter communications using a single RF frequency
US5767790A (en) * 1996-03-07 1998-06-16 Jovellana; Bartolome D. Automatic utility meter monitor
US5719564A (en) * 1996-05-10 1998-02-17 Sears; Lawrence M. Utility meter reading system
US5892758A (en) * 1996-07-11 1999-04-06 Qualcomm Incorporated Concentrated subscriber wireless remote telemetry system
US6400949B1 (en) * 1996-08-09 2002-06-04 Siemens Aktiengesellschaft Process for establishing telecommunication connections between telecommunication apparatuses in wireless telecommunication systems, in particular between DECT-apparatuses of a DECT-system
US6075777A (en) * 1996-08-21 2000-06-13 Lucent Technologies Inc. Network flow framework for online dynamic channel allocation
US6246677B1 (en) * 1996-09-06 2001-06-12 Innovatec Communications, Llc Automatic meter reading data communication system
US5880677A (en) * 1996-10-15 1999-03-09 Lestician; Guy J. System for monitoring and controlling electrical consumption, including transceiver communicator control apparatus and alternating current control apparatus
US6078785A (en) * 1996-10-15 2000-06-20 Bush; E. William Demand reporting of electricity consumption by radio in relays to a base station, and demand relays wattmeters so reporting over a wide area
US6014089A (en) * 1996-10-28 2000-01-11 Tracy Corporation Ii Method for transmitting data using a digital control channel of a wireless network
US6249516B1 (en) * 1996-12-06 2001-06-19 Edwin B. Brownrigg Wireless network gateway and method for providing same
US7054271B2 (en) * 1996-12-06 2006-05-30 Ipco, Llc Wireless network system and method for providing same
US20060098576A1 (en) * 1996-12-06 2006-05-11 Brownrigg Edwin B Wireless network system and method for providing same
US6044062A (en) * 1996-12-06 2000-03-28 Communique, Llc Wireless network system and method for providing same
US6338087B1 (en) * 1996-12-27 2002-01-08 Nec Corporation Method of setting up ad hoc local network, method of communicating using said network, and terminal for use with said network
US5894422A (en) * 1997-01-27 1999-04-13 Chasek; Norman E. System and methods that facilitate the introduction of market based economic models for electric power
US5898387A (en) * 1997-03-26 1999-04-27 Scientific-Atlanta, Inc. Modular meter based utility gateway enclosure
US6073169A (en) * 1997-04-08 2000-06-06 Abb Power T&D Company Inc. Automatic meter reading system employing common broadcast command channel
US5874903A (en) * 1997-06-06 1999-02-23 Abb Power T & D Company Inc. RF repeater for automatic meter reading system
US6058355A (en) * 1997-06-30 2000-05-02 Ericsson Inc. Automatic power outage notification via CEBus interface
US6240080B1 (en) * 1997-08-05 2001-05-29 Nec Corporation Mobile terminal and method of controlling the same
US6538577B1 (en) * 1997-09-05 2003-03-25 Silver Springs Networks, Inc. Electronic electric meter for networked meter reading
US6366217B1 (en) * 1997-09-12 2002-04-02 Internet Telemetry Corp. Wide area remote telemetry
US6239722B1 (en) * 1997-10-16 2001-05-29 Cic Global, Llc System and method for communication between remote locations
US6711166B1 (en) * 1997-12-10 2004-03-23 Radvision Ltd. System and method for packet network trunking
US6249689B1 (en) * 1997-12-25 2001-06-19 Sony Corporation Portable radio information terminal apparatus, screen operating method, storage medium, and information processing apparatus
US6553355B1 (en) * 1998-05-29 2003-04-22 Indranet Technologies Limited Autopoietic network system endowed with distributed artificial intelligence for the supply of high volume high-speed multimedia telesthesia telemetry, telekinesis, telepresence, telemanagement, telecommunications, and data processing services
US20020012358A1 (en) * 1998-06-08 2002-01-31 Takashi Sato Wireless coupling of standardized networks and non-standardized nodes
US6891838B1 (en) * 1998-06-22 2005-05-10 Statsignal Ipc, Llc System and method for monitoring and controlling residential devices
US6246689B1 (en) * 1998-09-21 2001-06-12 Lucent Technologies Inc. Method and apparatus for efficient topology aggregation for networks with hierarchical structure
US6718137B1 (en) * 1999-01-05 2004-04-06 Ciena Corporation Method and apparatus for configuration by a first network element based on operating parameters of a second network element
US6751672B1 (en) * 1999-06-02 2004-06-15 Nortel Networks Limited Efficient dynamic home agent discovery algorithm and system
US7185131B2 (en) * 1999-06-10 2007-02-27 Amron Technologies, Inc. Host-client utility meter systems and methods for communicating with the same
US6725281B1 (en) * 1999-06-11 2004-04-20 Microsoft Corporation Synchronization of controlled device state using state table and eventing in data-driven remote device control model
US6681110B1 (en) * 1999-07-02 2004-01-20 Musco Corporation Means and apparatus for control of remote electrical devices
US6691173B2 (en) * 1999-07-06 2004-02-10 Widcomm, Inc. Distributed management of an extended network containing short-range wireless links
US6751455B1 (en) * 1999-09-17 2004-06-15 The Regents Of The University Of California Power- and bandwidth-adaptive in-home wireless communications system with power-grid-powered agents and battery-powered clients
US6904025B1 (en) * 1999-10-12 2005-06-07 Telefonaktiebolaget Lm Ericsson (Publ) Wide area network mobility for IP based networks
US6710721B1 (en) * 1999-10-16 2004-03-23 Datamatic Inc. Radio frequency automated meter reading device
US6697331B1 (en) * 1999-11-17 2004-02-24 Telefonaktiebolaget Lm Ericsson (Publ) Link layer acknowledgement and retransmission for cellular telecommunications
US6535498B1 (en) * 1999-12-06 2003-03-18 Telefonaktiebolaget Lm Ericsson (Publ) Route updating in ad-hoc networks
US20010005368A1 (en) * 1999-12-06 2001-06-28 Johan Rune Method and communication system in wireless AD HOC networks
US6711409B1 (en) * 1999-12-15 2004-03-23 Bbnt Solutions Llc Node belonging to multiple clusters in an ad hoc wireless network
US6577671B1 (en) * 1999-12-29 2003-06-10 Nokia Mobile Phones Limited Enhanced code allocation method for CDMA systems
US20050027859A1 (en) * 2000-01-18 2005-02-03 Lorenzo Alvisi Method, apparatus and system for maintaining connections between computers using connection-oriented protocols
US7379981B2 (en) * 2000-01-31 2008-05-27 Kenneth W. Garrard Wireless communication enabled meter and network
US20050058144A1 (en) * 2000-02-18 2005-03-17 Arun Ayyagari Extending access to a device in a limited connectivity network to devices residing outside the limited connectivity network
US6865185B1 (en) * 2000-02-25 2005-03-08 Cisco Technology, Inc. Method and system for queuing traffic in a wireless communications network
US6845091B2 (en) * 2000-03-16 2005-01-18 Sri International Mobile ad hoc extensions for the internet
US6525498B2 (en) * 2000-03-30 2003-02-25 Etablissements Andre Zalkin Electric motor control device, method and program
US6885309B1 (en) * 2000-06-01 2005-04-26 Cellnet Innovations, Inc. Meter to internet pathway
US6900738B2 (en) * 2000-06-21 2005-05-31 Henry Crichlow Method and apparatus for reading a meter and providing customer service via the internet
US7209840B2 (en) * 2000-08-09 2007-04-24 Hunt Technologies, Llc Systems and methods for providing remote monitoring of electricity consumption for an electric meter
US6728514B2 (en) * 2000-09-08 2004-04-27 Wi-Lan Inc. Scalable wireless network topology systems and methods
US7016336B2 (en) * 2000-11-22 2006-03-21 Telefonaktiebolaget L M Ericsson (Publ) Administrative domains for personal area networks
US7009493B2 (en) * 2001-06-22 2006-03-07 Matsushita Electric Works, Ltd. Electronic device with paging for energy curtailment and code generation for manual verification of curtailment
US7346463B2 (en) * 2001-08-09 2008-03-18 Hunt Technologies, Llc System for controlling electrically-powered devices in an electrical network
US20030037268A1 (en) * 2001-08-16 2003-02-20 International Business Machines Corporation Power conservation in a server cluster
US6714787B2 (en) * 2002-01-17 2004-03-30 Motorola, Inc. Method and apparatus for adapting a routing map for a wireless communications network
US20070103324A1 (en) * 2002-03-05 2007-05-10 Aeromesh Corporation Monitoring system and method
US6985087B2 (en) * 2002-03-15 2006-01-10 Qualcomm Inc. Method and apparatus for wireless remote telemetry using ad-hoc networks
US20040113810A1 (en) * 2002-06-28 2004-06-17 Mason Robert T. Data collector for an automated meter reading system
US20040034773A1 (en) * 2002-08-19 2004-02-19 Balabine Igor V. Establishing authenticated network connections
US7009379B2 (en) * 2002-09-12 2006-03-07 Landis & Gyr, Inc. Electricity meter with power supply load management
US7321316B2 (en) * 2003-07-18 2008-01-22 Power Measurement, Ltd. Grouping mesh clusters
US20050030968A1 (en) * 2003-08-07 2005-02-10 Skypilot Network, Inc. Communication protocol for a wireless mesh architecture
US20050065742A1 (en) * 2003-09-08 2005-03-24 Smartsynch, Inc. Systems and methods for remote power management using IEEE 802 based wireless communication links
US20050055432A1 (en) * 2003-09-08 2005-03-10 Smart Synch, Inc. Systems and methods for remote power management using 802.11 wireless protocols
US7349766B2 (en) * 2003-09-08 2008-03-25 Smartsynch, Inc. Systems and methods for remote power management using 802.11 wireless protocols
US7215926B2 (en) * 2003-12-05 2007-05-08 Microsoft Corporation Enhanced mode technique for growing mesh networks
US7317404B2 (en) * 2004-01-14 2008-01-08 Itron, Inc. Method and apparatus for collecting and displaying consumption data from a meter reading system
US20060056368A1 (en) * 2004-09-10 2006-03-16 Nivis, Llc System and method for a wireless mesh network of configurable signage
US20060056363A1 (en) * 2004-09-10 2006-03-16 Ovidiu Ratiu System and method for a wireless mesh network
US7170425B2 (en) * 2004-09-24 2007-01-30 Elster Electricity, Llc System and method for creating multiple operating territories within a meter reading system
US7327998B2 (en) * 2004-12-22 2008-02-05 Elster Electricity, Llc System and method of providing a geographic view of nodes in a wireless network
US20070019598A1 (en) * 2005-06-30 2007-01-25 Ntt Docomo, Inc. Apparatus and method for improved handover in mesh networks
US20070109121A1 (en) * 2005-08-04 2007-05-17 Cohen Marc H Harvesting ambient radio frequency electromagnetic energy for powering wireless electronic devices, sensors and sensor networks and applications thereof
US20070057767A1 (en) * 2005-08-12 2007-03-15 Lg Electronics Inc. Method of providing notification for battery power conservation in a wireless system
US20070063868A1 (en) * 2005-09-02 2007-03-22 Elster Electricity, Llc Multipurpose interface for an automated meter reading device
US20070085700A1 (en) * 2005-09-12 2007-04-19 Acuity Brands, Inc. Light management system having networked intelligent luminaire managers with enhanced diagnostics capabilities
US20070087756A1 (en) * 2005-10-04 2007-04-19 Hoffberg Steven M Multifactorial optimization system and method

Cited By (224)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9130402B2 (en) 2007-08-28 2015-09-08 Causam Energy, Inc. System and method for generating and providing dispatchable operating reserve energy capacity through use of active load management
US8032233B2 (en) 2007-08-28 2011-10-04 Consert Inc. Method and apparatus for actively managing consumption of electric power supplied by an electric utility
US20100191862A1 (en) * 2007-08-28 2010-07-29 Forbes Jr Joseph W System and method for priority delivery of load management messages on ip-based networks
US20100198713A1 (en) * 2007-08-28 2010-08-05 Forbes Jr Joseph W System and method for manipulating controlled energy using devices to manage customer bills
US9766644B2 (en) 2007-08-28 2017-09-19 Causam Energy, Inc. System, method, and apparatus for actively managing consumption of electric power supplied by one or more electric power grid operators
US11025057B2 (en) 2007-08-28 2021-06-01 Causam Enterprises, Inc. Systems and methods for determining and utilizing customer energy profiles for load control for individual structures, devices, and aggregation of same
US9881259B2 (en) 2007-08-28 2018-01-30 Landis+Gyr Innovations, Inc. System and method for estimating and providing dispatchable operating reserve energy capacity through use of active load management
US9651973B2 (en) 2007-08-28 2017-05-16 Causam Energy, Inc. System and method for estimating and providing dispatchable operating reserve energy capacity through use of active load management
US9899836B2 (en) 2007-08-28 2018-02-20 Causam Energy, Inc. Systems and methods for determining and utilizing customer energy profiles for load control for individual structures, devices, and aggregation of same
US10116134B2 (en) 2007-08-28 2018-10-30 Causam Energy, Inc. Systems and methods for determining and utilizing customer energy profiles for load control for individual structures, devices, and aggregation of same
US10295969B2 (en) 2007-08-28 2019-05-21 Causam Energy, Inc. System and method for generating and providing dispatchable operating reserve energy capacity through use of active load management
US10303194B2 (en) 2007-08-28 2019-05-28 Causam Energy, Inc System, method, and apparatus for actively managing consumption of electric power supplied by one or more electric power grid operators
US9305454B2 (en) 2007-08-28 2016-04-05 Consert Inc. Apparatus and method for controlling communications to and from fixed position communication devices over a fixed bandwidth communication link
US10389115B2 (en) 2007-08-28 2019-08-20 Causam Energy, Inc. Systems and methods for determining and utilizing customer energy profiles for load control for individual structures, devices, and aggregation of same
US10394268B2 (en) 2007-08-28 2019-08-27 Causam Energy, Inc. Method and apparatus for actively managing consumption of electric power over an electric power grid
US10396592B2 (en) 2007-08-28 2019-08-27 Causam Energy, Inc. System and method for estimating and providing dispatchable operating reserve energy capacity through use of active load management
US9177323B2 (en) 2007-08-28 2015-11-03 Causam Energy, Inc. Systems and methods for determining and utilizing customer energy profiles for load control for individual structures, devices, and aggregation of same
US8010812B2 (en) 2007-08-28 2011-08-30 Forbes Jr Joseph W Method and apparatus for actively managing consumption of electric power supplied by one or more electric utilities
US9069337B2 (en) 2007-08-28 2015-06-30 Consert Inc. System and method for estimating and providing dispatchable operating reserve energy capacity through use of active load management
US8996183B2 (en) 2007-08-28 2015-03-31 Consert Inc. System and method for estimating and providing dispatchable operating reserve energy capacity through use of active load management
US8890505B2 (en) 2007-08-28 2014-11-18 Causam Energy, Inc. System and method for estimating and providing dispatchable operating reserve energy capacity through use of active load management
US8855279B2 (en) 2007-08-28 2014-10-07 Consert Inc. Apparatus and method for controlling communications to and from utility service points
US8131403B2 (en) 2007-08-28 2012-03-06 Consert, Inc. System and method for determining and utilizing customer energy profiles for load control for individual structures, devices, and aggregation of same
US8145361B2 (en) 2007-08-28 2012-03-27 Consert, Inc. System and method for manipulating controlled energy using devices to manage customer bills
US11733726B2 (en) 2007-08-28 2023-08-22 Causam Enterprises, Inc. System, method, and apparatus for actively managing consumption of electric power supplied by one or more electric power grid operators
US11735915B2 (en) 2007-08-28 2023-08-22 Causam Enterprises, Inc. System and method for estimating and providing dispatchable operating reserve energy capacity through use of active load management
US20100145534A1 (en) * 2007-08-28 2010-06-10 Forbes Jr Joseph W System and method for determining and utilizing customer energy profiles for load control for individual structures, devices, and aggregation of same
US10833504B2 (en) 2007-08-28 2020-11-10 Causam Energy, Inc. Systems and methods for determining and utilizing customer energy profiles for load control for individual structures, devices, and aggregation of same
US8307225B2 (en) 2007-08-28 2012-11-06 Consert Inc. Method and apparatus for actively managing consumption of electric power supplied by one or more electric utilities
US11650612B2 (en) 2007-08-28 2023-05-16 Causam Enterprises, Inc. Method and apparatus for actively managing consumption of electric power over an electric power grid
US8315717B2 (en) 2007-08-28 2012-11-20 Consert Inc. Method and apparatus for actively managing consumption of electric power supplied by an electric utility
US8806239B2 (en) 2007-08-28 2014-08-12 Causam Energy, Inc. System, method, and apparatus for actively managing consumption of electric power supplied by one or more electric power grid operators
US8805552B2 (en) 2007-08-28 2014-08-12 Causam Energy, Inc. Method and apparatus for actively managing consumption of electric power over an electric power grid
US8396606B2 (en) 2007-08-28 2013-03-12 Consert Inc. System and method for estimating and providing dispatchable operating reserve energy capacity through use of active load management
US11651295B2 (en) 2007-08-28 2023-05-16 Causam Enterprises, Inc. Systems and methods for determining and utilizing customer energy profiles for load control for individual structures, devices, and aggregation of same
US10985556B2 (en) 2007-08-28 2021-04-20 Causam Energy, Inc. Systems and methods for determining and utilizing customer energy profiles for load control for individual structures, devices, and aggregation of same
US8700187B2 (en) 2007-08-28 2014-04-15 Consert Inc. Method and apparatus for actively managing consumption of electric power supplied by one or more electric utilities
US11119521B2 (en) 2007-08-28 2021-09-14 Causam Enterprises, Inc. System, method, and apparatus for actively managing consumption of electric power supplied by one or more electric power grid operators
US8527107B2 (en) 2007-08-28 2013-09-03 Consert Inc. Method and apparatus for effecting controlled restart of electrical servcie with a utility service area
US8260470B2 (en) 2007-08-28 2012-09-04 Consert, Inc. System and method for selective disconnection of electrical service to end customers
US8542685B2 (en) 2007-08-28 2013-09-24 Consert, Inc. System and method for priority delivery of load management messages on IP-based networks
US20100145544A1 (en) * 2007-08-28 2010-06-10 Forbes Jr Joseph W System and method for selective disconnection of electrical service to end customers
US11108263B2 (en) 2007-08-28 2021-08-31 Causam Enterprises, Inc. System and method for estimating and providing dispatchable operating reserve energy capacity through use of active load management
US11022995B2 (en) 2007-08-28 2021-06-01 Causam Enterprises, Inc. Method and apparatus for actively managing consumption of electric power over an electric power grid
US9678522B2 (en) 2007-08-28 2017-06-13 Causam Energy, Inc. Method and apparatus for actively managing consumption of electric power over an electric power grid
US10911256B2 (en) 2008-09-08 2021-02-02 Tendril Ea, Llc Consumer directed energy management systems and methods
US20120002669A1 (en) * 2009-03-24 2012-01-05 IHP GmbH-Innovations for High Performance Microelectronics/Leibniz-Institut fur innovative Protocol accelerator module with packet forwarding function and a method of transceiver operation for rapid forwarding of data packets
US8654764B2 (en) * 2009-03-24 2014-02-18 IHP GmbH—Innovations for High Performance Microelectronics/Leibniz—Institut für innovative Mikroelektronik Protocol accelerator module with packet forwarding function and a method of transceiver operation for rapid forwarding of data packets
US20100271178A1 (en) * 2009-04-28 2010-10-28 Rizwan Ahmad Remote monitoring and control of led based street lights
US20110095867A1 (en) * 2009-04-28 2011-04-28 Rizwan Ahmad Remote monitoring and control of led based street lights
US8598986B2 (en) 2009-04-28 2013-12-03 Dialight Corporation Remote monitoring and control of LED based street lights
US8901846B2 (en) 2009-04-28 2014-12-02 Dialight Corporation Method and apparatus for multi-zoned illumination
US8803662B2 (en) * 2009-04-28 2014-08-12 Dialight Corporation Remote monitoring and control of LED based street lights
US11676079B2 (en) 2009-05-08 2023-06-13 Causam Enterprises, Inc. System and method for generating and providing dispatchable operating reserve energy capacity through use of active load management
US20100293278A1 (en) * 2009-05-18 2010-11-18 Microsoft Corporation Synchronizing Tasks between Servers
US8028070B2 (en) * 2009-05-18 2011-09-27 Microsoft Corporation Synchronizing tasks between servers
US8396602B2 (en) 2009-07-20 2013-03-12 Allure Energy, Inc. Energy management system and method
US8533362B2 (en) * 2009-08-07 2013-09-10 Cooper Technologies Company Methods and apparatus related to an adapter between a premise network and an advanced metering infrastructure (AMI) network
US20110035510A1 (en) * 2009-08-07 2011-02-10 Cooper Technologies Company Methods and Apparatus Related to an Adapter Between a Premise Network and an Advanced Metering Infrastructure (AMI) Network
US20110173457A1 (en) * 2009-08-14 2011-07-14 Jeffrey Reh Enhanced security for over the air (ota) firmware changes
US9964981B2 (en) 2009-08-21 2018-05-08 Samsung Electronics Co., Ltd. Energy management system and method
US10613556B2 (en) 2009-08-21 2020-04-07 Samsung Electronics Co., Ltd. Energy management system and method
US8855830B2 (en) 2009-08-21 2014-10-07 Allure Energy, Inc. Energy management system and method
US8855794B2 (en) 2009-08-21 2014-10-07 Allure Energy, Inc. Energy management system and method, including auto-provisioning capability using near field communication
US9766645B2 (en) 2009-08-21 2017-09-19 Samsung Electronics Co., Ltd. Energy management system and method
US10416698B2 (en) 2009-08-21 2019-09-17 Samsung Electronics Co., Ltd. Proximity control using WiFi connection
US10996702B2 (en) 2009-08-21 2021-05-04 Samsung Electronics Co., Ltd. Energy management system and method, including auto-provisioning capability
US10310532B2 (en) 2009-08-21 2019-06-04 Samsung Electronics Co., Ltd. Zone based system for altering an operating condition
US11550351B2 (en) 2009-08-21 2023-01-10 Samsung Electronics Co., Ltd. Energy management system and method
US9838255B2 (en) 2009-08-21 2017-12-05 Samsung Electronics Co., Ltd. Mobile demand response energy management system with proximity control
US10551861B2 (en) * 2009-08-21 2020-02-04 Samsung Electronics Co., Ltd. Gateway for managing energy use at a site
US9164524B2 (en) 2009-08-21 2015-10-20 Allure Energy, Inc. Method of managing a site using a proximity detection module
US9874891B2 (en) 2009-08-21 2018-01-23 Samsung Electronics Co., Ltd. Auto-adaptable energy management apparatus
US8571518B2 (en) 2009-08-21 2013-10-29 Allure Energy, Inc. Proximity detection module on thermostat
US9209652B2 (en) 2009-08-21 2015-12-08 Allure Energy, Inc. Mobile device with scalable map interface for zone based energy management
US9800463B2 (en) 2009-08-21 2017-10-24 Samsung Electronics Co., Ltd. Mobile energy management system
US20110046800A1 (en) * 2009-08-21 2011-02-24 Imes Kevin R Energy Management System And Method
US10444781B2 (en) 2009-08-21 2019-10-15 Samsung Electronics Co., Ltd. Energy management system and method
US8626344B2 (en) 2009-08-21 2014-01-07 Allure Energy, Inc. Energy management system and method
US9360874B2 (en) 2009-08-21 2016-06-07 Allure Energy, Inc. Energy management system and method
US8457797B2 (en) 2009-08-21 2013-06-04 Allure Energy, Inc. Energy management system and method
US9405310B2 (en) 2009-08-21 2016-08-02 Allure Energy Inc. Energy management method
US20110054710A1 (en) * 2009-08-21 2011-03-03 Imes Kevin R Energy management system and method
US9977440B2 (en) 2009-08-21 2018-05-22 Samsung Electronics Co., Ltd. Establishing proximity detection using 802.11 based networks
US20110080845A1 (en) * 2009-10-07 2011-04-07 Chun-Hsu Su Intelligent Node-Matching And Control Configuration For The Wireless Network
WO2011043818A2 (en) 2009-10-09 2011-04-14 Consert Inc. Apparatus and method for controlling communications to and from utility service points
AU2010303947B2 (en) * 2009-10-09 2014-10-02 Landis+Gyr Technology, Inc. Apparatus and method for controlling communications to and from utility service points
WO2011043818A3 (en) * 2009-10-09 2011-07-21 Consert Inc. Apparatus and method for controlling communications to and from utility service points
US20110188452A1 (en) * 2010-01-29 2011-08-04 Elster Solutions, Llc Mesh infrastructure utilizing alternative communication paths
US20110188444A1 (en) * 2010-01-29 2011-08-04 Elster Solutions, Llc High priority data reads for acquisition of real-time data in wireless mesh network
US20110188445A1 (en) * 2010-01-29 2011-08-04 Elster Solutions, Llc Clearing redundant data in wireless mesh network
US8792409B2 (en) 2010-01-29 2014-07-29 Elster Solutions, Llc Clearing redundant data in wireless mesh network
US8391496B2 (en) * 2010-06-03 2013-03-05 Digi International Inc. Smart energy network configuration using an auxiliary gateway
US20110299684A1 (en) * 2010-06-03 2011-12-08 Digi International Inc. Smart energy network configuration using an auxiliary gateway
US8817677B2 (en) * 2010-06-18 2014-08-26 Panasonic Corporation Power control device for home appliances
US20120147802A1 (en) * 2010-06-18 2012-06-14 Yosuke Ukita Communication apparatus and communication method
US8774143B2 (en) * 2010-11-18 2014-07-08 General Electric Company System and method of communication using a smart meter
US20120131324A1 (en) * 2010-11-18 2012-05-24 General Electric Company System and method of communication using a smart meter
US20120130659A1 (en) * 2010-11-22 2012-05-24 Sap Ag Analysis of Large Data Sets Using Distributed Polynomial Interpolation
US20140023053A1 (en) * 2011-04-29 2014-01-23 Lg Electronics Inc. Channel Access Method And Apparatus Using The Same In Wireless Local Area Network System
US9258813B2 (en) * 2011-04-29 2016-02-09 Lg Electronics Inc. Channel access method and apparatus using the same in wireless local area network system
US20120280831A1 (en) * 2011-05-05 2012-11-08 General Electric Company Calculation of auxiliary value based on meter data from non-smart electronic utility meter
US10805226B2 (en) 2011-08-30 2020-10-13 Samsung Electronics Co., Ltd. Resource manager, system, and method for communicating resource management information for smart energy and media resources
US10250520B2 (en) 2011-08-30 2019-04-02 Samsung Electronics Co., Ltd. Customer engagement platform and portal having multi-media capabilities
US9240895B2 (en) * 2011-10-13 2016-01-19 General Electric Company Method, system and device of multicast functionality in an energy portal
US20130093601A1 (en) * 2011-10-13 2013-04-18 General Electric Company Method, system and device of multicast functionality in an energy portal
US8515383B2 (en) * 2011-11-10 2013-08-20 General Electric Company Utility powered communications gateway
US20130121384A1 (en) * 2011-11-10 2013-05-16 General Electric Company Utility powered communications gateway
US9780603B2 (en) * 2012-03-28 2017-10-03 Gemalto Sa Method, device and system for managing a provision of energy
US20150097698A1 (en) * 2012-03-28 2015-04-09 Gemalto Sa Method, device and system for managing a provision of energy
US20130297771A1 (en) * 2012-05-04 2013-11-07 Itron, Inc. Coordinated collection of metering data
EP2661093A3 (en) * 2012-05-04 2014-08-20 Itron, Inc. Coordinated collection of metering data
EP2661093B1 (en) 2012-05-04 2017-10-04 Itron, Inc. Coordinated collection of metering data
US9674589B2 (en) * 2012-05-04 2017-06-06 Itron, Inc. Coordinated collection of metering data
US10831223B2 (en) 2012-06-20 2020-11-10 Causam Energy, Inc. System and method for actively managing electric power over an electric power grid and providing revenue grade data usable for settlement
US11228184B2 (en) 2012-06-20 2022-01-18 Causam Enterprises, Inc. System and methods for actively managing electric power over an electric power grid
US10768653B2 (en) 2012-06-20 2020-09-08 Causam Holdings, LLC System and methods for actively managing electric power over an electric power grid and providing revenue grade data usable for settlement
US11262779B2 (en) 2012-06-20 2022-03-01 Causam Enterprises, Inc. Method and apparatus for actively managing electric power over an electric power grid
US11703902B2 (en) 2012-06-20 2023-07-18 Causam Enterprises, Inc. System and methods for actively managing electric power over an electric power grid and providing revenue grade data usable for settlement
US11703903B2 (en) 2012-06-20 2023-07-18 Causam Enterprises, Inc. Method and apparatus for actively managing electric power over an electric power grid
US11899482B2 (en) 2012-06-20 2024-02-13 Causam Exchange, Inc. System and method for actively managing electric power over an electric power grid and providing revenue grade data usable for settlement
US10088859B2 (en) 2012-06-20 2018-10-02 Causam Energy, Inc. Method and apparatus for actively managing electric power over an electric power grid
US10547178B2 (en) 2012-06-20 2020-01-28 Causam Energy, Inc. System and methods for actively managing electric power over an electric power grid
US9207698B2 (en) 2012-06-20 2015-12-08 Causam Energy, Inc. Method and apparatus for actively managing electric power over an electric power grid
US11899483B2 (en) 2012-06-20 2024-02-13 Causam Exchange, Inc. Method and apparatus for actively managing electric power over an electric power grid
US10679131B2 (en) 2012-07-12 2020-06-09 Eaton Intelligent Power Limited System and method for efficient data collection in distributed sensor measurement systems
US10429871B2 (en) 2012-07-14 2019-10-01 Causam Energy, Inc. Method and apparatus for actively managing electric power supply for an electric power grid
US11625058B2 (en) 2012-07-14 2023-04-11 Causam Enterprises, Inc. Method and apparatus for actively managing electric power supply for an electric power grid
US11782470B2 (en) 2012-07-14 2023-10-10 Causam Enterprises, Inc. Method and apparatus for actively managing electric power supply for an electric power grid
US10768654B2 (en) 2012-07-14 2020-09-08 Causam Energy, Inc. Method and apparatus for actively managing electric power supply for an electric power grid
US11126213B2 (en) 2012-07-14 2021-09-21 Causam Enterprises, Inc. Method and apparatus for actively managing electric power supply for an electric power grid
US9563215B2 (en) 2012-07-14 2017-02-07 Causam Energy, Inc. Method and apparatus for actively managing electric power supply for an electric power grid
US20140032741A1 (en) * 2012-07-27 2014-01-30 Microsoft Corporation Distributed aggregation of real-time metrics for large scale distributed systems
US10075520B2 (en) * 2012-07-27 2018-09-11 Microsoft Technology Licensing, Llc Distributed aggregation of real-time metrics for large scale distributed systems
US10996706B2 (en) 2012-07-31 2021-05-04 Causam Enterprises, Inc. System, method, and data packets for messaging for electric power grid elements over a secure internet protocol network
US10429872B2 (en) 2012-07-31 2019-10-01 Causam Energy, Inc. System, method, and data packets for messaging for electric power grid elements over a secure internet protocol network
US10559976B2 (en) 2012-07-31 2020-02-11 Causam Energy, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US9806563B2 (en) 2012-07-31 2017-10-31 Causam Energy, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US10651682B2 (en) 2012-07-31 2020-05-12 Causam Energy, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US10320227B2 (en) 2012-07-31 2019-06-11 Causam Energy, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US10310534B2 (en) 2012-07-31 2019-06-04 Causam Energy, Inc. System, method, and data packets for messaging for electric power grid elements over a secure internet protocol network
US11782471B2 (en) 2012-07-31 2023-10-10 Causam Enterprises, Inc. System, method, and data packets for messaging for electric power grid elements over a secure internet protocol network
US10523050B2 (en) 2012-07-31 2019-12-31 Causam Energy, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US11774996B2 (en) 2012-07-31 2023-10-03 Causam Enterprises, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US11747849B2 (en) 2012-07-31 2023-09-05 Causam Enterprises, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US9513648B2 (en) 2012-07-31 2016-12-06 Causam Energy, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US11681317B2 (en) 2012-07-31 2023-06-20 Causam Enterprises, Inc. System, method, and data packets for messaging for electric power grid elements over a secure internet protocol network
US11307602B2 (en) 2012-07-31 2022-04-19 Causam Enterprises, Inc. System, method, and data packets for messaging for electric power grid elements over a secure internet protocol network
US11650613B2 (en) 2012-07-31 2023-05-16 Causam Enterprises, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US11095151B2 (en) 2012-07-31 2021-08-17 Causam Enterprises, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US10852760B2 (en) 2012-07-31 2020-12-01 Causam Enterprises, Inc. System, method, and data packets for messaging for electric power grid elements over a secure internet protocol network
US10861112B2 (en) 2012-07-31 2020-12-08 Causam Energy, Inc. Systems and methods for advanced energy settlements, network-based messaging, and applications supporting the same on a blockchain platform
US11561565B2 (en) 2012-07-31 2023-01-24 Causam Enterprises, Inc. System, method, and data packets for messaging for electric power grid elements over a secure internet protocol network
US11561564B2 (en) 2012-07-31 2023-01-24 Causam Enterprises, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US10381870B2 (en) 2012-07-31 2019-08-13 Causam Energy, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US10938236B2 (en) 2012-07-31 2021-03-02 Causam Enterprises, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US11501389B2 (en) 2012-07-31 2022-11-15 Causam Enterprises, Inc. Systems and methods for advanced energy settlements, network-based messaging, and applications supporting the same on a blockchain platform
US10998764B2 (en) 2012-07-31 2021-05-04 Causam Enterprises, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US10985609B2 (en) 2012-07-31 2021-04-20 Causam Enterprises, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US11316367B2 (en) 2012-07-31 2022-04-26 Causam Enterprises, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US11385664B2 (en) 2012-08-01 2022-07-12 Tendril Oe, Llc Methods and apparatus for achieving energy consumption goals through model-based simulations
US10678279B2 (en) 2012-08-01 2020-06-09 Tendril Oe, Llc Optimization of energy use through model-based simulations
US11782465B2 (en) 2012-08-01 2023-10-10 Tendril Oe, Llc Optimization of energy use through model-based simulations
US10095659B2 (en) 2012-08-03 2018-10-09 Fluke Corporation Handheld devices, systems, and methods for measuring parameters
US10222232B2 (en) 2012-10-01 2019-03-05 Eaton Intelligent Power Limited System and method for support of one-way endpoints in two-way wireless networks
US9644991B2 (en) 2012-10-01 2017-05-09 Cooper Technologies Company System and method for support of one-way endpoints in two-way wireless networks
US11270392B2 (en) 2012-10-24 2022-03-08 Causam Exchange, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US8849715B2 (en) 2012-10-24 2014-09-30 Causam Energy, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US8595094B1 (en) * 2012-10-24 2013-11-26 Causam Holdings, LLC System, method, and apparatus for settlement for participation in an electric power grid
US10497073B2 (en) 2012-10-24 2019-12-03 Causam Energy, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US10497074B2 (en) 2012-10-24 2019-12-03 Causam Energy, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US8706584B1 (en) * 2012-10-24 2014-04-22 Causam Energy, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US10521868B2 (en) 2012-10-24 2019-12-31 Causam Energy, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US11195239B2 (en) 2012-10-24 2021-12-07 Causam Enterprises, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US11823292B2 (en) 2012-10-24 2023-11-21 Causam Enterprises, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US11816744B2 (en) 2012-10-24 2023-11-14 Causam Exchange, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US11803921B2 (en) 2012-10-24 2023-10-31 Causam Exchange, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US11798103B2 (en) 2012-10-24 2023-10-24 Causam Exchange, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US11263710B2 (en) 2012-10-24 2022-03-01 Causam Exchange, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US11288755B2 (en) 2012-10-24 2022-03-29 Causam Exchange, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US10529037B2 (en) 2012-10-24 2020-01-07 Causam Energy, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US9716530B2 (en) 2013-01-07 2017-07-25 Samsung Electronics Co., Ltd. Home automation using near field communication
US11720075B2 (en) 2013-02-06 2023-08-08 Tendril Ea, Llc Dynamically adaptive personalized smart energy profiles
US11327457B2 (en) 2013-02-06 2022-05-10 Tendril Ea, Llc Dynamically adaptive personalized smart energy profiles
US10782666B2 (en) 2013-02-06 2020-09-22 Tendril Ea, Llc Dynamically adaptive personalized smart energy profiles
US11892182B2 (en) 2013-02-12 2024-02-06 Uplight, Inc. Setpoint adjustment-based duty cycling
US11042141B2 (en) 2013-02-12 2021-06-22 Uplight, Inc. Setpoint adjustment-based duty cycling
US10063499B2 (en) 2013-03-07 2018-08-28 Samsung Electronics Co., Ltd. Non-cloud based communication platform for an environment control system
US11843904B2 (en) 2013-03-15 2023-12-12 Fluke Corporation Automated combined display of measurement data
US10809159B2 (en) * 2013-03-15 2020-10-20 Fluke Corporation Automated combined display of measurement data
US20140267296A1 (en) * 2013-03-15 2014-09-18 Fluke Corporation Automated Combined Display of Measurement Data
US20150178832A1 (en) * 2013-12-19 2015-06-25 Chicago Mercantile Exchange Inc. Deterministic and efficient message packet management
US10885583B2 (en) * 2013-12-19 2021-01-05 Chicago Mercantile Exchange Inc. Deterministic and efficient message packet management
US9766270B2 (en) 2013-12-30 2017-09-19 Fluke Corporation Wireless test measurement
US10135628B2 (en) 2014-01-06 2018-11-20 Samsung Electronics Co., Ltd. System, device, and apparatus for coordinating environments using network devices and remote sensory information
US10129383B2 (en) 2014-01-06 2018-11-13 Samsung Electronics Co., Ltd. Home management system and method
US10278113B2 (en) 2014-01-17 2019-04-30 Eaton Intelligent Power Limited Dynamically-selectable multi-modal modulation in wireless multihop networks
US11889239B2 (en) 2014-06-03 2024-01-30 Applied Minds, Llc Color night vision cameras, systems, and methods thereof
US20150382278A1 (en) * 2014-06-25 2015-12-31 Michael F. Fallon Techniques for Generating a Routing Table for a Mesh Network Having Ad Hoc Connections
US11711799B2 (en) 2014-10-10 2023-07-25 Telefonaktiebolaget Lm Ericsson (Publ) Wireless device reporting
US20160161966A1 (en) * 2014-12-05 2016-06-09 Lahav Gil Apparatus for chargeable electrical device and/or electrical device, and electrical grid
US10382918B2 (en) * 2015-05-14 2019-08-13 Telefonaktiebolaget Lm Ericsson (Publ) System and methods for monitoring events associated with services of mobile devices
CN107637101A (en) * 2015-05-14 2018-01-26 瑞典爱立信有限公司 System and method for providing monitoring service
US20170118667A1 (en) * 2015-05-14 2017-04-27 Telefonaktiebolaget Lm Ericsson (Publ) System and methods for providing monitoring services
US11172273B2 (en) 2015-08-10 2021-11-09 Delta Energy & Communications, Inc. Transformer monitor, communications and data collection device
US10951962B2 (en) 2015-08-10 2021-03-16 Delta Energy & Communications, Inc. Data transfer facilitation to and across a distributed mesh network using a hybrid TV white space, Wi-Fi and advanced metering infrastructure construct
US11004160B2 (en) 2015-09-23 2021-05-11 Causam Enterprises, Inc. Systems and methods for advanced energy network
US11196621B2 (en) * 2015-10-02 2021-12-07 Delta Energy & Communications, Inc. Supplemental and alternative digital data delivery and receipt mesh net work realized through the placement of enhanced transformer mounted monitoring devices
US20170126820A1 (en) * 2015-10-30 2017-05-04 Carolyn B. McClain Service usage metering techniques
US10708387B2 (en) * 2015-10-30 2020-07-07 Novell, Inc. Service usage metering techniques
US11651340B1 (en) * 2015-11-16 2023-05-16 Wells Fargo Bank, N.A. Integrated utility distribution and automated billing
US10791020B2 (en) 2016-02-24 2020-09-29 Delta Energy & Communications, Inc. Distributed 802.11S mesh network using transformer module hardware for the capture and transmission of data
US10866568B2 (en) 2016-04-01 2020-12-15 Tendril Oe, Llc Orchestrated energy
US11709465B2 (en) 2016-04-01 2023-07-25 Tendril Oe, Llc Orchestrated energy
US11473802B2 (en) * 2018-01-29 2022-10-18 Lennox Industries Inc. Auto addressing for HVAC secondary units
US11828478B2 (en) 2018-01-29 2023-11-28 Lennox Industries Inc. Auto addressing for hvac secondary units using delayed responses
RU2768271C2 (en) * 2018-10-04 2022-03-23 Телефонактиеболагет Лм Эрикссон (Пабл) Sending reports by wireless communication device
US11399222B2 (en) * 2018-12-14 2022-07-26 Diehl Metering Systems Gmbh Method for collecting data, sensor and supply network
US11245969B2 (en) * 2018-12-14 2022-02-08 Diehl Metering Systems Gmbh Method for collecting data, sensor and supply network
US11162813B2 (en) * 2018-12-14 2021-11-02 Diehl Metering Systems Gmbh Method for collecting data and sensor, data collector and measurement data information network
US11425473B2 (en) * 2018-12-14 2022-08-23 Diehl Metering Systems Gmbh Method for collecting data and sensor, data collector and measurement data information network
US11802707B2 (en) 2019-07-24 2023-10-31 Uplight, Inc. Adaptive thermal comfort learning for optimized HVAC control
US11149975B2 (en) 2019-07-24 2021-10-19 Uplight, Inc. Adaptive thermal comfort learning for optimized HVAC control
WO2022079543A3 (en) * 2020-10-15 2022-05-19 Rathod Yogesh A user application store for uploading, generating, verifying,publishing applications and making the same available for other users of the network

Also Published As

Publication number Publication date
US20090135762A1 (en) 2009-05-28
US20090135716A1 (en) 2009-05-28
US20090138617A1 (en) 2009-05-28
EP2215616B1 (en) 2016-08-17
US20090135851A1 (en) 2009-05-28
US8144596B2 (en) 2012-03-27
WO2009067251A1 (en) 2009-05-28
US20090135843A1 (en) 2009-05-28
EP2215555A1 (en) 2010-08-11
WO2009067255A1 (en) 2009-05-28
CA2705090A1 (en) 2009-05-28
US8780763B2 (en) 2014-07-15
WO2009067262A3 (en) 2009-12-30
EP2215616A1 (en) 2010-08-11
US20120140678A1 (en) 2012-06-07
WO2009067259A1 (en) 2009-05-28
WO2009067253A1 (en) 2009-05-28
EP2215616A4 (en) 2011-01-05
WO2009067254A1 (en) 2009-05-28
EP2215555A4 (en) 2011-01-26
CA2705093A1 (en) 2009-05-28
WO2009067262A2 (en) 2009-05-28

Similar Documents

Publication Publication Date Title
US8138934B2 (en) System and method for false alert filtering of event messages within a network
US20090135836A1 (en) Collector device and system utilizing standardized utility metering protocol
EP2215613A1 (en) System and method for false alert filtering of event messages within a network
US9829343B2 (en) System and method for controlling a connection of a meter to a power line
US9612132B2 (en) Optimized data collection in a wireless fixed network metering system
EP2215556B1 (en) System and method for transmitting power status notifications in an advanced metering infrastructure network
US8248972B2 (en) Packet acknowledgment for polled mesh network communications
MX2012008613A (en) High priority data reads for acquisition of real-time data in wireless mesh network.
MX2010004796A (en) Multiple communications protocol routing in advanced metering infrastructure context.
MX2010014416A (en) Ip encapsulation and routing over wireless radio networks.
US9078050B2 (en) Techniques for clock recovery in a mobile information collection network following a power outage
US20130215932A1 (en) Scalable packets in a frequency hopping spread spectrum (fhss) system
US20220224995A1 (en) Method for reading fluid meters
CA2717641C (en) Packet acknowledgment for polled mesh network communications

Legal Events

Date Code Title Description
AS Assignment

Owner name: TRILLIANT NETWORKS, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:VEILLETTE, MICHEL;REEL/FRAME:022207/0452

Effective date: 20081220

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION