Multicast communication is an efficient method of data transmission and distribution among a group, especially when network resources are inadequate and needs to be shared. Fair share of network resources, such as, bandwidth, is desirable in such cases. Although there has been an intensive research effort to design protocols and construct multicast routing graphs for a single multicast group, construction of multiple multicast groups and the fair allocation of network resources remains virtually unexplored. In this paper, a unified approach for the Multiple Multicast Tree Construction and Rate Allocation (MMTCRA) problem is addressed. The MMTCRA problem has been defined as an optimization problem with an objective of finding a Max-Min Fair rate allocation among the multiple multicast groups that co-exist in the network subject to the link-capacity constraints. The problem is proved to be NP-Complete. A Mixed Integer Linear Program (MILP) is formulated to achieve the optimal solution for this problem. A heuristic is proposed to solve the MMTCRA problem in polynomial time. The quality of the heuristic is evaluated by comparing the solution with the optimal solution for several randomly generated networks. A metric for user satisfaction, USat, has been defined in the paper. Experimental results show that 81% solutions obtained from heuristic have optimal USat, 95% solutions obtained from heuristic have optimal minimum allocated rate and the standard deviation of solutions are within 10% of optimal solutions.