Wireless Adaptive Video Streaming with Edge Cloud

Wireless data traffic, especially video traffic, continues to increase at a rapid rate. Innovative network architectures and protocols are needed to improve the efficiency of data delivery and the quality of experience (QoE) of mobile users. Mobile edge computing (MEC) is a new paradigm that integrates computing capabilities at the edge of the wireless network. This paper presents a computation-capable and programmable wireless access network architecture to enable more efficient and robust video content delivery based on the MEC concept. It incorporates in-network data processing and communications under a unified softwaredefined networking platform. To address the multiple resource management challenges that arise in exploiting such integration, we propose a framework to optimize the QoE for multiple video streams, subject to wireless transmission capacity and in-network computation constraints. We then propose two simplified algorithms for resource allocation. The evaluation results demonstrate the benefits of the proposed algorithms for the optimization of video content delivery.


Introduction
Mobile multimedia content, especially video traffic, has been growing at a rapid pace. It is anticipated that global mobile video traffic will increase 11-fold from 2016 to 2021, reaching 23 exabytes per month and accounting for 75 percent of total mobile data traffic by 2021 [1]. Innovative network architectures and protocols are needed to improve the efficiency of data delivery and the quality of experience (QoE) of mobile users. The trend of combining advanced information technology and communications is creating unprecedented opportunity for innovation when designing network-centric services. The rapid growth in cloud computing is an outcome of such integration. However, the traditional cloud computing model that depends on centralized data centers has many limitations. For example, a mobile device may experience varying wireless connectivity due to mobility, interference, and wireless traffic load. The content service provider and its cloud data centers are far away and simultaneously serve many users, making it difficult to adapt traffic (video coding rate) to dynamic wireless network conditions.
To address the shortcomings of data centers, a new paradigm, mobile edge computing (MEC), also termed fog computing, has recently gained attention in both academia and industry [2][3][4][5][6], which integrates computing and storage capabilities at the edge of the network, near mobile users, to provide real-time radio-aware services and enhance user experience. MEC servers or microcloud with computing, storage, and communication capabilities can be deployed to process data in the wireless access networks, e.g., adapting video rates to changing network conditions, to improve the QoE of video streaming.
The ability to dynamically program and reconfigure networks is essential for improving quality of service (QoS) and ensuring efficient content delivery. Software-defined networking (SDN) is considered to be a key technology enabler for meeting these requirements [7][8][9][10]. Decoupling the data plane and control plane in SDN along with an open interface enables network administrators to have programmable control of network traffic, thereby flexibly and predictably routing specific data flows, as well as extending network functions. However, SDN is currently only used to 2 Wireless Communications and Mobile Computing control forwarding and routing of data flows. It does not offer logic to control in-network computation and lacks the capability to handle network-aware processing.
In this paper, we propose a wireless access network architecture based on the MEC and SDN concepts, called CloudEdge, for more efficient and robust video streaming and content delivery. CloudEdge turns a wireless access network into a programmable microcloud, integrating in-network data processing capabilities with wireless access and an open interface. Computing servers can be deployed in the wireless access network, and various resources are controlled by a unified orchestration platform to fully exploit the potential of innetwork processing to enhance user experience and optimize traffic in the network. For example, if a user is receiving video streamed to his mobile device and his wireless connection deteriorates due to congestion, mobility, and/or interference, the subsequent video objects can be automatically routed to a virtual server instance in the wireless access network that transcodes the video objects to match the current radio channel conditions. The transcoded video objects are then forwarded to the mobile user. This ensures that the mobile user will get the best available QoE given the existing wireless network conditions.
With integrated in-network data processing and wireless delivery, it is possible for the network to optimize the overall performance based on the demands of multiple users. To achieve this potential, multiple resources in the network including bandwidth and CPU cycles need to be carefully managed. Realizing such system performance optimization is challenging because multiple resources are shared by multiple users whose wireless channels are dynamic and QoS requirements are diverse. We develop a multiresource management solution in this paper to demonstrate the benefits of the proposed system architecture. Specifically, we formulate a framework to optimize the QoE of multiple video streams, subject to wireless channel bandwidth and in-network video transcoding capability constraints.
We focus on wireless video content delivery as an example application in this paper. However, the architecture and techniques developed here are expected to be useful in the design to support other types of applications, e.g., video surveillance and smart traffic control, as well, and such a computationcapable and programmable networking paradigm will enable a range of new applications.
The rest of the paper is organized as follows: Section 2 describes the proposed CloudEdge system architecture. In Section 3, the optimal resource management framework for multiple video streams is derived. Section 4 proposes two simplified algorithms for resource management. The evaluation methods and results are given in Section 5. Section 6 summarizes the related work. Finally, Section 7 concludes the paper and discusses future work.

