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

For example, definitions of shared memory, dynamic TCP meshes, and process transports are inherently unitary. One shared memory segment serves as a bus for endpoints in many application processes. One transport definition contains all the information that all the application processes require to establish 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 transports specify complementary modes: one listens, the other connects. The two transports 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.