I have read "flash boys". The author describes how the Royal Bank of Canada uses THOR and an own SIP against certain practices of flash traders. I understand why a bank or a broker can make beneficial use of these tools. But then, the author describes that also the newly created exchange IEX uses such tools. But why should an exchange do this? As far as I know, the market price on an exchange is built from (limit) orders, and not via SIP as an average of all exchanges (which would be circular anyway). An why should an exchange send (via THOR) an order to all other exchanges? This does not make sense to me.
This is related to Regulation NMS and ISO orders. Imagine, that you like to trade on IEX, and IEX shows you the inside bid-ask on MSFT at 100.01 - 100.03. You'd like to go ahead and buy 100 shares @ 100.03, but according to market rules, you cannot do it, if another exchange, say Nasdaq, displays an ask quote @ 100.02. So the exchange needs
a) to know if there's a better quote at a different exchange (hence, the need to receive data from other exchanges) to decide if it can fill your order locally,
b) to be able to send orders to other exchanges on your behalf. E.g. in the case above, it should be able to send an order to Nasdaq to take that quote @ 100.02, and if there are no other quotes at better price execute the reminder of your order at IEX.
You can check, for example, https://iextrading.com/trading/router/