Communicating systems use well-defined formats (protocols) for exchanging messages. Each message has an exact meaning intended to elicit a response from a range of possible responses pre-determined for that particular situation. Thus, a protocol must define the syntax, semantics, and synchronisation of communication; the specified behaviour is typically independent of how it will be implemented. A protocol can, therefore, be implemented as hardware, software, or both. Communication protocols have to be agreed upon by the parties involved. A protocol may be developed into a technical standard to reach an agreement.
On our communication grid, we host a variety of flavours, like: