IP Library Granted Patent US 12706819
Granted Patent B2
US 12706819 · App. 18/820,063 · Granted Aug 11, 2026

Network abstraction for endpoint devices

Inventors: Christopher Mock (Garner, NC); Joseph Martin (Raleigh, NC)
Assignee: ITRON, INC.
H04L43/04H04L43/20H04W52/0258
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12706819
App. No.
18/820,063
Granted
Aug 11, 2026
Kind
B2
Abstract

Various embodiments disclose a method comprising, receiving, by a computing device, a first message for transmission to an endpoint from a messaging queue; determining, by the computing device, a first network to which the endpoint is connected; creating, by the computing device, an endpoint object corresponding to the endpoint, the endpoint object being configured with network specific information associated with the first network; receiving, by the endpoint object executing on the computing device from a subnetwork object executing on the computing device, an indication that the message can be delivered to the endpoint via the first network; and in response to the indication, transmitting, by the endpoint object, the first message to the endpoint using the first network.

Claims (60)

1 . A method comprising:

receiving, by a computing device, a first message for transmission to a first endpoint from a messaging queue;

determining, by the computing device, a first network to which the first endpoint is connected;

identifying, by the computing device, a first endpoint object corresponding to the first endpoint, the first endpoint object being configured with network specific information associated with the first network;

receiving, by the first endpoint object executing on the computing device from a subnetwork object executing on the computing device, an indication that the first message can be delivered to the first endpoint via the first network based on at least one of a network pacing requirement of the first network or a reachability state of the first endpoint; and

in response to the indication, transmitting, by the first endpoint object, the first message to the first endpoint using the first network.

2 . The method of claim 1 , wherein the first endpoint comprises a metering device that collects metrology data.

3 . The method of claim 1 , wherein the network specific information associated with the first network comprises a transport protocol utilized by the first network, the transport protocol being a transmission control protocol (TCP) or a user datagram protocol (UDP).

4 . The method of claim 1 , wherein transmitting the first message to the first endpoint using the first network comprises transmitting the first message to a network provider gateway providing access to the first network.

5 . The method of claim 1 , further comprising:

receiving, by the computing device, a second message from the first endpoint via the first network;

identifying, by the computing device, the first endpoint object associated with the first endpoint from a plurality of endpoint objects executed by the computing device;

providing, by the computing device, the second message to the first endpoint object associated with the first endpoint; and

forwarding, by the first endpoint object executing on the computing device, the second message to a destination specified in the second message.

6 . The method of claim 5 , wherein the second message comprises metrology data associated with the first endpoint and the destination comprises an endpoint infrastructure management system that utilizes the metrology data.

7 . The method of claim 1 , wherein the subnetwork object executing on the computing device generates the indication that the first message can be delivered to the first endpoint via the first network in response to determining that network pacing requirements of the first network are satisfied.

8 . The method of claim 1 , wherein the subnetwork object executing on the computing device generates the indication that the first message can be delivered to the first endpoint via the first network in response to determining that a bandwidth restriction associated with a portion of the first network will not be exceeded.

9 . The method of claim 1 , further comprising:

receiving, by the computing device, a second message for transmission to a second endpoint from the messaging queue;

determining, by the computing device, a second network to which the second endpoint is connected;

creating, by the computing device, a second endpoint object corresponding to the second endpoint, the second endpoint object being configured with network specific information associated with the second network, wherein the second network is different from the first network;

receiving, by the second endpoint object executing on the computing device from a second subnetwork object executing on the computing device, a second indication that the second message can be delivered to the second endpoint via the second network; and

in response to the second indication, transmitting, by the second endpoint object, the second message to the second endpoint using the second network.

10 . The method of claim 1 , further comprising:

receiving, by the computing device, a second message for transmission to the first endpoint from the messaging queue;

identifying, by the computing device, the first endpoint object associated with the first endpoint;

receiving, by the first endpoint object executing on the computing device from the subnetwork object executing on the computing device, a second indication that the second message can be delivered to the first endpoint via the first network; and

in response to the second indication, transmitting, by the first endpoint object, the second message to the first endpoint using the first network.

11 . The method of claim 1 , wherein the first network comprises a cellular network.

12 . A computing system, comprising:

one or more processors; and

a memory storing executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

acquiring a first message to be provided to an endpoint;

identifying a network to which the endpoint is connected;

identifying a first software component corresponding to the endpoint, the first software component being configured with network specific information associated with the network; and

in response to receiving, by the first software component executing on the computing system from a second software component executing on the computing system, a first notice that the first message can be delivered to the endpoint via the network, sending, by the first software component, the first message to the endpoint via the network, wherein the first notice is based on at least one of a network pacing requirement of the network or a reachability state of the endpoint.

13 . The computing system of claim 12 , wherein the second software component provides the notice to the first software component in response to determining that the endpoint is awake and can receive messages.

14 . The computing system of claim 13 , wherein the second software component further determines that the endpoint is awake according to at least one of extended discontinuous reception (eDRX) or power saving mode (PSM).

15 . The computing system of claim 12 , wherein the operations further cause the one or more processors to perform operations comprising:

acquiring a second message from the endpoint via the network;

identifying the first software component associated with the endpoint from a plurality of first software components executed by the computing system;

providing the second message to the first software component associated with the endpoint, wherein the first software component determines that the second message comprises a subsequent message part;

obtaining, by the first software component executing on the computing system from the second software component executing on the computing system, a second notice that the subsequent message part can be obtained from the endpoint via the network; and

in response to the second notice, acquiring, by the first software component, the subsequent message part from the endpoint via the network.

16 . The computing system of claim 12 , wherein the executable instructions, when executed, cause the one or more processors to acquire the first message from a messaging queue, wherein an endpoint infrastructure management system places the first message into the messaging queue.

17 . One or more non-transitory computer-readable media storing instructions which, when executed by one or more processors of a computing environment, cause the one or more processors to perform operations comprising:

extracting, from a queue, a first message addressed to an endpoint;

determining a network on which the endpoint is located;

identifying an endpoint object for communicating with the endpoint;

requesting, by the endpoint object executing in the computing environment, a signal from a subnetwork object executing in the computing environment that the first message can be delivered to the endpoint;

receive, by the endpoint object executing in the computing environment from the subnetwork object, the signal that the first message can be delivered to the endpoint based on at least one of a network pacing requirement of the network or a reachability state of the endpoint; and

in response to the signal, transmit, by the endpoint object, the first message to the endpoint using the network.

18 . The one or more non-transitory computer-readable media of claim 17 , wherein transmitting the first message to the endpoint using the network comprises transmitting the first message to a network provider gateway associated with the network.

19 . The one or more non-transitory computer-readable media of claim 17 , wherein the operations further comprise:

obtaining a second message from the endpoint via the network;

determining the endpoint object associated with the endpoint from a plurality of endpoint objects;

providing the second message to the endpoint object associated with the endpoint; and

transmitting, by the endpoint object, the second message to a destination specified in the second message.

20 . The one or more non-transitory computer-readable media of claim 17 , wherein the first message comprises a management command from an endpoint infrastructure management system to the endpoint.

21 . The one or more non-transitory computer-readable media of claim 17 , wherein the subnetwork object generates the signal that the first message can be delivered to the endpoint via the network in response to determining that one or more policies associated with the network are satisfied.