virtualization of hardware resource
binary translation
language runtime system (Java/C#)
memory management, garbage collection
intermediate representation
security, intrusion detection, access control
real-time and embedded computing
distributed/mobile computation
fault tolerant computing
