Buffer-aware network coding for wireless networks

Wei Chen, Khaled Letaief, Zhigang Cao

Research output: Contribution to journalArticle

38 Citations (Scopus)


Network coding, which can combine various traffic flows or packets via algebraic operations, has the potential of achieving substantial throughput and power efficiency gains in wireless networks. As such, it is considered as a powerful solution to meet the stringent demands and requirements of next-generation wireless systems. However, because of the random and asynchronous packet arrivals, network coding may result in severe delay and packet loss because packets need to wait to be network-coded with each others. To overcome this and guarantee quality of service (QoS), we present a novel cross-layer approach, which we shall refer to as Buffer-Aware Network Coding, or BANC, which allows transmission of some packets without network coding to reduce the packet delay. We shall derive the average delay and power consumption of BANC by presenting a random mapping description of BANC and Markov models of buffer states. A cross-layer optimization problem that minimizes the average delay under a given power constraint is then proposed and analyzed. Its solution will not only demonstrate the fundamental performance limits of BANC in terms of the achievable delay region and delay-power tradeoff, but also obtains the delay-optimal BANC schemes. Simulation results will show that the proposed approach can strike the optimal tradeoff between power efficiency and QoS.

Original languageEnglish
Article number6105603
Pages (from-to)1389-1401
Number of pages13
JournalIEEE/ACM Transactions on Networking
Issue number5
Publication statusPublished - 2012
Externally publishedYes



  • Cross-layer design
  • network coding
  • packet delay
  • power efficiency
  • quality of service (QoS)
  • queueing
  • scheduling

ASJC Scopus subject areas

  • Software
  • Computer Science Applications
  • Computer Networks and Communications
  • Electrical and Electronic Engineering

Cite this