Unitary and Fragmentary Transport Definitions

Transport definitions can be either unitary or fragmentary:

Unitary
Transports in several communicating process instances or process threads use the same transport definition to establish a bus.
Fragmentary
Transports in process instances use different transport definitions, which cooperate to establish a bus.

Inherently Unitary

Definitions of dynamic TCP mesh transports, shared memory transports, and process transports are inherently unitary. For example, one transport definition contains all the information that application processes require to establish and join a dynamic TCP mesh. Similarly, one shared memory segment serves as a bus for endpoints in many application processes, and one transport definition contains all the information that the application processes require to establish and join that bus.

Inherently Fragmentary

In contrast, static TCP, dynamic TCP listen/connect pairs, and RDMA transports are inherently fragmentary because they use connection-oriented protocols to establish a bus. For example, establishing each static TCP connection requires asymmetric transport definitions at the listening end and the connecting end. The two transport definitions specify complementary roles while establishing the bus: one listens, the other connects. Yet they must cooperate: they listen and connect at a common interface and port.

Neither Inherently Unitary nor Inherently Fragmentary

Multicast transport definitions can be either unitary or fragmentary. Multicast communication does not require any initial connection protocol, so the determining factor is the use case.

  • In a unitary use case, a set of communicating peers could all use the same multicast group as their bus. One transport definition suffices, and it specifies an identical multicast group for listen and for send.
  • In the more common fragmentary case, administrators control network data flow to achieve specific results, such as bandwidth allocation, performance, data segregation, or asymmetric multicast topologies. A set of shared multicast groups serve as the bus, as applications require different transport definitions, reflecting their different communication characteristics.