Network virtualization can help diversify the Internet by supporting multiple virtual network (VN) architectures on a shared substrate. Making efficient use of the underlying substrate network resources requires effective algorithms for virtual network embedding (VNE) that maps each virtual network (VN) to specific nodes and links in the substrate network. In this paper, we formulate the VNE problem as a mixed integer linear program (MILP), and then propose a progressively greedy VNE algorithm (PG-VNE) which has three main improvements over previous approaches. 1) Adding constraints after we relax the MILP to obtain STRICT_LP model which leads to better coordination between the node and link mapping stages, 2) Using the greedy idea to map virtual nodes and 3) Mapping virtual nodes progressively, i.e., mapping virtual nodes one by one. Simulation results show that PG-VNE algorithm realizes close coordination between node and link mapping stages and performs well in terms of revenue, cost and VN request acceptance ratio when compared with the well known D-ViNE and R-ViNE algorithms.© (2010) COPYRIGHT SPIE--The International Society for Optical Engineering. Downloading of the abstract is permitted for personal use only.