3.2.3.2 Classification par rapport aux interactions client-serveur : serveurs "push" et serveurs "pull"

Par rapport aux interactions client-serveur VoD, on trouve deux grandes catégories de serveurs VoD : des serveurs "push" et des serveurs "pull" ([rao96]).

Dans le paradigme "push", la politique de transfert des données multimédias est laissée à la charge du serveur VoD. Le client ouvre une connexion avec le serveur, envoie une requête pour un objet et le serveur envoie cet objet de façon continue, en gardant les contraintes temporelles (i.e. le débit de décompression) de cet objet (Figure 24). Pour chaque objet le serveur est obligé de connaître toutes ces caractéristiques (format de compression, débit etc.) pour envoyer chaque paquet à temps.

Dans le cas des objets multimédias codés à débit variable (VBR10), le serveur doit réaliser un semi-décodage avant le transfert, pour connaître la quantité de données à transférer à chaque instant11. Cette décompression (la décomposition "push") prend beaucoup de ressources, en limitant les performances d'un tel serveur. Une solution réside dans l'utilisation de formats conteneur. Les formats conteneur contiennent des informations supplémentaires pour chaque bloc des données. C'est le cas des formats AVI, ASF ([ms-wm]) ou QuickTime ([apple]), qui contiennent les flux compressés avec MPEG ou un autre standard, et avec un en-tête pour chaque bloc. L'utilisation de cet en-tête évite au serveur de décompresser chaque fois l'objet à transmettre.

message URL fig24.gif
Figure 24 Les deux paradigmes d'interaction client - serveur en VoD: "push" et "pull"

Le paradigme "pull" laisse le client gérer lui-même le transfert des données (Figure 24). Ainsi, chaque fois que le client a besoin de nouvelles données il demande un bloc au serveur. Cela rend plus difficile la gestion des ressources du côté du serveur, mais il existe un grand avantage pour le streaming des objets encodés à débit variable. En effet, le client réalise le décodage et sait parfaitement combien de données il doit demander à chaque instant. Le serveur est donc déchargé de cette planification (à quel instant il faut envoyer un certain bloc). En revanche, un inconvénient de ce paradigme réside dans l'augmentation du trafic sur le réseau (chaque sous-requête pour un bloc ajoute des informations à transférer).

Les deux approches (pull ou push) ont leurs avantages et inconvénients, mais actuellement la quasi-totalité des serveurs VoD travaille en mode push (parmi d'autres NetShow et RealServer, les plus répandus). Dans cette thèse nous montrerons, entre autres choses, qu'un serveur pull peut être utilisé avec les mêmes performances qu'un serveur push, et offrir plus de satisfaction aux utilisateurs en ce qui concerne le temps de réponse aux commandes.

Notes
10.

VBR : acronyme pour Variable Bit Rate ; qualité de service à débit variable ; un des types de débit proposé par l'ATM Forum qui s'adapte à la demande de l'utilisateur.

11.

Les films sur DVD sont codés à un débit très variable ( des séquences codées à 4 Mbps peuvent alterner avec des séquences à 12 Mbps)