Driven by emerging bandwidth-hungry applications, next generation passive optical networks (NG-PONs) provide higher bandwidth to users by using more wavelengths and increasing data rates of optical network units (ONUs). On the other hand, for smooth upgrading, NG-PON is desired to be backward compatible with the current TDM PONs where data rates of ONUs remain unchanged. Thus, both high-rate ONUs and low-rate ONUs may coexist in NG-PON. The key parameters of bandwidth allocation in this multi-rate multi-wavelength network include achieving fairness among all ONUs, encouraging low-rate ONUs to increase their data rates, and utilizing wavelength resources efficiently. This paper illustrates contributions in three main aspects. First, we define rate-dependent utilities for ONUs, which serve as the basis for bandwidth arbitration among low-rate and high-rate ONUs. Second, to achieve fairness among ONUs, we employ water-filling idea and formulate a utility max-min fair bandwidth allocation scheme. Third, to efficiently utilize the wavelengths, we map the resource allocation problem in multi-wavelength PON into a multi-processor scheduling problem and employ a heuristic algorithm to address the NP-hard wavelength assignment problem.