1. A method of data caching and distribution, comprising: at a plurality of machines that are included in a linear communication orbit, wherein the linear communication orbit includes two end nodes, comprising a head node and a tail node, and the linear communication orbit is coupled to a server via one of the two end nodes: generating a data request by a first machine to request specific data; passing the data request along a data request path that tracks the linear communication orbit until the data request is received at a second machine, in the linear communication orbit, that returns the specific data in response to the data request, including passing the data request to a third machine between the second machine and the first machine in the linear communication orbit; returning the specific data from the second machine to the first machine via the third machine; and conditionally storing the specific data in a local cache of the third machine according to a data caching method, wherein: the plurality of machines includes the first machine, the second machine, and the third machine; and the plurality of machines are ordered in an ordered sequence in the linear communication orbit based on a predefined set of rules, with the third machine between the first and second machines in the ordered sequence, and with the first machine between the third machine and one of the two end nodes in the ordered sequence.