Data Movers Overview
Data Mover is a plug-in tool designed to perform a point-to multipoint data transfers as a form of overlay networking.
It is created as a separate process from the original IBP server and can provide access to a variety of operations that range from simple variants of basic TCP-based data transfer to highly complex protocols like multicast to perform the transfers. It hides all the data processing and performance details from the user. It allows the developer to add new types of data movers with flexibility depending on the requirements of the environment or application.
The Data Mover call is activated either by an IBP_mcopy call or by an IBP_datamover call. The sender depot is responsible for invoking a Data Mover plug-in on the receiving depot and it accomplishes this by forking a Data Mover control process that sends an IBP_datamover request, causing the receiving depot to fork a symmetric Data Mover control. Sending and receiving control processes then execute the appropriate Data Mover plug-ins for the requested operation and these cooperate to perform the operation, then the plug-in at the sending depot replies to the client and both plug-ins terminate. Figure 1 illustrates this process.
Fig.1 The Data Mover general scheme design: this picture shows the three main design components and how they relate to each other (arrows). Dotted lines indicate IBP calls implemented independently from the data movers, black lines indicate data flow within the Data Mover modules.
The Data Mover software architecture supports the following
operations:
- Point-to-multipoint through simple iterated TCP unicast
transfers
- Point-to-multipoint through simple iterated TCP unicast
transfers
- Reliable Point-to-multipoint through simultaneous threaded UDP
transfers
- Unreliable point-to-multipoint utilizing native IP multicast
|