System Architecture
The CloudEdge system architecture design takes on a network service-centric model. We envision that distributed computing and storage resources can be deployed in wireless access networks, e.g., cellular networks or WiFi hotspots, which will host virtual instances to dynamically perform customized computations on data as needed, as well as cache processed data while delivering it. The computation and storage hardware, such as general-purpose CPUs, GPUs, memory, flash storage, and specialized pluggable video transcoders, may be integrated into or colocated with base stations (BSs), access points (APs), backhaul switches, and routers. Network operators may also deploy dedicated microclouds or cloudlets in the wireless access networks. Such a computation-capable and programmable access network is able to provide not only data forwarding but in-network data processing with wireless network awareness and low latency, supporting various applications with rich services at the edge. The following principles are used in CloudEdge design: (i) Decoupling of the data plane and control plane, as well as the hardware and software. Thus, traffic flows can be routed with greater flexibility, and software-based implementations of in-network services and applications can run on general-purpose or specialized hardware platforms. (ii) Unified control. Wireless transmission, traffic routing, in-network data processing, and caching are managed by a single (logically) centralized controller. Extending the SDN concept, the controller takes a unified, network-wide view to generate configurations and policy rules for all traffic as well as in-network services. The bandwidth, computation, and storage resources can be abstracted and shared by multiple applications. This is different from standalone middleboxes [11], where each box or application is managed independently with little extensibility. Given the power of modern computing devices, as well as the potential scale of a wireless access network, the redundant clusters may be used as the controller platform [8,9] to address single-point failure and scalability concerns. (iii) Open interface. The resources in the wireless access network can be used by the network operator to provide in-network services. Such services could be user-requested services and/or transparent services. The latter is activated by the network automatically based on the preset rules. In addition, the network infrastructure can be virtualized, and the resources can be used to host third-party services as virtual instances through an open interface. This will simplify the service deployment for the third-parties and generate extra revenue for the network operator.
(iv) Name-based network management. Each device, service, content item, resource, and interface are given a unique name that is used for reachability and management.
CloudEdge can be implemented as an overlay on conventional IP networks, and it can also be compatible with namebased future network architectures [12][13][14]. In this paper, we focus on a specific use case, in-network rate adaptation of streaming video, to describe the CloudEdge design in Wireless Communications and Mobile Computing 3 more detail and demonstrate its benefits. We consider video because it is the predominant traffic in networks, and it will greatly benefit from in-network adaptation services. Figure 1 illustrates the high-level system diagram of a CloudEdge wireless access network. Mobile users connect to the wireless access network through WiFi or cellular radios. The AP/BS is enhanced to report measured radio parameters, such as the link data rate of each mobile user and current bandwidth usage to the CloudEdge controller. The AP/BS also receives configuration commands from the controller. To reduce the controller load, the MAC function is split between the controller and the AP/BS. The controller provides the high-level policy such as the maximum share of channel time that can be used to transmit a particular data flow. The AP/BS will implement the schedule to transmit data using standard wireless protocols such as IEEE 802.11, 3GPP 4G Long-Term Evolution (LTE), or emerging 5G New Radio (NR), based on the resource allocation policy.
The bandwidth and computation resources can be virtualized and dynamically shared by different applications and services. The CloudEdge controller will monitor and manage all the resources in the wireless access network. All of the devices, such as routers, switches, APs/BSs, and computation servers have separate control and data interfaces. The control interfaces are used to communicate with the controller, reporting the resource usage and service status, and receiving commands from the controller. The controller also has an open interface for external applications that allows thirdparty application/content providers to lease resources and deploy their own services.
Each of the network-attached objects in CloudEdge, including devices, contents, services, applications, and interfaces, is assigned a unique identifier. A hierarchical naming scheme is used [12]. The identifier of a content object (CO), e.g., a video segment, is presented in a binarycoded format of /Publisher.Com/MovieTitle/SegmentID. Every deployed service is identified by a unique service identifier (SID) that could look like the following: /Wire-lessNetID/TranscodingServiceID. The CloudEdge controller maintains the mapping between the SID and the service resources. The controller is responsible for both establishing the data routing path and managing the in-network data processing.
When the edge router in CloudEdge receives a CO, it checks whether the rules have been set up to forward this CO in its forwarding table based on the CO header. If so, it will follow the rules to forward the CO to the next hop. Otherwise, it will buffer the CO and forward only the CO header to the controller through its control interface. The controller will then make the decision based on the resources demanded by the CO and the resources available in the wireless access network. If there is not enough wireless bandwidth to transmit the CO to the user, or an in-network service; e.g., video coding format change has been requested by the original sender (the CO header contains a requested SID); the controller will instruct the edge router to send the CO to the transcoding service for processing by adding a command field in the CO header and sending the header back to the edge router. The command field contains the routing rules from the edge router to the transcoder, and the rules for how to process the CO, such as the format, resolution, and data rate that the video content needs to be transcoded to, as well as the route from the transcoder to the user. The CO will be forwarded to the transcoder, and the transcoder reduces the video resolution and data rate per the controller's instruction. The transcoded video is then sent to the AP/BS that forwards to the user. If there is enough wireless bandwidth to forward the CO to the user and no in-network data processing is requested for the CO, the controller will instruct the edge router to directly forward the CO data to the user through the AP/BS by adding a source route in the CO header before sending the modified CO header to the edge router over the control interface. The controller may instruct the edge router and AP/BS to handle additional COs belonging to the same content flow or user with the same rules until such rules are modified or expired. Then the edge router does not have to send the CO headers of the related subsequent COs to the controller.

