Distributed data flow

Distributed data flow (also abbreviated as "distributed flow") refers to a set of events in a distributed application or protocol.
Distributed data flows serve a purpose analogous to variables or method parameters in programming languages such as Java, in that they can represent state that is stored or communicated by a layer of software. Unlike variables or parameters, which represent a unit of state that resides in a single location, distributed flows are dynamic and distributed: they simultaneously appear in multiple locations within the network at the same time. As such, distributed flows are a more natural way of modeling the semantics and inner workings of certain classes of distributed systems. In particular, the distributed data flow abstraction has been used as a convenient way of expressing the high-level logical relationships between parts of distributed protocols.
Informal properties.
A distributed data flow satisfies the following informal properties.
Formal representation.
Formally, we represent each event in a distributed flow as a quadruple of the form (x,t,k,v), where "x" is the location (e.g., the network address of a physical node) at which the event occurs, "t" is the time at which this happens, "k" is a version, or a sequence number identifying the particular event, and "v" is a value that represents the event payload (e.g., all the arguments passed in a method call). Each distributed flow is a (possibly infinite) set of such quadruples that satisfies the following three formal properties. 
In addition to the above, flows can have a number of additional properties.