1. A method for data processing at a device in a network, comprising: (a) receiving data for processing; (b) determining data characteristics of the received data; (c) determining network conditions of the network; (d) determining device conditions of the device; (e) selecting one or more actions to be performed on the received data according to a pre-determined rule set; and (f) processing the received data according to the one or more selected actions, wherein the pre-determined rule set defines actions to be performed on the received data based on the data characteristics, the network conditions, and/or the device conditions.