Application streaming is an on-demand software delivery model that takes advantage of the fact that most applications require only a small fraction of their total program code to run.
Like progressive downloads in video or audio, application streaming is completely transparent to the end user. The server sends the client enough information to launch the application (usually as little as 10% of the application) and then streams the rest to the client in the background while the end user is working. Application streaming uses the Real Time Streaming Protocol (RTSP) and is often used in conjunction with desktop virtualization.
Intel Systems Engineer Cristian Black explains the advantages of application streaming from the network administrator’s point-of-view.
How does application streaming work?
In order to be streamed, software applications have to be packaged into sequences of 4-byte blocks that are sent to the client one at a time. The blocks are divided into categories, depending on what function they serve. There are starter blocks, predictive blocks and on demand blocks. When the user clicks a shortcut on his desktop, startup blocks are streamed to the client. As soon as the startup blocks are available locally, the application launches and begins streaming predictive blocks. Predictive blocks are simply blocks that intelligence built into the streaming system thinks the user is likely to need next. If the user clicks on a software feature that has not yet been streamed, the required on demand blocks are sent.
The network administrator can allow all the blocks to be cached locally so the application is available even if the user is disconnected from the network. If the network administrator installs a patch or new version of the software, the blocks with the updates will be delivered the next time the user launches the application.