Resource Management and Optimization
To address the new multiresource management challenges that arise when exploiting in-network transcoding service to optimize overall performance of video delivery in a wireless access network, we propose a framework in this section. The framework optimizes the allocation of wireless network resources and determines the transcoding rate for each stream to maximize the average QoE of multiple video streams, subject to the available wireless bandwidth and computation constraints of the CloudEdge transcoder.    [15,16]. It is assumed that if the resolution a user receives drops by one level from his requested quality, the MOS decreases a quality level as well. This conjecture results in Table 2. For example, if a user requests a streaming video at a resolution of 1080p and he receives 1080p video, the user has a ReQoE of 4.5 or Very Satisfied. If a user receives 720p video when his desired QoE is 1080p, that user has a ReQoE of 4.3 or Satisfied. Here the ReQoE is based solely on the change in resolution, if any, between the received and desired resolutions. In this case, we assume no packet loss. The impact of packet loss will be discussed later. Figure 2 shows the CloudEdge operations. First, N users request video streams; the controller then queries the AP/BS for the radio link data rate between each of the users and the AP/BS, while simultaneously querying the transcoder for its available computation resources. Next, the controller uses the queried information to calculate the settings to optimize the average ReQoE of all the users based on the algorithms described below. Then, the controller redirects the requested video streams that are to be transcoded to the transcoder, configures the transcoder with the video transcoding parameters of each stream, and configures the AP/BS channel utilization time for each user.

