The automatic downloading of software from a central server to the user's computer when the user needs to launch an application. Application streaming provides an extremely accurate metric of actual application usage, and rather than install the same applications on every client machine in the company, only the programs users actually want to run are delivered. As a result, licensing fees can often be reduced. Send Only What's Needed In addition, an application streaming system may be capable of sending only the startup module to the user's machine so that the user can begin working immediately. As options in the program are selected, the corresponding modules are downloaded on demand. Users may be able to take their computers offline and continue to run the applications. When back online, the server streams any software modules that have been upgraded in the interim. Such systems may also be able to track each user's work pattern and load software in anticipation. In most cases, only a small percentage of any application is ever used, and eliminating the transfer of machine instructions that are never executed saves network bandwidth. XenApp and App-V are examples of application streaming infrastructures (see Citrix XenApp and App-V). See application virtualization and container.