Types of virtual software layers