  This paper proposes an application-aware multipath packet forwarding
framework that integrates Machine Learning Techniques (MLT) and Software
Defined Networks (SDN). As the Internet provides a variety of services and
their performance requirement has become heterogeneous, it is common to come
across the scenario of multiple flows competing for a constrained resource such
as bandwidth, less jitter or low latency path. Such factors are application
specific requirement that is beyond the knowledge of a simple combination of
protocol type and port number. Better overall performance could be achieved if
the network is able to prioritize the flows and assign resources based on their
application specific requirement. Our system prioritizes each of the flows
using MLT and routes it through a path according to the flow priority and
network state using SDN. The proof of concept implementation has been done on
OpenvSwitch and evaluation results involving a large number of flows exhibited
a significant improvement over the traditional network setup. We also report
that the port number and protocol are not contributing to determine the
application in the decision-making process of Machine Learning (ML).
