A system (100, 1200) for communication comprising: data storage configured to store a data object including data of an application, wherein the data object indicates a data object priority (284, 286, 290) and one or more acceptable communication links associated with the application, and wherein the data object priority (284, 286, 290) is based on an application priority of the application; and one or more processors configured to: retrieve, from a memory (114, 118), communication link status of a plurality of communication links, the communication link status indicating a plurality of available communication links with available bandwidth; retrieve the data object from the data storage based on the data object priority (284, 286, 290) and acceptable communication links of the data object including the plurality of available communication links; generate, based on the available bandwidth of the plurality of available communication links, sub-data objects of the data object; and initiate concurrent transmission of the sub-data objects via the plurality of available communication links, wherein the one or more processors are further configured to: detect an updated application priority, update the data object priority based on the detected updated application priority. data storage configured to store a data object including data of an application, wherein the data object indicates a data object priority (284, 286, 290) and one or more acceptable communication links associated with the application, and wherein the data object priority (284, 286, 290) is based on an application priority of the application; and one or more processors configured to: retrieve, from a memory (114, 118), communication link status of a plurality of communication links, the communication link status indicating a plurality of available communication links with available bandwidth; retrieve the data object from the data storage based on the data object priority (284, 286, 290) and acceptable communication links of the data object including the plurality of available communication links; generate, based on the available bandwidth of the plurality of available communication links, sub-data objects of the data object; and initiate concurrent transmission of the sub-data objects via the plurality of available communication links, wherein the one or more processors are further configured to: detect an updated application priority, update the data object priority based on the detected updated application priority. retrieve, from a memory (114, 118), communication link status of a plurality of communication links, the communication link status indicating a plurality of available communication links with available bandwidth; retrieve the data object from the data storage based on the data object priority (284, 286, 290) and acceptable communication links of the data object including the plurality of available communication links; generate, based on the available bandwidth of the plurality of available communication links, sub-data objects of the data object; and initiate concurrent transmission of the sub-data objects via the plurality of available communication links, wherein the one or more processors are further configured to: detect an updated application priority, update the data object priority based on the detected updated application priority. detect an updated application priority, update the data object priority based on the detected updated application priority.