  The emergence of OpenFlow and Software Defined Networks brings new
perspectives into how we design the next generation networks, where the number
of base stations/access points as well as the devices per subscriber will be
dramatically higher. In such dense environments, devices can communicate with
each other directly and can attach to multiple base stations (or access points)
for simultaneous data communication over multiple paths. This paper explores
how networks can maximally enable this multi-path diversity through network
programmability. In particular, we propose programmable flow clustering and set
policies for inter-group as well as intra-group wireless scheduling. Further,
we propose programmable demultiplexing of a single network flow onto multiple
paths before the congestion areas and multiplexing them together post
congestion areas. We show the benefits of such programmability first for legacy
applications that cannot take advantage of multi-homing without such
programmability. We then evaluate the benefits for smart applications that take
advantage of multi-homing by either opening multiple TCP connections over
multiple paths or utilizing a transport protocol such as MP-TCP designed for
supporting such environments. More specifically, we built an emulation
environment over Mininet for our experiments. Our evaluations using synthetic
and trace driven channel models indicate that the proposed programmability in
wireless scheduling and flow splitting can increase the throughput
substantially for both the legacy applications and the current state of the
art.
