A streaming application is a program that has its necessary components downloaded as needed instead of being installed ahead of time on a computer. Application streaming is a method of delivering virtualized applications.
Streaming applications, like application virtualization in general, provide benefits from centralized management. Traditionally installed applications must be managed and updated at every end user’s workstation, while application virtualization allows administrators to monitor just one instance of an application, which is then made available to many end users.
Applications often include a great number of associated files and a large amount of data, but usually don’t require all of their components to be in place in order to launch. When a streaming application is requested, only a small portion of the associated files are downloaded. The remainder is downloaded in the background, as needed. Once completely downloaded, a streaming application will function without a network connection.
Streaming applications may include varying degrees of isolation. Because many applications write large numbers of files in various locations on a computer, conflicts can occur with other previously installed applications or when applications are removed. Some isolation techniques encapsulate an application by intercepting all file reads and writes and redirecting them to alternate locations. Other techniques involve locally-installed agents that perform various tasks, including monitoring changes made by applications, ensuring that no files needed by another application are disturbed, and making sure that necessary components are in place.