Problem Formulation.
We consider that N video streams are sent to the users. If there is not enough wireless bandwidth to transmit the N video streams at the quality that the users requested, then the video will be rerouted to the transcoder for rate adaptation. Due to the design of our system, there are two primary constraints. The first is the wireless channel bandwidth, which limits the maximum throughput of the AP/BS. The second constraint is the computation power available to the transcoder in the CloudEdge.
Adaptive modulation and forward error correction schemes are typically used in data transmission by the AP/BS [17]. The link transmission rate for a user depends on its Signal-to-Noise Ratio (SNR). For example, for 802.11g, the user data rate will be 6, 9, 12, 18, 24, 36, 48, or 54 Mbps, dependent upon the channel SNR value. Assume that video stream i is sent to user i and its data transmission rate is 푟 . Let 훼 (0 ≤ 훼 ≤ 1) denote the channel utilization, i.e., the share of time that the AP/BS uses the wireless channel to transmit video stream i. Then the throughput of stream i is 푇 = 훼 푟 . The data transmission should meet the wireless channel utilization constraint; that is, Assume that 푐 units of processing cycle are needed if stream i is transcoded. We define 푥 as a variable to indicate whether stream i is transcoded (푥 = 1) or not (푥 = 0). Then the transcoding constraint is where C is the total available processing cycles. As shown in Figure 3, the desired video rate, i.e., the userrequested rate for video stream i, is 푆 , and the video rate Wireless Communications and Mobile Computing 5   Figure 3: In-network video transcoding and wireless delivery.

Micro-Cloud & Transcoder
after transcoding is 푆 . The transcoder can reduce the video resolution, i.e., decreasing the video rate. Then we have 푆 < 푆 푖 푓 푥 = 1 푡푟푎푛푠푐표푑푖푛푔 , and Let 훿 denote the protocol overhead, which includes the video object header, the lower layer headers, and overhead to transmit video data; then, the required bandwidth to transmit the video stream is The objective is to optimize the average ReQoE for all video streams transmitted by the AP/BS. The ReQoE is based on the received versus desired video resolution, and the received video resolution translates to required bandwidth. The objective can thus be formulated as max 푅푒푄표퐸 훼 , 푆 , subject to wireless bandwidth constraint (1), transcoding constraint (2), as well as constraints (3), (4), and (5). In general, ReQoE is a nonlinear function of 푆 and 훼 . This is then a mixed integer nonlinear programing (MINLP) problem, which is nondeterministic polynomial-time (NP) hard. In this paper, we consider a set of the standard video resolutions, with each video resolution having a targeted streaming data rate as recommended by YouTube [18], which is shown in Table 3. Thus, the problem becomes a nonlinear integer programing (NLIP) problem. We can then employ an exhaustive search algorithm to determine the optimal allocation of wireless channel utilization and transcoding rate for each video stream. We will also propose the simplified approximation algorithms in the next section. If there is enough wireless bandwidth to meet the requirements of all the video streams at the quality desired by the users, that is, constraints (1), (4), and (5) are satisfied, no transcoding is necessary. The incoming video data is then directly forwarded to the users via the AP/BS. Otherwise, transcoding is performed based on the determined rates. Note that one or more video streams may be dropped if the AP/BS is unable to support the data rate required to provide the minimum video resolution of 360p.

Approximation Algorithms
Due to the complexity of determining the above nonlinear optimum solution of ReQoE, we propose two simplified approximation algorithms in this section, and their performance will be compared to that of the optimum solution in the next section.
Although the throughput maximization algorithm is simple, the maximization of AP/BS throughput does not mean the optimization of the average ReQoE, and the algorithm tends to allocate more channel times to the users with higher link data rate. In order to improve upon the basic throughput maximization algorithm, we design a heuristic iterative algorithm, presented in the next subsection, which attempts to fairly distribute available wireless bandwidth to the users and achieve a high average QoE.

