Agents create and modify JDF information; Controllers route it to the appropriate
Devices. The minimum requirement of a Controller is that it can initiate Processes on at least one Device, or at least one other Slave Controller that will then initiate Processes on a Device. In other words, a Controller is not a
Controller if it has nothing to control. In some cases, a pyramid-like hierarchy of Controllers can be built, with Controllers at the top of the pyramid controlling a series of lower-level Controllers at the bottom. The lowest-level
Controllers in the pyramid, however, MUST have Device capability. Therefore, Controllers MUST be able to work in collaboration with other Controllers. In order to communicate with one another, and to communicate with Devices, Controllers MUST support the JDF file-exchange protocol and MAY support JMF. Controllers can also determine Process planning and scheduling data, such as Process times and planned production amounts.
(Source: JDF Spec. 1.4a)