Agents

The agent is the start of the DI platform's real-time data process that allows you to open a DI app and experience that data as a presentation of actionable maps, charts, lists, and so on.

An agent package is a .zip file typically between 400 and 900KB, that contains an executable software image and other DI software components. It is downloaded using EAC to operate within the container of an outcome data-enabled meter (either OpenWay Riva Electricity Meter or Gen5 Riva Electricity Meter). Each agent subscribes to some combination of the meter's resource measurement data, or, metrology data, it needs to deliver a data-driven answer to a very specific concern. The agent then processes that data and/or sends it on.

How each agent processes metrology data, and when and to where it sends data is determined by the individually licensed and configurable functions of the agent itself. Regardless of each agent's details, all agents first encrypt their data into packets before sending it anywhere.

An agent may do any combination of the following (for more information about a specific agent, see the section Itron-Developed Agents):

  • Run algorithms on metrology data it receives from the meter to create outcome data.

  • Communicate over secure application layer APIs with the meter's other components for analysis to create outcome data.

  • Combine these two processing methods to create outcome data.

  • Process no metrology data at all, and instead send it to a different agent for processing.

  • Process, then send the outcome data to one or multiple applications.

  • Process, then send the outcome data to a different agent.

  • Process, then send outcome data in the form of alarms to one or multiple applications.

Whatever process-send combination an agent uses, it is one designed for efficiency—to achieve its narrow purpose while using as little of the meter's and network's resources as possible.

If you are a developer developing and testing a new agent, or an Itron delivery team installing a DI project for a new customer, it is important to understand the relationship between agents, containers, and meters, and to understand that the balance between them relies on the agent's efficiency, and performance:

  • Some agents require more of the meter's resources than others, therefore, the number of agents that a meter can run simultaneously depends on the agents and how they are used.

  • A single agent may feed outcome data to more than one app (in other words, the agent-to-app relationship is not necessarily one-to-one).

  • Agents run within containers to separate their functionality from the meter's. Separating these functions ensures that the meter manages the agent's resources usage.

  • Most importantly, separating these functions prevents the agent functions (and any possible malfunction) from affecting the meter and its regular capabilities.