Heuristic Iterative Algorithm.
As shown in Algorithm 1, if there is enough wireless bandwidth to transmit all N video streams at the quality each user desires or requests, no transcoding is needed and all the video streams will be forwarded directly to the users. Otherwise, the heuristic iterative algorithm will lower the video resolution of a stream by one level if the transcoder has enough computation cycles to do so. The algorithm starts from the stream with the worst wireless link data rate because it requires the most channel time to transmit a certain amount of data. The algorithm checks whether there is enough wireless bandwidth to transmit all the video streams each time a video stream rate is reduced. If not, it will lower the stream with the next worse link data rate by one level. The process continues. Once the resolution of all the streams has been lowered by one level, if the wireless bandwidth is still insufficient to transmit the video streams, the algorithm begins the next round, starting from the stream with the lowest link data rate and then streams with the order of increasing link rate. If the resolution of all the transcoded streams is lowered to the minimum (360p in our scenario) but they still cannot be supported, some streams will be dropped, starting from the one with the worst link rate. This process continues until the resolution of the video streams that can be delivered with the available wireless bandwidth are discovered.
This algorithm attempts to fairly distribute the available wireless bandwidth to the users. It does not reduce any stream resolution by two levels until all other streams have been lowered by one level. The algorithm's primary goal is to ensure as many users as possible receive video, and its secondary goal is to provide the best video resolution possible, within the wireless bandwidth and transcoding computation constraints. This heuristic algorithm lowers the resolution of a stream by one level each iteration until it finds a feasible solution. Hence, its complexity is 푂(푁 × 퐾) for N streams and K resolution levels.

Evaluation Results
In this section, we evaluate the performance of the proposed resource allocation algorithms and show the simulation results to unveil the impact of in-network processing on video delivery quality using edge cloud. We consider N video streams sent to the users through the proposed CloudEdge wireless access network. The radio access protocol is assumed to be IEEE 802.11g, and the link data rate for transmitting a video stream is determined using a practical link adaptation algorithm [20] based on the end user's channel SNR. We assume that users will request a desired video resolution based on their device capability and that the video server is capable of sending the desired resolution.
In order to establish a baseline for comparison of a CloudEdge network that can transcode users' video streams and a basic wireless network that cannot, we consider the effect of packet loss on the average QoE of a video stream. If there is no transcoding to adjust the video rate, the data that is above the AP wireless channel capacity would be dropped. In [16], the authors present a model on the quantitative relationship between QoE score and packet loss and give the parameters based on the curve fitting of actual datasets. Based on this model, we use the following function to calculate the impact of the packet loss on the QoE value of a video stream, 푄표퐸 = 3.010 * 푒 −4.473 * + 1.49 (12) To compare the performance of different algorithms, including optimal ReQoE, throughput maximization algorithm, heuristic iterative algorithm, and the baseline with no transcoding, a number of network scenarios have been simulated. We present the results for some typical scenarios below. Figures 4 and 5 show the average ReQoE versus the number of video streams with in-network transcoding using our heuristic iterative algorithm and without transcoding. Each figure presents two scenarios, one with all users desiring to stream video at a resolution of 1080p, and the other with all users desiring to stream video at a resolution of 720p, as labeled in the graph. In Figure 4, all users are connecting to the AP with the same link data rate, and, in Figure 5, users have different link data rates to the AP. We have assumed in this simulation that the transcoder is able to process as many video streams as needed to achieve the best average ReQoE. The impact of limited transcoding capacity will be shown later. In Figure 4, the simulation results show that when the number of video streams increases and there is not enough wireless bandwidth to transmit the video streams at their original quality/data rate, employing in-network transcoding to lower the video quality/data rate can greatly improve the average ReQoE. Otherwise, as video streams suffer from packet loss, video quality degrades quickly. This demonstrates one of the benefits of implementing CloudEdge with the ability to perform in-network transcoding and resource management in a wireless access network. Figure 5 shows the average ReQoE versus the number of streams in a case where users are randomly distributed in a circle of 100 m with the AP at the center. The transmitting power of AP is fixed to a value such that the average link SNR is 0 dB. The users are connected to the AP with different link data rates determined by a link adaptation algorithm [21] based on their channel estimation. This represents a more realistic scenario. One interesting data point to note in the 720p transcoding case is that when user 6 connects to the AP, the average ReQoE drops sharply, but goes back up again when user 7 joins. We notice that this phenomenon occurs because user 6 has a very low link data rate, but user 7 has a very high link data rate; therefore when user 7 joins, it is able to receive a high ReQoE while requiring low channel utilization time, which helps to improve the average ReQoE.

