Résumé
- RFC 3421 permettait de trier les URL de services SLP puis d’en limiter le nombre, mais la première URL ne gagnait qu’en fonction des clés demandées et des attributs détenus par le serveur.
- Le total
m, la limiten, le sous-ensemble renvoyé, les valeurs NULL et l’ordre des étapes restaient distincts ; aucun ne prouvait disponibilité, performance actuelle ou succès applicatif.
Le classement était une opération sur un instantané
Pour choisir une imprimante ou un serveur, un client peut souhaiter la vitesse la plus élevée ou la charge la plus basse. L’expression paraît décrire le monde. Pourtant un annuaire compare des annonces. Il peut terminer son tri avant qu’une connexion ne soit tentée.
Publié en novembre 2002 à titre expérimental, RFC 3421 ajoutait Select et Sort à SLPv2. Sort ordonnait les URL correspondantes selon des attributs. Select plafonnait les URL transmises. Le dispositif économisait de la bande passante, tout en révélant l’autorité exacte du résultat.
« Premier » signifiait : premier après que ce DA ou SA a appliqué ces comparaisons à son instantané. Cela ne signifiait ni mesuré le plus rapide, ni joignable, ni authentifié, ni capable d’achever l’opération.
Compter n’était pas recevoir
Avec Select(n), le client demande au plus n URL. Le serveur répond avec Select(m), où m désigne le nombre total de correspondances. Si n < m, seul le préfixe de longueur n est envoyé. Select(0) permet même d’obtenir le compte sans aucune URL.
Le protocole séparait ainsi une cardinalité d’un inventaire. Trois URL dans la réponse ne prouvent pas qu’il n’en existait que trois. Un total de cent ne prouve pas que le client a examiné cent services. L’annuaire a peut-être compté cent inscriptions sans tester une seule application.
Une preuve exploitable doit conserver la limite demandée, le total annoncé, le nombre effectivement transmis, les URL ensuite tentées et les résultats de ces tentatives.
Les clés définissaient leur propre notion du meilleur
Chaque clé de Sort nomme un attribut, choisit comparaison chaîne ou entier, sens croissant ou décroissant et, pour un entier, éventuellement une valeur de référence. L’ordre des clés fixe leur priorité.
Une recherche de vitesse la plus proche de 12 compare les distances absolues. Une valeur enregistrée de 12 précède 10, 15 et 8. Le calcul est exact sans être une mesure nouvelle. La date et l’auteur de l’attribut restent extérieurs au résultat.
Les chaînes suivent l’ordre lexical SLP. Une clé répétée ne compte qu’à sa première occurrence. La requête détermine donc la politique : quel attribut domine, quel type lui est attribué, et si grand ou petit constitue l’avantage.
Le manque de données avait une place dans l’ordre
Un attribut absent devient NULL, après toute valeur valide. Une valeur incohérente avec un tri entier devient également NULL. Pour un attribut multivalué, la plus petite valeur participe au tri.
Ces règles évitent une invention propre à chaque mise en œuvre, sans transformer les données en vérité. Un service sans charge publiée tombe derrière les valeurs valides, quelle que soit sa charge réelle. Plusieurs valeurs sont réduites à la plus petite, non à la plus récente ou à la moyenne. Une mauvaise place peut signaler une valeur élevée, une absence ou un mauvais type.
Le classement est donc aussi une projection de la qualité des inscriptions. Sans attributs sources et raisons du NULL, la liste finale ne permet pas de reconstruire la cause.
Tronquer d’abord changeait les candidats
Plusieurs extensions présentes dans une requête sont appliquées dans leur ordre. Trier par vitesse, sélectionner trois, retrier ces trois par charge et en sélectionner un produit le moins chargé des trois plus rapides selon les données.
Sélectionner trois avant le premier tri élimine peut-être le vrai premier selon la vitesse. Trier tout l’ensemble par charge répond à une troisième question. La chaîne d’extensions fonctionne comme un plan de requête : chaque Select réduit ce que l’étape suivante peut voir.
Le gagnant n’est explicable qu’avec toute la chaîne. Garder uniquement le dernier critère revient à conserver un ORDER BY tout en oubliant un LIMIT antérieur.
Une capacité annoncée ne garantissait pas les attributs
Un agent compatible annonce select-enabled ou sort-enabled, et le client devrait vérifier ce signal. Une extension inconnue ou un tri impossible entraîne OPTION_NOT_UNDERSTOOD. Un code zéro atteste le traitement, non la fraîcheur des valeurs.
RFC 3421 qualifie le tri de best effort. Les clés, l’ordre, le code et la liste peuvent être audités. Il faut encore prouver qui a publié les attributs, quand l’instantané a été constitué et ce que le service a réellement fait.
Les identifiants 0x4002 et 0x4003 furent attribués dans l’espace d’extensions SLP dit obligatoire à mettre en œuvre. Cette place de registre ne prouve ni déploiement universel ni comportement correct d’un produit. Statut documentaire, attribution, annonce, traitement et résultat opérationnel sont cinq reçus.
Après le choix commençait une autre expérience
Le client doit encore interpréter l’URL, établir un transport, négocier, authentifier et exécuter l’application. Un échec n’annule pas le tri ; il montre que l’ordre de l’annuaire et l’état du service avaient des périmètres différents.
La contribution historique du texte est d’avoir exposé les choix cachés dans « meilleur » : auteur et âge des attributs, type, direction, NULL, priorité et moment de la troncature. Le premier résultat devient utile sans être présenté comme omniscient.
Sources et limites
Le dossier primaire rassemble le HTML RFC Editor, le texte brut, la notice, la fiche Datatracker, son historique, ses références et la recherche d’errata.
Le contexte SLP vient de RFC 2165, SLPv2 RFC 2608, les modèles RFC 2609, l’API RFC 2614, le tri LDAP RFC 2891, la liste d’attributs RFC 3059, IPv6 RFC 3111, les extensions fournisseur RFC 3224, le maillage RFC 3528, la découverte distante RFC 3832 et le registre IANA des modèles. La lecture distingue norme et exécution avec les essais de Heng Lu sur le code en fonctionnement et la spécification initiale minimale.
Ces sources établissent règles et histoire documentaire. Elles ne mesurent ni déploiement, ni complétude, ni fraîcheur, ni charge présente, ni succès du service.
Briefing des membres
Contexte approfondi du profil
Connectez-vous avec le bon niveau d'adhésion pour débloquer le briefing complet et les notes de source.
Réservé à Strategic Circle
Strategic Circle
Ouvert à tous les lecteurs. Débloquez les briefings de profil après adhésion et connexion.
Rejoindre Strategic CircleRéservé aux membres de Leadership Alliance
Leadership Alliance
Réservé aux propriétaires et dirigeants qualifiés d'actifs IP ; connectez-vous pour débloquer les briefings Alliance.
Rejoindre Leadership Alliance
