The easiest and cleanest approach is to use the scratchpad (updated periodically) and allow other controllers to grab this data when they need it. I suggest checking communication (in case the PAC-R isn't available) and transferring the scratchpad data to an internal variable (keep it the same name as the original) to prevent simultaneous calls from different charts.
I know you mention using the REST interface but scratchpad communications is fast and clean.
On larger peer to peer setups you may want to consider reading a heartbeat from each of your data sources to ensure the controller is operational (keep in mind that scratchpad works with the program running or not running), plus compress your binary type data into I32 variables. This will greatly streamline your system.
With 2 or 3 controllers you can simply grab info as you need it but with a larger number of controllers (we've done system with 12+ controllers passing internal variables back and forth - some at 100msec update times) I would suggest designating controllers that will both read and write to other controllers scratchpad (read destination info and supply destination with its info). This will reduce Ethernet Collision which we've seen slow down communications as well as reduce overall processor utilization (bad communication slows down overall chart time since the commands take longer to complete).