Data mining is a database paradigm that is used for the extraction of useful information from huge amounts of data. Amongst the functionality provided by data mining, frequent pattern mining (FPM) has become one of the most popular research areas. Methods such as Apriori and FP-growth have been shown to work efficiently in order to discover useful association rules. However, these methods are usually restricted to a single concept level. Since typical business databases support concept hierarchies that represent the relationships amongst different concept levels, we have to extend the focus to discover frequent patterns in multi-level environments. Unfortunately, not much attention has been paid to this research area. Simply applying the methods from single level frequent mining (SLFPM) several times in sequence does not necessarily work well in multi-level frequent pattern mining (MLFPM). In this thesis, we present two novel algorithms that work efficiently to discover multi-level frequent patterns. Adopting either a top-down or bottom-up approach, our algorithms make great use of the existing fp-tree structure, instead of excessively scanning the raw dataset multiple times, as would be done with a, naive implementation. In addition, we also introduce an algorithm to mine cross level frequent patterns. Experimental results have shown that our new algorithms maintain their performance advantage across a broad spectrum of test environments.