1. A method of communicating between a client computing device process and a server process, in a distributed processing system, the method comprising: (a) issuing, by the client process, a synchronization request, wherein the synchronization request includes an identifier of an installed software update if the client computing device stores the installed software update; (b) receiving, by the server process, the synchronization request; (c) selecting, by the server process, an additional software update if the synchronization request comprises an identifier of at least one software update, wherein the selection of the additional software update is dependent on the fulfillment of a prerequisite defined in the additional software update, wherein the prerequisite requires the synchronization request to include an identifier for at least one specific software update (d) selecting, by the server process, a first level software update having a null value as a prerequisite if it is determined that the synchronization request does not comprise an identifier of at least one software update; (e) issuing, by the server process, an instruction component of the selected software update; (f) receiving, by the client process, the instruction component of the selected software update; and (g) storing, by the client process, the instruction components of the selected software update in the client computing device as an installed software update if the client computing device contains at least one component that fulfills a condition of an applicability rule stored in the selected software update.