Software that manages other pieces of software to enable the managed software to be available over a network. By doing this, it enables the system to use other resources more efficiently.