A system performs joint placement and chaining of virtual network functions (VNFs) based on a genetic algorithm in response to a request for virtual network services, including an in-line service. The request includes a description of a virtual network of VNFs and virtual links connecting the VNFs. A description of a physical network including servers and physical links is provided. Each chromosome in a population encodes a mapping between the virtual links enumerated to form a locus and a corresponding sequence of server pairs. Each chromosome is evaluated against objective functions subject to constraints to identify a chromosome as a solution. The VNFs are placed on the servers according to the mapping encoded in the identified chromosome. According to the mapping, each VNF is mapped to one of the servers and each virtual link is mapped to a path composed of one or more of the physical links.
展开▼