1. A method of data caching and distribution, comprising: at a computational machine having a local cache, wherein the computational machine is coupled in a linear communication orbit that is further coupled to a server via a head node of the linear communication orbit, and the computational machine is distinct from the head node, the linear communication orbit further including a first machine and a second machine: receiving, via the linear communication orbit, from the first machine a data request that is used to request specific data; determining whether the computational machine stores the specific data in the local cache; and in accordance with a determination that the computational machine does not store the specific data in the local cache, responding to the data request, by: passing, via the linear communication orbit, the data request to the second machine, and when the second machine returns the specific data to the computational machine, returning, via the linear communication orbit, the specific data to the first machine and determining whether to store the specific data in the local cache according to a data caching method, wherein the head node, first machine, computational machine and second machine are sequentially ordered in an ordered sequence on the linear communication orbit based on a predefined set of rules, the computational machine is between the first machine and the second machine in said ordered sequence, and the first machine or the second machine is between the computational machine and the head node in said ordered sequence.