In one example embodiment, each of the servers 106-1 to 106-5 in the network of servers 106 may be used to implement the processing functionalities of the radio and/or backhaul protocol stacks. For example, when a data packet is received from the user device 102 via one of the RRHs 104, the server 106-1 may execute software-defined commands of the radio protocol stack to perform the fronthaul/radio processing on the received data packet. Thereafter, the processed data packet may be routed (via a RAN software defined network (SDN) i-Switching controller, which will be described below) to another one of the servers 106-1 to 106-5 for backhaul processing. In one example embodiment, each server that performs the fronthaul/radio processing of data packets may be referred to as a relay agent for the radio protocol stack, while each server that performs the backhaul processing of data packets may be referred to as a relay agent for the backhaul protocol stack.
Accordingly, example embodiments provide for separation/decoupling of the backhaul and fronthaul processing of data packets (through software-defined implementation of the backhaul and radio protocol stacks via different one of the servers 106-1 to 106-5).
While example embodiments enable separation implementation of the backhaul and fronthaul processing using different servers in the network of servers 106, a single one of the servers 106 may be used to perform both the fronthaul and backhaul processing of data packets, depending on the routing/switching decisions provided by, for example, the RAN SDN i-Switching controller, which will be further described below.