Impact of In-Network Transcoding.
Next, we investigate the impact of limited transcoder computation power on the average ReQoE. Figure 6 shows the average ReQoE versus the maximum number of video streams that the in-network transcoding service can process. The assumptions in this scenario are that there are 12 video streams being requested. The video resolutions being requested by all users are 1080p in the first scenario and 720p in the second. The simulation results show that, for the 720p scenario, eight streams must be transcoded in order for the average ReQoE to achieve the maximum potential. For the 1080p scenario, because each stream requests a higher data rate, the average ReQoE continues to improve until all 12 streams are transcoded.

Performance
Comparison. Next, we compare the performance of the three algorithms (optimal ReQoE, AP throughput maximization, and heuristic iterative), along with the baseline case of no transcoding. Figures 7 and 8 show that if all users connect to the AP with the same link data rate and desired video resolutions of 720p and 1080p, respectively, then the results of our heuristic iterative algorithm are very close to those of the theoretical optimal ReQoE. It outperforms the throughput maximization algorithm. All three algorithms achieve much better performance than the no transcoding case. For Throughput Max algorithm, when the number of video streams is over 10, none of the video streams can get the minimum video quality.
In Figures 9 and 10, the users connect to the AP with different link data rates and desired video quality of 720p and 1080p, respectively. As shown in the figures, the heuristic iterative algorithm performs better than the throughput maximization algorithm. However, the average ReQoE value of the heuristic iterative algorithm degrades quicker than that of the theoretical optimal ReQoE as the number of requested video streams increase. This is because the heuristic iterative    in most cases, is better than the throughput optimization scheme.

Fairness.
In order to compare the fairness of the different algorithms proposed, we utilize Jain's Fairness Index [22], which is a mathematical tool for calculating how evenly different users or processes are treated within a particularscenario. It is calculated as follows: To calculate the fairness, we use the received data rate of each user, i.e., the throughput obtained by each user as an indicator.   Figure 11 shows the special case of all users connected to the AP with the same link data rate. For this case, the throughput maximization algorithm is the fairest, because, with the same link data rate for all the users, the throughput maximization algorithm simply divides the available bandwidth among the number of users requesting video data and conducts transcoding as needed. This method fails to successfully transmit any video streams for 10 or more users, because in this case the available bandwidth divided by 10 is too low to support even the lowest video quality. In Figure 12, the users have different link data rates. It shows that at first the throughput maximization and heuristic iterative algorithms have the same level of fairness until the fourth stream begins. The optimal ReQoE algorithm routinely supports one or more users at the highest data rate while simultaneously dropping one or more users with poor link data rates, making it the most unfair.

