The session layer of the OSI model is responsible for session checkpointing and recovery. It allows information of different streams, perhaps originating from different sources, to be properly combined or synchronized.
An example usage of the session layer is session beans, which are only active as long as the session is active, and are deleted when the session is disconnected. Java developers can use them to store information about the user during a web session.
An example application is web conferencing, in which the streams of audio and video must be synchronous to avoid so-called lip sync problems. Flow control ensures that the person displayed on screen is the current speaker.
Another application is in live TV programs, where streams of audio and video need to be seamlessly merged and transitioned from one to the other to avoid silent airtime or excessive overlap.