3

Example BACnet network: enter image description here

Some help is needed to solve a problem around architecting an efficient method of polling BACnet devices across multiple networks (i.e. MS/TP networks) where client software at the BACnet/IP level is performing the polling operations.  Below are the preferred requirements.

Requirements

The example above could have more than 256 networks along with 60+ devices under each network.  The method of polling shall have the following traits: 

  1. No more than 256 (adj.) devices may be polled at one time while awaiting responses even if the devices are all on separate networks.
  2. When one device responds, another request may be sent such that no more than 256 (adj.) requests are awaiting responses.
  3. Devices which are on the same network may be polled in parallel such that no more than 2 (adj.) devices on the same network are awaiting responses.
  4. Polling devices on the same network is a bottleneck which is why the limit is adjustable.  For this reason, the polling method shall prefer to spread the requests across networks before beginning to add multiple device requests on the same network.

Is that enough info to take a stab at it?  How might one architect something like this and is there a design pattern that would fit this nicely? Not looking for specific code implementations but rather how one would determine the players involved and their role in the process to carry out the requirements above.

0 Answers0