Related Work
Cloud computing has been widely studied [23][24][25]. However, the traditional cloud computing model depends on centralized data centers which have difficulty adapting to meet the requirements for fast response to the changes in wireless access networks. Deploying in-network processing capabilities at the edge of the network provides real-time access to wireless network information and enables better context-aware processing with minimum latency. CloudEdge is not a simple extension to traditional cloud technologies due to its distinctive characteristics. In contrast to dedicated data centers, the computing capability in wireless access networks is limited, making resource management much more critical.
Mobile edge computing, also called multiaccess edge computing, or fog computing is an emerging research area, which aims to provide cloud computing capabilities at the network's edge. Its application scenarios and challenges have been discussed in several recent publications [26][27][28]. A cloudlet architecture [29,30] was proposed to host innetwork services and to help Internet Service Providers (ISPs) and application providers deploy their services at strategic network locations. The design is based on a name-oriented clean-slate Internet architecture [14], which assigns a globally unique identifier (GUID) to each of the network objects. A directory resolution mechanism is employed to resolve a GUID to its network address in order to forward the request to the destination. The GUID resolution mechanism is different from an SDN controller. It only provides a directory service to map GUIDs to network addresses, but the SDN controller can inject the logic into network elements and program the data plane. In [11], an architecture was proposed to consolidate middleboxes in enterprise networks and enable the middlebox applications to run on a consolidated hardware platform. However, this work focused on enterprise network appliance functions such as intrusion detection systems, firewalls, and VPNs with limited extensibility. It also required a lot of manual provisioning with little programmability, which leads to inefficiency in management and use of the infrastructure. In addition, it did not consider the impact of varying wireless channel conditions to the middleboxes, nor did it allow third-party content providers to use the resources. The industry standardization effort on mobile edge computing is underway in the European Telecommunications Standards Institute (ETSI) [31] with a focus on managed mobile cellular networks to unify the telco and IT-cloud worlds, providing IT and cloud computing capabilities within radio access networks. The resource allocation in mobile edge computing has been studied, where the works focus on how to offload the computing tasks from mobile devices to the edge cloud [32,33] and distribute the computing tasks among the edge servers [34][35][36]. Our work, however, focus on allocating wireless bandwidth and computing resources to serve multiple video streams.
Future Internet architectures, such as information-centric networks (ICNs), have been proposed recently [12][13][14]37] and provide a network layer solution by integrating the caching function in the content routers with name-based routing to deliver content from the best source/cache location. However, these solutions do not consider in-network data processing or modifying content representation, e.g., changing video compression rates to adapt to varying network conditions. Our work differs from the aforementioned works in several aspects. (1) We integrate SDN with in-network data processing and quantify its benefits for wireless content delivery. In our architecture, SDN is extended to manage not only data forwarding but also content processing, which enables us to perform unified resource management and optimization based on the varying wireless network conditions and QoS requirements of multiple users. (2) Based on the CloudEdge architecture, the resource management and optimization for video content delivery is addressed. In particular, we formulate a framework to optimize the QoE of multiple video streams and propose and compare three resource allocation algorithms, considering both bandwidth and computation constraints.
The preliminary version of our work was presented at a conference [38]. This paper substantially extends it. We propose and study two additional resource allocation algorithms, which were not previously presented in [38], nor in any other existing works. In this paper, we also included new results to validate and compare our designs. In addition, we performed comparison of the fairness of the three algorithms proposed. Furthermore, we largely restructured the manuscript with better presentation and detailed discussions.

Conclusions
In this paper, we propose CloudEdge, a computation-capable and programmable wireless access network architecture that exploits in-network computation capabilities to provide unified data processing and transport services to end users. To address the multiresource management challenges, such as wireless bandwidth and computation power that arise in integrating in-network services for video content delivery, we formulate a framework that optimizes the quality of experience of multiple video streams, subject to wireless transmission capacity and in-network computation capability constraints. We also proposed two simplified algorithms for resource allocation. The evaluation results clearly demonstrate the benefits of the proposed system and resource allocation algorithms.
For future work, we are building a prototype CloudEdge network as a proof of concept to validate the algorithms developed here and gain deeper insights into the benefits of integrating in-network data processing and delivery in an SDN-based wireless access network, in order to facilitate further development of our approach and methodology.

Data Availability
No data were used to support this study.

Conflicts of Interest
The authors declare that they have no conflicts of interest.