COLLECTOR DEVICE AND SYSTEM UTILIZING STANDARDIZED UTILITY METERING PROTOCOL
First Claim
Patent Images
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.
1 Assignment
0 Petitions
Accused Products
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.
-
Citations
226 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
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. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
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. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55)
-
-
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. - View Dependent Claims (57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73)
-
-
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. - View Dependent Claims (77, 78, 79, 80, 81, 82)
-
-
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. - View Dependent Claims (84, 85)
-
-
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. - View Dependent Claims (87, 88)
-
-
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. - View Dependent Claims (90, 91, 92)
-
-
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. - View Dependent Claims (95, 96, 97, 98, 99, 100)
-
-
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. - View Dependent Claims (103, 104, 105, 106, 107)
-
-
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. - View Dependent Claims (113, 114, 115, 116, 117)
-
-
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. - View Dependent Claims (119, 120, 121)
-
-
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. - View Dependent Claims (123, 124)
-
-
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. - View Dependent Claims (126, 127, 128, 129)
-
-
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. - View Dependent Claims (133, 134, 135, 136)
-
-
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. - View Dependent Claims (138, 139, 140)
-
-
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. - View Dependent Claims (142, 143, 144, 145, 146, 147, 148)
-
-
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. - View Dependent Claims (150, 151, 152, 153)
-
-
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. - View Dependent Claims (155, 156, 157)
-
-
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. - View Dependent Claims (162, 163, 164, 165, 166, 193)
-
-
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. - View Dependent Claims (168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 194)
-
-
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. - View Dependent Claims (183, 184, 185, 186, 187, 195)
-
-
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.
-
-
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. - View Dependent Claims (197, 198, 199, 200, 201)
-
-
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. - View Dependent Claims (203, 204)
-
-
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. - View Dependent Claims (206, 207, 208, 209, 210, 211)
-
-
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. - View Dependent Claims (213, 214)
-
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. - View Dependent Claims (216, 217, 218, 219, 220, 221, 222)
-
-
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. - View Dependent Claims (224)
-
-
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.
-
Specification