Description Titre de l'invention : Procédé de contrôle d’une communication au cours de laquelle sont échangées des données relatives à un service, et dispositifs électroniques associés Domaine Technique [1] La présente invention appartient au domaine général des télécommunications. Elle concerne plus particulièrement un procédé de contrôle d’une communication au cours de laquelle sont échangées des données relatives à un service entre un premier dispositif électronique et un deuxième dispositif électronique. Elle concerne également un procédé de configuration d’une communication entre les premier et deuxième dispositifs électroniques, ainsi que ces premier et deuxième dispositifs électroniques. Technique antérieure [2] Afin de s'adapter à la croissance continue et toujours plus rapide du trafic de données émises par les systèmes de télécommunications, différentes technologies sont aujourd'hui mises en œuvre, et font encore l'objet de perfectionnements en vue d'une exploitation optimale dans les années à venir. [3] L’architecture des réseaux de télécommunications mobiles actuellement déployés ou en cours de déploiement est en particulier définie par le consortium de standardisation connu sous le nom de 3GPP (Third Generation Partnership Project). C’est le cas notamment des réseaux mobiles dits de deuxième génération ("2G ou GSM"), de troisième génération ("3G"), de quatrième génération ("4G") et de cinquième génération ("5G"). [4] Jusqu’à la quatrième génération, les architectures de réseaux mobiles définies par le consortium 3GPP reposent le plus souvent sur des équipements spécifiques, dédiés à des fonctions précises, que ce soit au niveau du réseau d’accès ou du cœur de réseau, notamment en ce qui concerne la transmission de paquets en provenance ou à destination d’un terminal mobile. [5] Le manque de flexibilité et d’évolutivité inhérent à ce type d’architecture a conduit le consortium 3GPP à envisager l’adoption d’architectures plus flexibles pour la génération dite « 5G » (pour cinquième génération) de réseaux mobiles, notamment afin de pouvoir répondre rapidement à des demandes extrêmement diverses en termes de trafic et/ou de qualité de service. Pour répondre à ces contraintes diverses, une architecture de réseaux mobiles 5G peut reposer notamment sur le concept de SBA ("Service-Based Architecture",
en anglais), sur la virtualisation de fonctions réseaux et sur un découpage du réseau de télécommunications 5G en sous-réseaux logiques ("network slicing" selon la terminologie anglo-saxonne). Cette technique de découpage d'un réseau est notamment décrite dans la spécification technique 3GPP TS 23.501 v18.3.0, publiée en septembre 2023. Elle permet à l’opérateur d’un réseau de créer des sous-réseaux logiques sur mesure, généralement dédiés à l'acheminement du trafic émis et reçu par des terminaux mobiles, et reposant sur une même infrastructure de réseau physique. [6] Ces sous-réseaux logiques appelés "tranches réseau" ("network slices" selon la terminologie anglo-saxonne) permettent à un client d’accéder à un service en s’appuyant à la fois sur des fonctions réseaux virtualisées qui peuvent être activées, désactivées et paramétrées en fonction des besoins, mais également en s'appuyant sur des fonctions réseaux déployées sur une infrastructure de réseau physique. Pour chaque tranche réseau, ces différents types de fonctions réseaux sont alors configurés pour pouvoir satisfaire les exigences des services supportés par la tranche réseau qui supporte de telles fonctions et qui correspondent typiquement aux services souscrits par les utilisateurs de cette tranche. [7] A priori, les tranches réseau sont contrôlées de manière indépendante. Chaque tranche est généralement adaptée à une utilisation spécifique, et présente donc des caractéristiques propres en matière de qualité de service (par exemple en termes de latence, de débit, de temps de transit unidirectionnel), de sécurité et/ou de capacité. Ce découpage permet à un opérateur de télécommunications d’offrir différents niveaux de service répondant à différents accords de niveau de service ("Service Level Agreement" selon la terminologie anglo-saxonne). [8] Ainsi, le consortium 3GPP a défini des types de tranches susceptibles de répondre à autant de besoins différents tels que le domaine des services mobiles à large bande passante ("enhanced Mobile Broadband", eMBB), le domaine de l’Internet des objets (IoT), le domaine des communications ultra-fiables à faible latence ("UltRa-Reliable Low Latency Communications, URLLC) et celui des véhicules connectés (Vehicle-to-Everything, V2X). [9] Le choix de concevoir et de déployer un ou plusieurs types particuliers de tranches est notamment conditionné par la nature du trafic généré par les applications utilisées ou les services souscrits par un utilisateur du réseau supportant des tranches. Par exemple, un service dit "immersif" qui exploite des techniques de réalité augmentée ou de réalité virtuelle est généralement très exigeant en termes de latence et de fiabilité des échanges de données. Un tel service immersif est donc un client "naturel" d’une tranche de type URLLC.
[10] La conception et le déploiement de tranches réseau, est une activité complexe à mettre en œuvre, car elle nécessite de prendre en compte de multiples paramètres de configuration. En outre, pour garantir qu’un trafic de paquets de données soit acheminé correctement au sein d’une ou plusieurs tranches réseau, ledit trafic doit faire l’objet d’une habilitation. Une telle habilitation repose typiquement sur des règles de classification de trafic. Ces règles sont appliquées en entrée d’un réseau/sous-réseau qui supporte la ou les tranches concernées, plus particulièrement par un ou plusieurs nœuds de périphérie). Or la conception de telles règles de classification de trafic et leur application par ces nœuds de périphérie participent aussi très largement à la complexité globale de réalisation et de bonne exploitation d’un réseau supportant des tranches réseau. Exposé de l’invention [11] La présente invention a pour objectif de remédier à tout ou partie des inconvénients de l’art antérieur, notamment ceux exposés ci-avant, en proposant une solution qui permet à des dispositifs de s’accorder sur les tranches réseau qu’ils peuvent utiliser pour établir une communication. [12] À cet effet, et selon un premier aspect, l’invention concerne un procédé de contrôle d’une communication au cours de laquelle sont échangées des données relatives à un service entre un premier dispositif électronique et un deuxième dispositif électronique via au moins un réseau de télécommunication supportant une pluralité de tranches réseau, le procédé comprenant les étapes suivantes mises en œuvre par le deuxième dispositif électronique : − une obtention d’une donnée représentative de tranches réseau supportées par ledit au moins un réseau et accessibles par le premier dispositif électronique ; − une sélection de tranches réseau accessibles par les premier et deuxième dispositifs électroniques et compatibles avec une fourniture du service, et d’une politique de gestion des flux de la communication via les tranches réseau sélectionnées ; − une transmission, à destination du premier dispositif électronique, d'une donnée représentative des tranches réseau et de ladite politique de gestion des flux sélectionnées pour application, par le premier dispositif électronique, à cette communication. [13] Ce procédé de contrôle d’une communication offre l'avantage de permettre à l’un des dispositifs impliqués dans une communication en vue d'accéder à un service, de contrôler la
ou les tranches réseau devant être utilisées pour accéder à ce service, mais également de négocier une politique de gestion des flux de cette communication. De cette manière, il n'est plus nécessaire d'établir de règles de trafic relatives à une quelconque habilitation qui soient cohérentes les unes avec les autres. [14] Par "communication", on entend tout échange d'information entre deux dispositifs électroniques, par exemple un émetteur ou un dispositif source à l’origine de la communication et un récepteur ou un dispositif destinataire, à l'aide de signaux produits par les dispositifs électroniques. Cette information est typiquement échangée au travers d'un ou plusieurs flux de données, chaque flux correspondant à une séquence de signaux cohérents codés numériquement pour transmettre cette information sous forme de paquets de données. Une communication peut engendrer l'établissement d'une ou plusieurs sessions. De façon générale, une session est définie comme une association identifiée généralement par le 4-uplet (adresse source, numéro de port source, adresse destination, numéro de port destination) ou par des identifiants de connexion (CID, « Connection Identifier ») au cours de laquelle les deux dispositifs communicants échangent des données (par ex. un dispositif électronique réalise des opérations au service d'un client). Plusieurs sessions peuvent être utilisées au titre d’une même communication. Dans certains contextes tels que MPTCP (acronyme de Multi-Path TCP), ces sessions sont appelées des « sous- sessions » (encore appelées « subflows »). [15] Aucune hypothèse n’est faite quant au dispositif (premier ou deuxième dispositif) à l’origine de la communication permettant d’accéder au service. [16] Ainsi, dans des modes particuliers de mise en œuvre, le premier dispositif est le dispositif à l’origine de la communication pour accéder au service, désigné ci-après par « dispositif de demande d’accès au service » (resp. un dispositif intermédiaire auquel est connecté un tel dispositif), et le deuxième dispositif électronique est un dispositif impliqué dans la gestion du service, désigné ci-après par « dispositif de gestion du service », configuré pour contrôler la communication au cours de laquelle sont échangées des données relatives à ce service. [17] En variante, dans d’autres modes particuliers de mise en œuvre, le premier dispositif correspond au dispositif de gestion du service, le deuxième dispositif électronique correspond au dispositif à l’origine de la communication pour accéder au service, dit « dispositif de demande d’accès au service », (resp. à un dispositif intermédiaire auquel est connecté un tel dispositif), et c'est ce dispositif à l’origine de la communication (resp. à ce dispositif intermédiaire) qui est alors configuré pour contrôler la communication au cours de laquelle sont échangées des données relatives à ce service.
[18] Par "contrôle de la communication", on entend l'application, à un ou plusieurs des flux de cette communication, de paramètres ou de traitements particuliers, telle que l'utilisation de tranches réseaux spécifiques pour échanger des données, tout en appliquant une politique de gestion de flux. Comme évoqué ci-après, cette politique de gestion de flux est définie en fonction des capacités du premier dispositif électronique, mais également en fonction de contraintes propres au service auquel ce premier dispositif électronique souhaite accéder. [19] Ainsi, l’invention permet un accès au service de façon adaptée, c'est-à-dire en considérant les exigences en termes de qualité de service requise pour la fourniture de ce service, mais également en considérant les contraintes propres au(x) dispositif(s) souhaitant accéder à ce service (nommé ci-après "dispositif de demande d'accès au service"). [20] Dans des modes particuliers de mise en œuvre, ce service est fourni par le deuxième dispositif électronique. En variante, ce service est fourni par un troisième dispositif distinct des premier et deuxième dispositifs électroniques. Dans ce cas, la communication selon l'invention inclut un premier échange entre les premier et deuxième dispositifs (par exemple au travers d'une première sous-session), puis un deuxième échange entre les premier et troisième dispositifs (par exemple au travers d'une deuxième sous-session). [21] De manière générale, on considère que les étapes d’un procédé ne doivent pas être interprétées comme étant liées à une chronologie particulière. [22] Dans des modes particuliers de mise en œuvre, le procédé de contrôle d’une communication peut comporter en outre l’une ou plusieurs des caractéristiques suivantes, prises isolément ou selon toutes les combinaisons techniquement possibles. [23] Dans des modes particuliers de mise en œuvre, le premier dispositif est un dispositif de demande d’accès à un service, le deuxième dispositif électronique est un dispositif de gestion du service, et l'obtention de la donnée représentative de tranches réseau accessibles par le premier dispositif inclut la réception, par le dispositif de gestion, de ladite donnée en provenance du dispositif de demande d’accès à un service. [24] Dans des modes particuliers de mise en œuvre, le procédé selon l'invention comprend en outre un échange, entre les premier et deuxième dispositifs, de leurs capacités respectives à utiliser au moins une tranche réseau sélectionnée parmi une pluralité de tranches réseau et à appliquer une politique de gestion des flux caractéristiques de communications et qui sont acheminés dans ladite au moins tranche réseau sélectionnée.
[25] Dans des modes particuliers de mise en œuvre, le premier dispositif est un dispositif de demande d’accès à un service ou un dispositif intermédiaire auquel est connecté le dispositif de demande d’accès à un service, le deuxième dispositif électronique est un dispositif de gestion du service, et le procédé comprend en outre les étapes suivantes, mises en œuvre par le deuxième dispositif électronique : − une réception d’une donnée, dite première donnée, en provenance du premier dispositif électronique et représentative d’une capacité du premier dispositif électronique à utiliser au moins une tranche réseau sélectionnée parmi une pluralité de tranches réseau et à appliquer une politique de gestion des flux de la communication sélectionnée ; et, − une transmission, à destination du premier dispositif électronique, d'une donnée, dite deuxième donnée, représentative d’une capacité du deuxième dispositif électronique à sélectionner au moins une tranche réseau compatible pour accéder au service et une politique de gestion des flux de la communication. [26] Ces échanges entre les premier et deuxième dispositifs électroniques leur permettent de s'assurer qu'ils sont conformes à l'invention, et plus précisément que le premier dispositif électronique est en mesure de configurer une communication conformément aux instructions du deuxième dispositif électronique, et que le deuxième dispositif électronique est en mesure de sélectionner une configuration adaptée en fonction du service auquel souhaite accéder le premier dispositif, mais également en fonction des capacités du premier dispositif électronique. [27] Dans des modes particuliers de mise en œuvre, la première donnée est transmise au travers d’un message, dit premier message, correspondant à une demande d’établissement d’une communication ou à une demande d’ajout d’une sous-session additionnelle à une session préétablie. [28] Dans des modes particuliers de mise en œuvre, la politique de gestion des flux comprend au moins un protocole de transport supporté par le premier dispositif électronique et permettant d’établir la communication sur des chemins multiples. [29] Dans ce cas, l'utilisation des tranches réseau et l’application de la politique de gestion comprend une utilisation d'au moins une des tranches réseau sélectionnées et repose sur ce au moins un protocole de transport permettant d’établir une communication sur des chemins multiples pour accéder audit service.
[30] Ainsi, l'accès audit service est mis en œuvre en exploitant le protocole de transport sélectionné pour une communication empruntant la ou les tranches réseau sélectionnées, et ce, entre le premier dispositif et le deuxième dispositif. [31] Dans des modes particuliers de mise en œuvre, le au moins un protocole de transport utilisé est un parmi : le protocole TCP assorti de l'option "Multipath TCP", le protocole UDP assorti d'une extension "Multipath UDP", le protocole QUIC assorti de l'extension "Multipath QUIC" et le protocole MDCCP "Multipath Datagram Congestion Control Protocol". [32] Dans des modes particuliers de mise en œuvre, le premier dispositif est un dispositif de demande d’accès à un service ou un dispositif intermédiaire auquel est connecté le dispositif de demande d’accès à un service, le deuxième dispositif électronique est un dispositif de gestion du service, et le procédé comprend en outre : − une transmission, par le dispositif de demande d’accès à un service ou le dispositif intermédiaire, et à destination du dispositif de gestion, de données relatives à une pluralité de protocoles de transport permettant d’établir une communication sur des chemins multiples et pouvant être exploités par ledit dispositif de demande d’accès à un service ou par ledit dispositif intermédiaire ; − une sélection, par le dispositif de gestion et parmi la pluralité de protocoles de transport permettant d’établir une communication sur des chemins multiples, d’au moins un protocole de transport adapté à la fourniture dudit service, la politique de gestion des flux sélectionnée incluant ledit au moins un protocole de transport ; et, − une transmission, par le dispositif de gestion et à destination du dispositif de demande d’accès à un service ou du dispositif intermédiaire, d’une donnée d’identification dudit au moins un protocole de transport sélectionné pour accéder audit service. [33] Dans des modes particuliers de mise en œuvre, la politique de gestion des flux comprend au moins un mécanisme d'ordonnancement de paquets de données à appliquer par le premier dispositif électronique à ladite communication. [34] Dans ce cas, l'utilisation des tranches réseau et l’application de la politique de gestion comprend une utilisation d'au moins une des tranches réseau sélectionnées et dudit au moins un mécanisme d'ordonnancement de paquet de données pour accéder audit service. [35] Dans des modes particuliers de mise en œuvre, le premier dispositif est un dispositif de demande d’accès à un service ou un dispositif intermédiaire auquel est connecté le dispositif
de demande d’accès à un service, le deuxième dispositif électronique est un dispositif de gestion du service, et le procédé comprend en outre : − une transmission, par le dispositif de demande d’accès à un service ou le dispositif intermédiaire et à destination du dispositif de gestion, de données relatives à une pluralité de mécanismes d'ordonnancement de paquets de données applicables par ledit dispositif de demande d’accès à un service ou ledit dispositif intermédiaire ; − une sélection, par le dispositif de gestion et parmi la pluralité de mécanismes d'ordonnancement de paquets de données, d’au moins un mécanisme d'ordonnancement de paquets de données adapté à la fourniture dudit service, la politique de gestion des flux sélectionnée incluant ledit au moins un mécanisme d'ordonnancement de paquets de données ; et − une transmission, par le dispositif de gestion et à destination du dispositif de demande d’accès à un service ou du dispositif intermédiaire, d’une donnée d’identification dudit au moins un mécanisme d'ordonnancement de paquets de données sélectionné pour accéder audit service. [36] Dans des modes particuliers de mise en œuvre, la politique de gestion des flux comprend une contrainte sur une direction d'au moins un flux de la communication au travers d'au moins une des tranches réseau sélectionnées. [37] Dans des modes particuliers de mise en œuvre, la politique de gestion des flux comprend une contrainte d'utilisation d'une unique tranche ou d'une pluralité de tranches réseaux connectées entre elles (par exemple des tranches multi-domaines ou « stitched slices » évoquées ci-après). [38] Dans des modes particuliers de mise en œuvre, la donnée représentative des tranches réseau supportées par ledit au moins un réseau et accessibles par ledit premier dispositif électronique inclut au moins un type de tranche réseau et/ou au moins un identifiant de tranche réseau. [39] Dans des modes particuliers de mise en œuvre, la donnée représentative des tranches réseau de la pluralité accessibles par ledit premier dispositif électronique inclut en outre au moins une donnée parmi : un identifiant de réseau, un identifiant de flux, un identifiant d’adresse, un nombre maximal de flux par tranche, une donnée représentative d’une contrainte sur une direction de flux. [40] Dans des modes particuliers de mise en œuvre, le procédé comprend en outre une sélection, par le deuxième dispositif, d'au moins une tranche réseau accessible par ledit
deuxième dispositif, et adaptée à la fourniture du service (S), et/ou d’au moins une politique de gestion de flux de la communication à appliquer par ledit deuxième dispositif. [41] Selon un deuxième aspect, l’invention concerne un programme d’ordinateur comportant des instructions pour la mise en œuvre du procédé de contrôle précédemment évoqué, lorsque ledit programme est exécuté par un processeur. [42] Selon un troisième aspect, l’invention concerne un support d’enregistrement lisible par un ordinateur sur lequel est enregistré le programme d’ordinateur selon le deuxième aspect. [43] Selon un quatrième aspect, l'invention concerne un procédé de configuration d’une communication au cours de laquelle sont échangées des données relatives à un service entre un premier dispositif électronique et un deuxième dispositif électronique via au moins un réseau de télécommunication supportant une pluralité de tranches réseau, le procédé comprenant les étapes suivantes mises en œuvre par le premier dispositif électronique : − une réception d’une donnée représentative d’au moins une tranche réseau accessible par les premier et deuxième dispositifs électroniques et compatible avec une fourniture du service, en provenance du deuxième dispositif électronique, ladite donnée étant en outre représentative d'une politique de gestion de flux de la communication via ladite au moins une tranche réseau ; et, − une application de ladite au moins une tranche réseau et de ladite politique de gestion des flux à la communication. [44] Comme évoqué précédemment, le service peut alors être accédé de façon adaptée, c'est- à-dire en considérant les exigences en termes de qualité de service requise pour la fourniture de ce service, mais également en considérant les contraintes propres au(x) dispositif(s) souhaitant accéder à ce service. [45] Dans des modes particuliers de mise en œuvre, le premier dispositif est un dispositif intermédiaire auquel est connecté un dispositif de demande d’accès au service, et le procédé de configuration comprend en outre, sur requête du dispositif de demande d'accès au service, une étape de transmission, par le dispositif intermédiaire et à destination dudit dispositif de demande d'accès au service, de la donnée représentative des tranches réseau et de ladite politique de gestion des flux. [46] Dans des modes particuliers de mise en œuvre, le procédé de configuration comprend en outre les étapes suivantes mises en œuvre par le dispositif intermédiaire :
− une réception d'au moins une règle de classification de trafic visant à répartir des données de ladite communication au travers d'au moins une des tranches sélectionnées ; et, − une application de ladite au moins une règle, de sorte à associer au moins un flux de ladite communication avec au moins une desdites tranches. [47] Cette caractéristique permet avantageusement d'associer des flux, sous-sessions, etc. avec des tranches. [48] Selon un cinquième aspect, l’invention concerne un programme d’ordinateur comportant des instructions pour la mise en œuvre du procédé de configuration précédemment évoqué, lorsque ledit programme est exécuté par un processeur. [49] Selon un sixième aspect, l’invention concerne un support d’enregistrement lisible par un ordinateur sur lequel est enregistré le programme d’ordinateur selon le cinquième aspect. [50] Selon un septième aspect, l'invention concerne un dispositif électronique, dit deuxième dispositif électronique, configuré pour mettre en œuvre le procédé de contrôle d’une communication selon le premier aspect. [51] Selon un huitième aspect, l'invention concerne un dispositif électronique, dit premier dispositif électronique, configuré pour mettre en œuvre le procédé de configuration d’une communication selon le quatrième aspect. [52] Dans des modes particuliers de mise en œuvre, ce premier dispositif correspond à un dispositif intermédiaire auquel est connecté un dispositif de demande d'accès à un service. [53] Selon un neuvième aspect, l'invention concerne un système de communication comprenant un premier dispositif électronique selon le huitième aspect, et un deuxième dispositif électronique selon le septième aspect. [54] Brève description des dessins [55] D’autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous, en référence aux figures annexées qui en illustrent un exemple de réalisation dépourvu de tout caractère limitatif. Sur les figures : [56] [Fig.1A] la figure 1A est un premier exemple de système de communication dans lequel un procédé général d'accès à un service est mis en œuvre ; [57] [Fig.1B] la figure 1B est un deuxième exemple de système de communication dans lequel un procédé général d'accès à un service est mis en œuvre est mis en œuvre ;
[58] [Fig.1C] la figure 1C est un troisième exemple de système de communication dans lequel un procédé général d'accès à un service est mis en œuvre ; [59] [Fig.1D] la figure 1D est un quatrième exemple de système de communication dans lequel un procédé général d'accès à un service est mis en œuvre ; [60] [Fig.2] la figure 2 est une vue détaillée d’un réseau mobile 5G supportant des tranches réseau ; [61] [Fig.3A] la figure 3A représente des modules embarqués dans un deuxième dispositif électronique, selon un exemple de mise en œuvre de l’invention ; [62] [Fig.3B] la figure 3B représente un exemple d’architecture matérielle d’un deuxième dispositif électronique ; [63] [Fig.4A] la figure 4A représente des modules embarqués dans un premier dispositif électronique, selon un exemple de mise en œuvre de l’invention ; [64] [Fig.4B] la figure 4B représente un exemple d’architecture matérielle d’un premier dispositif électronique ; [65] [Fig.5A] la figure 5A illustre, sous forme d’ordinogramme, les principales étapes d’un procédé général d'accès à un service, selon un premier exemple de mise en œuvre de l’invention ; [66] [Fig.5B] la figure 5B est une vue détaillée de l’étape d'application des tranches réseau et de la politique de gestion des flux sélectionnées de la figure 5A, selon un exemple de mise en œuvre de l’invention ; [67] [Fig.6] la figure 6 illustre, sous forme d’ordinogramme, les principales étapes d’un procédé général d'accès à un service, selon un deuxième exemple de mise en œuvre de l’invention ; [68] [Fig.7] la figure 7 illustre, sous forme d’ordinogramme, les principales étapes d’un procédé de contrôle d'un dispositif intermédiaire impliqué dans une communication au cours de laquelle sont échangées des données relatives à un service, selon un exemple de mise en œuvre de l’invention ; [69] [Fig.8] la figure 8 est un exemple de format d’une option PCP (Port Control Protocol) pour transmettre des paramètres relatifs aux tranches réseau accessibles par le dispositif de demande d'accès à un service ; et, [70] [Fig.9] la figure 9 est un exemple de format d’une option PCP pour transmettre des règles de classification de trafic.
[71] Description des modes de réalisation [72] Les termes "premier(s)" (ou première(s)), "deuxième(s)", etc. sont utilisés dans ce document par convention arbitraire pour permettre d’identifier et de distinguer différents éléments (tels que des messages, des dispositifs, etc.) considérés dans les modes de réalisation décrits ci-après, et n’impliquent pas de séquençage particulier, sauf lorsque cela est explicitement indiqué. [73] Les figures 1A à 1D illustrent différentes configurations d’un système de communication comprenant au moins un premier dispositif et un deuxième dispositif conformes à l’invention, et dans lequel un procédé général d'accès à un service est mis en œuvre. Ce procédé d’accès à un service s’appuie sur un procédé de configuration et un procédé de contrôle selon l’invention mis en œuvre respectivement par le premier et par le deuxième dispositif, comme expliqué plus en détail ultérieurement. [74] La figure 1A est un premier exemple de système de communication dans lequel un procédé général d'accès à un service est mis en œuvre. [75] Ce système comprend un dispositif (20) de demande d'accès à un service (S) connecté à un réseau de télécommunications (10-1). Le dispositif (20) de demande d'accès à un service (S) supporte le protocole de communication IP. Ce dispositif peut être un terminal utilisateur – prenant par exemple la forme d’un ordinateur portable, d’un assistant personnel, d’un objet connecté, ou un téléphone mobile de type "smartphone" – un routeur, une passerelle domestique, ou encore un décodeur TV, etc. [76] Le système comprend en outre un dispositif (30) de gestion du service (S) prenant par exemple la forme d'un terminal ou d'un serveur distant, et également connecté au réseau de télécommunications (10-1). Tel qu'illustré par la Figure 1A, ce dispositif (30) de gestion du service (S) est configuré pour fournir un service S. Ce service peut être défini comme un programme informatique directement utilisé pour réaliser une tâche, ou un ensemble de tâches élémentaires d'un même domaine. Il s’agit par exemple d’un service de fourniture d’un contenu multimédia (telle que la vidéo à la demande), un service d’accès à un réseau social ou un service de paiement. [77] Selon un autre mode de réalisation, le service ^^^^ n’est pas déployé sur le dispositif (30) de gestion du service, mais sur un troisième dispositif distinct des dispositifs de demande d’accès à un service et de gestion du service (S). Dans ce cas, le service est par exemple une "fonction service" ou l’une des fonctions service (« Service Function » en anglais) d’une
chaîne de fonctions service (« Service Function Chain » en anglais), tel qu’illustré par la figure 2. [78] Dans le cas où le service (S) est fourni par ce troisième dispositif, dans un mode particulier de mise en œuvre, le dispositif (30) de gestion agit comme un relais entre le dispositif (20) de demande d'accès au service, et le troisième dispositif qui fournit le service (S). Le dispositif (30) de gestion peut également agir comme un dispositif de sécurité qui bloque ou autorise sélectivement des paquets de données à accéder au du troisième dispositif. [79] Selon un autre mode de réalisation, le service (S) est déployé sur le dispositif (20) de demande d'accès à un service. [80] Dans le présent mode de réalisation, et à des fins de simplification de la description, il est considéré que le système de communication comporte un unique dispositif (20) de demande d’accès à un service, ainsi qu’un unique dispositif (30) de gestion offrant un unique service (^^^^), ces deux dispositifs étant connectés au travers d'un réseau. Il convient cependant de noter qu'aucune hypothèse n’est faite quant au nombre de dispositifs (20) de demande d’accès à un service, au nombre de dispositifs (30) de gestion, au nombre de services (^^^^), ou au nombre de réseaux considérés. Les développements qui suivent sont en effet généralisables sans difficulté par la personne du métier au cas où plus d’un dispositif (20) de demande d’accès à un service, plus d’un dispositif (30) de gestion, plus d'un service (^^^^) et plus d'un réseau sont considérés. [81] Tel qu’illustré par la figure 1A, les dispositifs (20, 30) de demande d’accès à un service et de gestion sont tous les deux connectés à un réseau de télécommunications 10-1. Le réseau de télécommunication 10-1 comprend dans cet exemple plusieurs sous-réseaux (ou "segments" ou "domaines") : un réseau d’accès radio (RAN), un réseau cœur (CN), et un réseau de transit (TN) connecté au réseau d’accès radio (RAN) et au réseau cœur (CN). Les réseaux radio (RAN), de transit (TN) et cœur (CN) composent, dans le mode de réalisation décrit ici, le réseau de télécommunications 10-1 auquel est connecté le dispositif (20) de demande d’accès à un service, et sont aptes à communiquer entre eux. Pour la suite de la description, on considère de manière non limitative que ce réseau de télécommunications 10-1 est un réseau mobile de type 5G. [82] Le réseau d’accès radio (RAN) supporte une ou plusieurs tranches réseau RAN_SL, le réseau de transit (TN) une ou plusieurs tranches TN_SL, et le réseau cœur (CN) une ou plusieurs tranches TN_CN.
[83] De façon générale, il importe de noter qu’aucune hypothèse n’est faite quant à la nature des tranches déployées dans un réseau, leur nombre, et les chemins entre des instances ou sous-instances de tranches. Les fonctions utilisées par ces tranches sont décrites plus en détail en référence à la figure 2. [84] Le réseau d’accès radio (RAN) est par exemple un réseau virtuel V-RAN ("Virtual-RAN"). Un réseau d'accès radio virtuel (V-RAN) est un réseau d’accès radio (RAN) dont les fonctions réseau sont déployées comme des instances virtualisées situées à différents endroits du réseau, par exemple en fonction d’une stratégie de déploiement de l’opérateur de télécommunications. Cette approche offre l’avantage de limiter l’utilisation d’équipements coûteux, et facilite la création des tranches réseau qui coexistent simultanément sur les mêmes équipements matériels. [85] Il convient toutefois de préciser que l'invention reste applicable à d'autres types de réseau de télécommunications 10-1, comme par exemple un réseau mobile 4G, un réseau B5G (acronyme de "Beyond 5G"), un réseau 6G, un réseau WLAN (tel qu’un réseau Wi-Fi), un réseau IP/MPLS, etc. [86] La figure 1B est un deuxième exemple de système de communication dans lequel un procédé général d'accès à un service est mis en œuvre. [87] Ce système comprend un dispositif (20) de demande d’accès à un service (S) ainsi qu'un dispositif (30) de gestion du service (S). À la différence du système de la Figure 1A, les dispositifs (20, 30) de demande d’accès à un service et de gestion du service (S) sont connectés entre eux au travers d'une pluralité de réseaux de télécommunications, 10-1, 10- 2. [88] Le premier réseau de télécommunication 10-1 correspond par exemple à celui précédemment décrit en référence à la Figure 1A, et le deuxième réseau de télécommunications 10-2 est un réseau informatique local sans fil ("Wireless Local Area Network", WLAN, selon la terminologie anglo-saxonne) qui supporte également une pluralité de tranches. [89] Les dispositifs (20, 30) de demande d’accès à un service et de gestion d'un service (S) sont donc capables d’activer et d’exploiter plusieurs interfaces réseau logiques liées à une ou plusieurs interfaces réseau physiques. De tels dispositifs sont généralement dits "multi- interfaces" ("Multi-InterFace", MIF, selon la terminologie anglo-saxonne).
[90] Plusieurs adresses IP peuvent ainsi être attribuées à un dispositif MIF pour qu’il puisse se connecter simultanément ou pas à plusieurs réseaux de télécommunication (par exemple accessibles via une interface Wi-Fi, une interface optique ou une interface 5G du dispositif). Ces adresses IP peuvent : − appartenir à une même famille d’adresses ou à des familles d'adresses distinctes (ex. IPv4, IPv6 ou les deux) ; − avoir des durées de vie différentes. Ainsi, une adresse IPv6 n’est par exemple utilisée par le dispositif (20) de demande d’accès à un service que le temps d’une communication, alors qu’une adresse IPv4 peut être affectée de manière permanente à l’interface de raccordement du dispositif (20) de demande d’accès à un service à un réseau de télécommunication, par exemple une interface de type Ethernet ; − avoir des portées (ou "scope" selon la terminologie anglo-saxonne) différentes. Ainsi, une première adresse IPv4 privée n’est par exemple utilisée que dans un environnement domestique parce que non routable sur l’Internet, une deuxième adresse est de type IPv6 unique de portée locale ("Unique Local Address"), et une troisième adresse est de type IPv6 de portée globale ("Global Unicast Address") ; et − être affectées à une même interface réseau logique ou à différentes interfaces réseau logiques. [91] Il importe également de noter que l’aspect "multi-interfaces" d’un dispositif électronique est volatile, car la capacité à utiliser plusieurs interfaces dépend des conditions de raccordement au(x) réseau(x), de la localisation du dispositif électronique, ou d’autres facteurs. Le dispositif électronique "multi-interfaces" peut notamment exploiter la pluralité d’interfaces dont il dispose lors de l’établissement d’une communication simple (c’est-à- dire, une communication établie le long d’un chemin unique avec un correspondant donné), voire après l’établissement d’une communication simple. On notera également qu’un dispositif électronique "multi-interfaces" ne sait pas a priori s’il lui est possible d’utiliser plusieurs chemins distincts pour établir une communication avec un correspondant donné. [92] Les dispositifs (20, 30) de demande d’accès à un service et de gestion d'un service (S) étant "multi-interfaces", ils bénéficient d’un accès "hybride" puisque différentes technologies d’accès aux réseaux peuvent être exploitées, par exemple pour lui permettre d’agréger la bande passante ou d’améliorer la disponibilité de l’accès à ce(s) réseau(x). [93] On rappelle à cet égard que, dans le domaine des réseaux, la notion "d’agrégation" se réfère au regroupement de plusieurs chemins associés à autant d’interfaces réseau logiques
d'un dispositif MIF, comme s'il s'agissait d'un seul chemin associé à une seule interface réseau. Les flux d'une même communication peuvent alors transiter à travers cette pluralité de chemins. L'agrégation de chemins est par exemple réalisée dans le but d'accroître le débit au-delà des limites d'un seul chemin, mais également afin d’appliquer les mêmes procédures d’exploitation à l’ensemble des chemins ainsi agrégés (notion de "fate sharing" en anglais). [94] L’agrégation de chemins permet également de faire en sorte que d’autres interfaces réseau prennent le relais si l’un des chemins devient indisponible, par exemple en cas de rupture de câble ou de panne de liaison radio, en vertu d’un principe de résilience qui permet d’améliorer la disponibilité de l’accès au réseau. L’agrégation de chemins peut s’appliquer à tout ou partie du trafic acheminé le long de ces chemins, y compris du trafic IP. [95] L'agrégation de chemins peut également être utilisée pour répartir le trafic sur plusieurs chemins. Dans ce cas, la répartition de trafic entre les chemins qui font l’objet d’un agrégat dépend de divers paramètres. La répartition de trafic dépend par exemple du type de trafic, tel que le trafic TCP (initiales des mots anglais "Transmission Control Protocol" signifiant "Protocole de Contrôle de Transmission") ou le trafic UDP (initiales des mots anglais "User Datagram Protocol" signifiant "Protocole de Datagramme Utilisateur"), ou encore d’un ensemble de politiques d’ingénierie de trafic, de qualité de service et/ou de sécurité mises en place par le ou les opérateurs en charge du ou des réseaux de télécommunication supportant ces chemins agrégés. [96] Ainsi, divers modes d’agrégation peuvent être envisagés, parmi lesquels les trois modes suivants : − le mode de repli ("backup" en anglais) qui consiste à utiliser des chemins secondaires en cas d’indisponibilité des chemins primaires, et ce, afin d’améliorer la disponibilité du réseau et de facto des services accessibles au travers du réseau, la robustesse et la fiabilité des communications IP établies sur les différents chemins; − le mode associatif ("bonding" en anglais) qui consiste à utiliser les ressources associées à tout ou partie des chemins disponibles, les flux IP associés à un même service (ou application) pouvant être répartis entre plusieurs chemins. Le choix d’exploiter l’intégralité des chemins, ou seulement une partie d’entre eux, peut par exemple être conditionné par la nature du trafic ou les caractéristiques de disponibilité ou de fiabilité associées à chaque chemin, lesquelles peuvent varier fortement d’un chemin à l’autre ; et
− le mode dit de "confort" qui est similaire au mode associatif, si ce n’est que le trafic caractéristique d’un service donné n’est pas réparti entre plusieurs chemins, mais envoyé sur un unique chemin. [97] Ces différents modes ne sont pas mutuellement exclusifs. Ils ne sont pas non plus spécifiques à un type particulier de trafic. Ainsi, l’un ou l’autre de ces modes peut être mis en place indépendamment de la nature du trafic qui est acheminé le long des chemins agrégés. [98] Le dispositif (20) de demande d’accès à un service (S) peut également être configuré pour s’abstenir d’exploiter un mécanisme d’agrégation de chemins déployé dans certains réseaux de télécommunication. En effet, pour éviter de trop solliciter un premier réseau tel que le réseau mobile 10-1, le dispositif (20) de demande d’accès à un service (S) est par exemple configuré pour ne passer des communications vocales que via un deuxième réseau, tel que le réseau sans fil local WLAN (10-2), à certaines heures de la journée. Selon un autre exemple, le dispositif (20) de demande d’accès à un service (S) est configuré pour ne pas activer d’agrégation dans certaines conditions de fonctionnement, par exemple en cas de surcharge des concentrateurs réseau, tels que des équipements OLT ("Optical Line Termination") dans un réseau d’accès fibre reposant sur une architecture PON ("Passive Optical Network" ou "réseau optique passif"). [99] La figure 1C est un troisième exemple de système de communication dans lequel un procédé général d'accès à un service est mis en œuvre. [100] Le système de communication comprend un dispositif (20) de demande d’accès à un service (S) et connecté à un dispositif intermédiaire (50). Ce dispositif intermédiaire (50) de type MIF, dans l’exemple envisagé ici, est connecté à un dispositif (30) de gestion d'un service au travers d'une pluralité de réseaux, tels que les réseaux 10-1 et 10-2 décrits en référence à la Figure 1B. [101] Le système de communication de la figure 1C se distingue donc de celui de la figure 1B par le fait que le dispositif (20) de demande d’accès à un service (S) n’est pas directement connecté aux réseaux de télécommunication 10-1 et 10-2, mais qu'il est indirectement connecté à ces réseaux au travers dudit dispositif intermédiaire (50). Ainsi, le dispositif (20) de demande d’accès à un service (S) ne nécessite pas d'activer une pluralité d'interfaces réseaux pour qu'une communication multi-chemins soit établie. [102] Au sens de l’invention, on appelle "dispositif intermédiaire" un équipement localisé dans le réseau et agissant au nom d’un ou de plusieurs autres dispositifs. Ce "dispositif intermédiaire" correspond par exemple à un terminal utilisateur – tel qu'un ordinateur
portable, un assistant personnel, un objet connecté, ou un téléphone mobile de type "smartphone" –, ou à un équipement installé dans l’environnement d'un client (particulier, entreprise) et qui est raccordé à l'infrastructure d'un opérateur/fournisseur de service (désigné par "Customer Premises Equipment", CPE, selon la terminologie anglo-saxonne), tel qu'un routeur ou une passerelle domestique. [103] Le déploiement d’un ou plusieurs dispositifs intermédiaires dans le réseau permet au(x) dispositif(s) connecté(s) à ce(s) dispositif(s) intermédiaire(s) de bénéficier d’un usage optimisé des ressources réseau disponibles. Ce déploiement de dispositifs intermédiaires permet également d’établir des communications sur des chemins multiples dans un délai réduit, sans préjuger des capacités du ou des destinataires avec lesquels un dispositif électronique souhaite communiquer. [104] La figure 1D est un quatrième exemple de système de communication dans lequel un procédé général d'accès à un service est mis en œuvre. La figure 1D se distingue de la figure 1C par le fait que le dispositif (20) de demande d’accès à un service est un dispositif "multi- interfaces" à la fois connecté au dispositif intermédiaire (50), mais également connecté au dispositif (30) de gestion du service (S) au travers d'un réseau de télécommunications 10-3 supportant plusieurs tranches réseau. [105] Ainsi, dans ce quatrième exemple, le dispositif (20) de demande d'accès à un service, le dispositif (30) de gestion et le dispositif intermédiaire (50) sont tous les trois des dispositifs multi-interfaces. [106] Bien entendu ces exemples ne sont donnés qu’à titre illustratif et d’autres configurations peuvent être envisagées. [107] La figure 2 est une vue détaillée d'un réseau mobile 5G supportant des tranches réseau, tel que le réseau 10-1 des figures 1A-1D. [108] Comme évoqué précédemment, pour répondre à des contraintes diverses par exemple en termes de qualité de service, le consortium 3GPP a notamment spécifié comment un réseau de télécommunications 5G peut supporter des "tranches réseau". En particulier, le consortium 3GPP a défini la notion "d’instance de tranche réseau". Chaque instance se décompose en sous-instances ("Sub-Network Instance" selon la terminologie anglo- saxonne). Ainsi, une instance de tranche réseau est par exemple composée d’une sous- instance ^^^^^^^^^^^^^^^^^^^^^^^^ de réseau d’accès RAN et d’une sous-instance ^^^^^^^^^^^^^^^^^^^^ de réseau cœur CN. De
cette manière, un fournisseur de service peut s’appuyer sur des tranches (notamment des sous-instances de tranches) mises en place dans différents réseaux (RAN, CN) pour fournir un service dont le trafic sera acheminé dans une instance de tranche de réseau composée de sous-instances de tranches déployées dans les différents réseaux précédemment évoqués. [109] De façon plus générale, lorsque des tranches réseau (par ex. des instances de tranches réseau) s'appuient sur d’autres tranches réseau (par ex. des sous-instances de tranches réseau) par exemple afin d’offrir des services à valeur ajoutée, on parle alors parfois de "tranche multi-domaines" (ou "stitched slices" ou "hierarchical slices" en anglais). Les interfaces de raccordement entre tranches adjacentes ("Attachment Circuits" en anglais) sont par exemple gérées en utilisant des mécanismes tels que ceux décrits dans le document "YANG Data Models for 'Attachment Circuits'-as-a-Service (ACaaS)", draft-boro-opsawg- teas-attachment-circuit-07, M. Boucadair, Ed. & Al., publié le 10 juillet 2023 par l’IETF (acronyme de "Internet Engineering Task Force"). [110] Chacun des sous-réseaux (par ex. RAN, CN) supporte des tranches réseau dont l’ingénierie et l’exploitation sont propres audit sous-réseau. Ainsi, une tranche (^^^^^^^^^^^^^^^^^^^^=1..3) déployée sur un réseau cœur (CN) fait appel à des fonctions de traitement de trafic et d’exploitation caractéristiques d’un réseau cœur mobile 5G. Autrement dit, chaque sous- réseau (ou "domaine") utilise des technologies déployées dans ce sous-réseau pour la réalisation des tranches réseau qui le composent. La réalisation d’une tranche réseau (par ex. d’une instance de tranche réseau) qui s’étend sur plusieurs sous-réseaux (ou domaines) n’est pas conditionnée par la disponibilité ou l’activation des mêmes technologies utilisées pour la réalisation des sous-instances de tranches propres à chaque sous-réseau. À titre d’exemple, un premier sous-réseau peut gérer des communications établies selon la suite de protocoles IPsec (acronyme de "Internet Protocol Security"), un deuxième sous-réseau peut utiliser une ingénierie de réseau privé virtuel de niveau réseau ("Layer 3 VPN", L3VPN, selon la terminologie anglo-saxonne) combiné avec des mécanismes d’ingénierie de trafic ("Traffic Engineering", TE, selon la terminologie anglo-saxonne), et un troisième sous- réseau peut utiliser les ressources du routage par segments reposant sur le protocole IPv6 ("Segment Routing IPv6", SRv6, selon la terminologie anglo-saxonne) pour acheminer le trafic dans les tranches déployées dans ce troisième sous-réseau. [111] La figure 2 illustre un exemple de réseau de communication comprenant un réseau d’accès RAN supportant trois sous-instances de tranches réseau ^^^^^^^^^^^^^^^^^^^^^^^^=1..3 et un réseau cœur CN supportant également trois sous-instances tranches réseau ^^^^^^^^^^^^^^^^^^^^=1..3.
[112] Dans le présent mode de réalisation illustré par la figure 2, et à des fins de simplification de la description, il est considéré que le réseau de télécommunication ne comprend qu’un réseau d’accès (RAN) et un réseau cœur (CN), mais les développements qui suivent sont généralisables sans difficulté par l'homme du métier au cas où le réseau de télécommunication comprend également un ou plusieurs réseaux de transit (TN). Ainsi, les mécanismes décrits dans le document "A Realization of IETF Network Slices for 5G Networks Using Current IP/ MPLS Technologies", draft-ietf-teas-5g-ns-ip-mpls-00, Krzysztof Grzegorz Szarkowicz & Al., publié par l’IETF le 27 juin 2023 peuvent par exemple être mis en œuvre pour déployer des tranches de réseau dans ce réseau de transit (TN). [113] Par ailleurs, il importe également de rappeler qu’aucune hypothèse n’est faite quant à la nature des tranches (par ex. des instances de tranche et des sous-instances de tranches) déployées dans un réseau, leur nombre, et les liens entre des sous-instances de tranches (par ex. entre RAN et TN, ou entre TN et CN). [114] Tel qu’illustré par la figure 2, la sous-instance ^^^^^^^^^^^^^^^^^^^^^^^^=1 du réseau d’accès RAN, et les sous-instances ^^^^^^^^^^^^^^^^^^^^=1 et ^^^^^^^^^^^^^^^^^^^^=2 du réseau cœur (CN) appartiennent à une même instance ^^^^^^^^^^^^^^^^^^^^^^^^ de tranche réseau à laquelle est connectée un terminal utilisateur 20-1. Cette instance ^^^^^^^^^^^^^^^^^^^^^^^^ de tranche réseau est par exemple dédiée à des opérateurs de réseau mobile virtuel ("Mobile Virtual Network Operators", MVNO, selon la terminologie anglo- saxonne) qui ne possèdent pas de concession de spectre de fréquences ni d'infrastructure de réseau radio propres, et qui, pour offrir des services de communications mobiles à leurs clients, s’appuient sur les infrastructures d’un ou plusieurs opérateurs de réseau mobile. [115] Le réseau de communication comprend en outre une instance ^^^^^^^^^^^^^^^^^^^^^^^^ de tranche réseau à laquelle est connecté un terminal utilisateur 20-2. Cette instance ^^^^^^^^^^^^^^^^^^^^^^^^ de tranche réseau est par exemple dédiée aux services à large bande passante pour une connectivité sans fil (eMBB). Cette instance ^^^^^^^^^^^^^^^^^^^^^^^^ comprend une sous-instance ^^^^^^^^^^^^^^^^^^^^^^^^=2 du réseau d’accès RAN, ainsi que la sous-instance instance ^^^^^^^^^^^^^^^^^^^^=2 précédemment évoquée. Autrement dit, la sous-instance ^^^^^^^^^^^^^^^^^^^^=2 est partagée entre l’instance de tranche de réseau ^^^^^^^^^^^^^^^^^^^^^^^^et l’instance de tranche réseau ^^^^^^^^^^^^^^^^^^^^^^^^ . [116] Enfin, le réseau de télécommunication comprend une instance ^^^^^^^^^^^^^^^^^^^^ de tranche réseau à laquelle est connecté un capteur 20-3. Cette instance ^^^^^^^^^^^^^^^^^^^^ de tranche réseau est par exemple dédiée aux objets et terminaux équipés de capteurs et configurés pour émettre et
recevoir des données. Cette instance ^^^^^^^^^^^^^^^^^^^^ comprend une sous-instance ^^^^^^^^^^^^^^^^^^^^^^^^=3 du réseau d’accès RAN, ainsi qu’une sous-instance instance ^^^^^^^^^^^^^^^^^^^^=3 du réseau cœur CN. [117] Une tranche réseau peut impliquer une ou plusieurs "fonctions service" ("Service Functions" selon la terminologie utilisée dans le document "Service Function Chaining (SFC) Architecture", RFC7665, publié en octobre 2015 par l’IETF) également nommées fonctions réseaux ("Network Functions" selon la terminologie utilisée par le consortium 3GPP). Une sous-instance de tranche réseau d’un réseau d‘accès (RAN) implique par exemple : une fonction DU ("Distributed Unit" ou "unité distribuée") configurée pour gérer les sous- couches de la couche liaison de données, soit la sous-couche MAC (acronyme de l’anglais "Media Access Control") et la sous-couche RLC (acronyme de l’anglais "Radio Link Control") ; et une fonction CU ("Centralized Unit" ou "unité centralisée") configurée pour gérer les sous-couches PDCP (acronyme de l’anglais "Packet Data Convergence Protocol"), SDAP (acronyme de l’anglais "Service Data Adaptation Protocol") et RRC (acronyme de l’anglais "Radio Resource Control"). Une sous-instance de tranche réseau d’un réseau cœur (CN) implique une fonction UPF (acronyme de l’anglais "User Plane Function"), telle que par exemple définie par la spécification 3GPP TS 23.501 "System architecture for the 5G System (5GS)", version 18.2.2, publiée le 7 juillet 2023. Cette fonction UPF agit en quelque sorte comme une passerelle entre le réseau d’accès radio (RAN) et un réseau de données, tel que l’Internet ou un réseau local/privé. Il importe également de noter qu’une même fonction service peut être fournie par une ou plusieurs instances de service. [118] Par ailleurs, des chaînes de service ("Service Function Chain", SFC, selon la terminologie anglo-saxonne) peuvent être mises en place afin de faciliter l’acheminement de trafics de différentes natures au sein d’une tranche. Tel qu’illustré par la figure 2, chaque sous- instance de tranche réseau ^^^^^^^^^^^^^^^^1 et ^^^^^^^^^^^^^^^^2 comprend une chaîne de service SFC. La sous- instance de tranche réseau ^^^^^^^^^^^^^^^^1 comprend une chaîne composée de ^^^^ fonctions réseau virtuelles ("Virtual Network Function",^^^^^^^^^^^^^^^^=1..^^^^, selon la terminologie anglo-saxonne), et la sous-instance de tranche réseau ^^^^^^^^^^^^^^^^2 comprend une chaîne composée notamment de ^^^^ fonctions réseau virtuelles ^^^^^^^^^^^^^^^ ′ ^=1..^^^^ . Dans la suite, aucune hypothèse n’est faite quant à la structuration en chaînes de service du service S ou aux tranches réseau sollicitées. [119] La figure 3A représente des modules embarqués dans un deuxième dispositif électronique, selon un exemple de mise en œuvre de l’invention.
[120] Ce deuxième dispositif électronique correspond par exemple au dispositif (30) de gestion d'un service, au dispositif (20) de demande d’accès à un service ou au dispositif intermédiaire (50) et comprend notamment un module MOD_OBT, un module MOD_SEL et un module MOD_TX dont les fonctions sont décrites ci-après en référence à la figure 3B. [121] La figure 3B représente un exemple d’architecture matérielle d’un deuxième dispositif électronique. [122] Tel qu’illustré par la figure 3B, le deuxième dispositif électronique dispose de l’architecture matérielle d’un ordinateur. Ainsi, le deuxième dispositif électronique comporte notamment un processeur 1, une mémoire vive 2, une mémoire morte 3 et une mémoire non volatile 4. Il comporte en outre un module de communication 5. [123] La mémoire morte 3 du deuxième dispositif électronique constitue un support d’enregistrement tel que proposé, lisible par le processeur 1 et sur lequel est enregistré un programme d’ordinateur PROG conforme à l’invention, comportant des instructions pour l’exécution d’étapes du procédé de contrôle d’une communication tel que proposé ci-après. Le programme PROG_M définit un ou plusieurs modules fonctionnels du deuxième dispositif électronique, qui s’appuient sur ou commandent les éléments matériels 1 à 5 cités précédemment, et qui comprennent notamment : − un module MOD_OBT d'obtention d’une donnée représentative de tranches réseau supportées par un réseau et accessibles par un premier dispositif électronique souhaitant accéder à un service S ; − un module MOD_SEL de sélection de tranches réseau accessibles par les premier et deuxième dispositifs électroniques et compatibles avec la fourniture du service S, et d’une politique de gestion des flux de la communication via les tranches réseau sélectionnées ; − un module MOD_TX de transmission, à destination du premier dispositif électronique, d'une donnée représentative des tranches réseau et de ladite politique de gestion des flux sélectionnées pour qu’elles soient appliquées, par le premier dispositif électronique, à cette communication. [124] Par ailleurs, le deuxième dispositif électronique peut également comporter d’autres modules, notamment pour mettre en œuvre des modes particuliers du procédé de contrôle d’une communication, comme cela est décrit plus en détail ultérieurement.
[125] La figure 4A représente des modules embarqués dans un premier dispositif électronique, selon un exemple de mise en œuvre de l’invention. [126] Ce premier dispositif électronique correspond par exemple au dispositif (20) de demande d’accès à un service, ou au dispositif intermédiaire (50) connecté au dispositif (20) de demande, et comprend notamment un module MOD_RX et un module MOD_APP dont les fonctions sont décrites ci-après en référence à la figure 4B. [127] La figure 4B représente un exemple d’architecture matérielle d’un premier dispositif électronique. [128] Tel qu’illustré par la figure 4B, le premier dispositif électronique dispose de l’architecture matérielle d’un ordinateur. Ainsi, le premier dispositif électronique comporte notamment un processeur 1, une mémoire vive 2, une mémoire morte 3 et une mémoire non volatile 4. Il comporte en outre un module de communication 5. [129] La mémoire morte 3 du premier dispositif électronique constitue un support d’enregistrement tel que proposé, lisible par le processeur 1 et sur lequel est enregistré un programme d’ordinateur PROG_S conforme à l’invention, comportant des instructions pour l’exécution d’étapes du procédé de configuration d’une communication tel que proposé ci- après. Le programme PROG_S définit un ou plusieurs modules fonctionnels du premier dispositif électronique, qui s’appuient sur ou commandent les éléments matériels 1 à 5 cités précédemment, et qui comprennent notamment : − un module MOD_RX de réception, en provenance du deuxième dispositif, d'une donnée représentative de tranches réseau accessibles par les premier et deuxième dispositifs électroniques et compatibles avec une fourniture du service (S), ladite donnée étant en outre représentative d'une politique de gestion de flux de la communication via lesdites tranches de réseau ; et, − un module MOD_APP d'application desdites tranches réseau et de ladite politique de gestion des flux à la communication. [130] Par ailleurs, le premier dispositif électronique peut également comporter d’autres modules, notamment pour mettre en œuvre des modes particuliers d'un procédé de configuration d’une communication, comme cela est décrit plus en détail ultérieurement. [131] La figure 5A illustre, sous forme d’ordinogramme, les principales étapes d’un procédé général d'accès à un service, selon un premier exemple de mise en œuvre de l’invention. Ce
procédé comprend un procédé de contrôle d'une communication incluant les étapes S200, S210 à S290 et mis en œuvre par un dispositif (30) de gestion du service (S) (qui est ainsi un deuxième dispositif au sens de l’invention dans ce premier exemple de mise en œuvre), ainsi qu'un procédé de configuration d'une communication incluant les étapes S10, S100, S110 à S160 et mis en œuvre par un dispositif (20) de demande d'accès du service (S) (qui est ainsi un premier dispositif au sens de l’invention dans ce premier exemple de mise en œuvre). [132] Le procédé général d'accès à un service comprend une première étape S10 d’initialisation au cours de laquelle le dispositif (20) de demande d’accès à un service obtient une liste de tranche(s) auxquelles il peut accéder pour envoyer ou recevoir du trafic (c’est-à-dire qu’il est habilité à utiliser les ressources de la ou des tranches listées). [133] Selon une implémentation particulière, cette liste est communiquée (par ex. transmise) par le ou les fournisseurs de tranches de réseau ("Slice Service Provider", SSP, selon la terminologie anglo-saxonne) auxquels le dispositif (20) de demande d'accès à un service est connecté, et reçue par ce dispositif (20) de demande d’accès à un service. Cette étape est par exemple conforme à la section 4.9.2 "Network Slice as a Service" de la spécification TS 28.801, "Telecommunication management; Study on management and orchestration of network slicing for next generation network", version 15.1.0, publiée le 4 janvier 2018 par le consortium 3GPP. [134] En variante, c’est un service du dispositif (20) de demande d'accès qui met en œuvre les étapes S10, S100 à S160 de ce procédé – le dispositif (20) de demande d'accès à un service correspondant alors par exemple à une ressource matérielle d’un réseau de télécommunications –, et la liste des tranches que ledit dispositif est susceptible d’utiliser pour envoyer ou recevoir du trafic est obtenue à l’issue d’une configuration dudit service, laquelle suppose de configurer l'ensemble des tranches que le premier dispositif est susceptible d'utiliser pour envoyer ou recevoir du trafic. Une telle configuration est par exemple intégrée dans l’applicatif client utilisé pour accéder au service. [135] Pour chaque tranche réseau, son type est obtenu par le dispositif (20) de demande d’accès à un service. Il importe également de noter que plusieurs types de tranches peuvent être associés à une même tranche. Dans ce cas, pour une tranche donnée, plusieurs types sont obtenus par le dispositif (20) de demande d’accès à un service. Cette caractéristique s’avère particulièrement avantageuse lorsqu’une même tranche (ou instance de tranche) est conçue pour agréger plusieurs autres sous-tranches (ou sous-instances de tranche). Le type d’une tranche réseau correspond par exemple à l’un des types de tranches définis par le consortium 3GPP (par ex. eMBB, IoT, URRLLC ou V2X), ou à d’autres types préalablement définis par le fournisseur de tranches réseau.
[136] En variante, plutôt que d’obtenir un type particulier de tranche réseau, des identifiants de tranche réseau ("Slice Identifier", SID, selon la terminologie anglo-saxonne) ou marqueurs idoines ("tags") sont obtenus par le dispositif (20) de demande d’accès à un service. [137] Selon une implémentation particulière, le dispositif (20) de demande d’accès à un service obtient en outre tout ou partie des données suivantes : − un identifiant de réseau ("Network IDentifier", NID). Cet identifiant peut être utilisé pour déterminer si les deux dispositifs 20 et 30 sont connectés au même réseau. Dans ce cas, cet identifiant de réseau peut être utilisé pour marquer les paquets d’une sous-session. L’échange de cet identifiant de réseau permet également de vérifier la corrélation entre les identifiants de réseau des dispositifs (20, 30) de demande d’accès à un service et de gestion ; − un nombre maximum de sous-sessions par tranche donnée ("MAX_SubFlow_Slice"). Ce paramètre peut être fourni comme un paramètre système ou être un paramètre configuré par défaut dans une application ou un service. Ce paramètre peut également être configuré par un utilisateur (par exemple, un administrateur d’une instance de service). [138] Tel qu’illustré par la figure 5A, le procédé général d'accès à un service comprend en outre une étape de transmission S100 au cours de laquelle un message MSG1 est transmis par le dispositif (20) de demande d'accès à un service à destination du dispositif (30) de gestion du service. [139] Ce premier message MSG1 inclut, dans l’exemple d’implémentation envisagé ici, une donnée SLICE_CAPABLE_1 représentative d'une capacité du dispositif (20) de demande d’accès à un service à utiliser au moins une tranche réseau sélectionnée parmi une pluralité de tranches réseau d’un réseau de télécommunications supportant des tranches réseau, et à appliquer une politique de gestion des flux de la communication sélectionnée par le dispositif (30) de gestion du service. [140] Selon une implémentation particulière, ce message MSG1 correspond à une demande d’établissement de communication. Un protocole de transport incluant TCP et son option MPTCP sont par exemple considérés, et ce message MSG1 correspond à un message SYN TCP. Toujours en considérant l'option MPTCP, ce message MSG1 correspond par exemple à une demande d’initialisation d’une sous-session TCP supplémentaire. [141] Selon une implémentation particulière, cette donnée SLICE_CAPABLE_1 correspond à une valeur d’un champ (ou "attribut") (par ex. un champ ou attribut appelé ici
SLICE_CAPABLE) du message MSG1, ce champ étant alors dédié à la représentation d'une capacité d’un dispositif électronique à utiliser au moins une tranche réseau sélectionnée parmi une pluralité de tranches réseau d’un réseau de télécommunications, et à appliquer une politique de gestion des flux de la communication sélectionnée par un autre dispositif. [142] Selon une implémentation particulière, cette donnée SLICE_CAPABLE_1 comprend en outre une indication selon laquelle le dispositif (20) de demande d’accès à un service est capable d’échanger des données dans le cadre d’une communication établie sur des chemins multiples au sein de ce réseau de télécommunications supportant des tranches réseau. Ainsi, si la valeur du champ SLICE_CAPABLE du message MSG1 est par exemple égale à "1", cela signifie que le dispositif ayant émis cette trame est capable d'utiliser au moins une tranche réseau sélectionnée parmi une pluralité de tranches réseau d’un réseau de télécommunications, d'appliquer une politique de gestion des flux de la communication sélectionnée par un autre dispositif, et d’échanger des données dans le cadre d’une communication établie sur des chemins multiples au sein de ce réseau. [143] Ce message MSG1 est reçu par le dispositif (30) de gestion du service lors d’une étape S200. Au cours d’une étape S210, le dispositif (30) de gestion extrait des données du message reçu à l’étape S200. Le procédé général d'accès au service comprend en outre une étape S220 au cours de laquelle il est déterminé si le dispositif (30) de gestion est capable ou pas de sélectionner au moins une tranche réseau parmi une pluralité de tranches réseau du réseau de télécommunications, en fonction des contraintes ou exigences du service (S) mais également en fonction des capacités du dispositif de demande d’accès à un service (20), et de sélectionner une politique de gestion des flux appropriée. [144] Selon une implémentation particulière, cette étape S220 vise également à déterminer si le dispositif (30) de gestion est capable ou pas d'utiliser une communication établie sur des chemins multiples au sein de ce réseau de télécommunications supportant des tranches réseau. [145] Si le dispositif (30) de gestion n’en est pas capable (choix "N"), il met en œuvre l’étape S230. Selon un premier exemple de mise en œuvre de l’étape S230, le message MSG1 reçu à l’étape S200 est ignoré et il est mis fin à la procédure d’établissement de la communication. Selon un deuxième exemple de mise en œuvre, la donnée SLICE_CAPABLE_1 est ignorée par le dispositif (30) de gestion du service. Dans ce cas, si le protocole de transport utilisé est le protocole TCP qui utilise l'option MPTCP, un deuxième message est émis par le dispositif (30) de gestion à destination du dispositif (20) de demande d'accès au service, qui correspond par exemple au message SYN/ACK tel que défini par le standard RFC 9293.
[146] Si par contre le dispositif (30) de gestion d'un service est capable de sélectionner au moins une tranche réseau parmi une pluralité de tranches réseau d’un réseau de télécommunications en fonction des exigences du service (S) mais également de contraintes du dispositif (20) de demande d’accès à un service, et de sélectionner une politique de gestion des flux (choix "Y"), il met alors en œuvre une étape S240. Lors de cette étape S240, un deuxième message, MSG2, est transmis par le dispositif (30) de gestion à destination du dispositif de demande d’accès à un service (20), qui inclut une donnée SLICE_CAPABLE_2 représentative d’une capacité du dispositif (30) de gestion à sélectionner au moins une tranche réseau compatible pour accéder au service (S), ainsi qu'une politique de gestion des flux de la communication. [147] Selon une implémentation particulière, ce message MSG2 correspond à un accusé de réception ACK de la demande d’établissement de communication. En alternative, si le protocole de transport utilisé est le protocole TCP qui utilise l'option MPTCP et que le message MSG1 porte sur l'initialisation d'une sous-session TCP, ce message MSG2 correspond à un accusé de réception de la demande d’initialisation d’une sous-session TCP supplémentaire. [148] Selon une implémentation particulière, cette donnée SLICE_CAPABLE_2 correspond à une valeur d’un champ (appelé par exemple SLICE_CAPABLE) du message MSG2, ce champ étant alors dédié à représenter une capacité d’un dispositif électronique à sélectionner au moins une tranche réseau compatible pour accéder au service (S), ainsi qu'une politique de gestion des flux de la communication. [149] Selon une implémentation particulière, cette donnée SLICE_CAPABLE_2 comprend en outre une indication selon laquelle le dispositif (30) de gestion d'un service est capable d'utiliser une communication établie sur des chemins multiples au sein de ce réseau de télécommunications supportant des tranches réseau. Ainsi, si la valeur du champ SLICE_CAPABLE du message MSG2 est par exemple égale à "1", cela signifie que le dispositif ayant émis ce message est capable de sélectionner au moins une tranche réseau compatible ainsi qu'une politique de gestion des flux, et d’utiliser une communication établie sur des chemins multiples au sein de ce réseau. [150] Le deuxième message MSG2 est reçu par le dispositif (20) de demande d’accès à un service lors d’une étape S110. Le procédé général d'accès à un service comprend en outre une étape S120 au cours de laquelle les données sont extraites du message MSG2 reçu. De manière plus précise, le dispositif (20) de demande d’accès à un service vérifie la présence de la donnée SLICE_CAPABLE_2. En effet, l’absence de cette donnée dans une réponse à une demande d’établissement de communication (MSG1) qui contient la donnée
SLICE_CAPABLE_1 signifie que le dispositif (30) de gestion ne supporte pas la méthode selon l’invention. [151] Si le deuxième message MSG2 comprend la donnée SLICE_CAPABLE_2, l’étape S130 est alors mise en œuvre. Au cours de cette étape S130, un troisième message MSG3 est émis par le dispositif (20) de demande d’accès à un service à destination du dispositif (30)de gestion du service, qui inclut une donnée SLICE_SET représentative de tranches réseau supportées par ledit au moins un réseau et accessibles par le dispositif (20) de demande d'accès à un service. Cette donnée SLICE_SET inclut au moins un type de tranche réseau et/ou au moins un identifiant de tranche réseau obtenus lors de l’étape S10. [152] Selon une implémentation particulière, cette donnée SLICE_SET inclut en outre au moins une donnée parmi les données suivantes : − un identifiant de réseau obtenu à l’étape S10 ; − un nombre maximum de sous-sessions par tranche donnée ("MAX_SubFlow_Slice") par exemple obtenu à l’étape S10 ; − un ou plusieurs identifiants d’adresse ("Address Identifier", Address ID). Cet identifiant est utilisé pour associer les tranches joignables via une même adresse. Ce paramètre est par exemple généré par le dispositif (20) de demande d'accès à un service selon un mécanisme similaire à celui de l’option MPTCP ADD_ADDR. − une indication de support de sous-sessions asymétriques. Cette indication correspond par exemple à un champ spécifique prenant l’une des valeurs suivantes : IN, OUT ou BOTH. Ce paramètre indique explicitement la capacité d’associer le trafic sortant (OUT) ou entrant (IN) d’une même sous-session à des tranches réseau distinctes. La valeur BOTH est utilisée pour indiquer qu’une même tranche doit être utilisée pour le trafic entrant et sortant d’une même sous-session. Cependant, les sous-sessions d’une même communication peuvent être associées à des tranches distinctes. [153] Selon une implémentation particulière, le troisième message MSG3 comprend en outre des données, OTHER_TSV, relatives au ou aux protocoles de transport applicables, par le dispositif (20) de demande d’accès à un service, à la communication entre le dispositif (20) de demande d’accès à un service et le dispositif (30) de gestion du service (S). Ces protocoles de transport permettent par exemple d’établir une communication sur des chemins multiples. Pour cela, le message comprend par exemple un champ dédié dont les valeurs « protocol#i » correspondent à des identifiants de protocoles de transport. Les données OTHER_TSV peuvent s’appliquer à une communication de bout en bout, à une sous-
session, ou à une tranche spécifique. Dans ce dernier cas, le ou les protocoles listés ne sont éligibles que pour des communications ou sous-sessions via cette tranche spécifique. [154] Selon une implémentation particulière, le troisième message comprend en outre des données SCHEDULER relatives au(x) mécanisme(s) d’ordonnancement de trafic supportés par le dispositif (20) de demande d'accès à un service (S) et le dispositif (30) de gestion du service (S). Pour cela, le message comprend par exemple un champ dédié dont les valeurs sc#j correspondent à des identifiants de mécanismes d’ordonnancement de trafic applicables (e.g. la valeur "0" pour le Round-Robin (ou "tourniquet" en français), "1" pour le "Lowest Round-Trip-Time First", "2" pour le "Round-Trip-Time Threshold", et "3" pour le "Priority-based"). Les données SCHEDULER peuvent s’appliquer à une communication de bout-en-bout, à une sous-session, ou à une tranche spécifique. Dans ce dernier cas, le ou les mécanismes d’ordonnancement listés ne sont éligibles que pour l’établissement de communications ou sous-sessions via cette tranche spécifique. [155] Le procédé général d'accès à un service comprend en outre une étape S250 au cours de laquelle le message MSG3 est reçu par le dispositif (30) de gestion. Cette étape est par exemple mise en œuvre par le module MOD_OBT du dispositif (30) de gestion du service. [156] A l'issue de la réception de ce message MSG3, le dispositif (30) de gestion du service extrait les données du message MSG3 et les enregistre dans un cache local (étape S260). [157] Lors d’une étape S270, le dispositif (30) de gestion d'un service sélectionne des tranches réseau accessibles par le dispositif (30) de demande d’accès à un service et compatibles avec la fourniture du service S, ainsi qu'une politique de gestion des flux de la communication via les tranches réseau sélectionnées. Cette étape est par exemple mise en œuvre par le module MOD_SEL du dispositif (30) de gestion du service. [158] La sélection d'une politique de gestion des flux précédemment évoquée comprend tout ou partie des éléments suivants : − un mécanisme d'ordonnancement de trafic à appliquer par le dispositif (20) de demande d’accès à un service à la communication; − un protocole de transport permettant d’établir des communications sur des chemins multiples à appliquer, par le dispositif (20) de demande d’accès à un service, à la communication ; − une contrainte sur une direction d'au moins un flux de la communication au travers d'au moins une des tranches réseau sélectionnées ;
− une répartition spécifique des flux de la communication (ou le cas échéant des sous- sessions sur lesquelles s’appuie la communication) et dont le trafic est acheminé dans la ou les tranches réseau sélectionnées, et, − une contrainte d’utilisation d’une unique tranche ou d’une pluralité de tranches réseaux connectées entre elles. [159] Bien entendu, d’autres éléments peuvent être envisagés dans la politique de gestion en variante ou en complément des éléments précités. [160] L'étape S270 comprend une comparaison, par le dispositif (30) de gestion, des données extraites avec ses propres informations et instructions de service. Ces instructions de service correspondent à des exigences (par ex. un type de tranche réseau donné, un mécanisme d’ordonnancement de trafic, un protocole de transport spécifique, une répartition spécifique des flux, une contrainte d'utilisation de tranches) requises pour pouvoir accéder de manière optimale au service S. [161] L’étape S270 permet de déterminer si au moins une tranche réseau est à la fois accessible par le dispositif (20) de demande d’accès à un service et compatible avec les contraintes ou exigences du service (S) et/ou avec celles du dispositif sur lequel est déployé ce service. Selon une implémentation particulière, cette étape inclut une comparaison entre le ou les types de tranches réseau du message MSG2, et celui ou ceux compatibles avec le service (S). [162] Selon une implémentation particulière, cette étape S270 comprend en outre une sélection d'un ou plusieurs protocoles de transport permettant au dispositif (20) d’envoyer une demande d’accès à un service et compatibles avec les contraintes ou exigences du service (S). Ces protocoles de transport sont par exemple des protocoles de transport qui permettent d’établir des communications sur des chemins multiples, tels que le protocole TCP assorti de l'option "Multipath TCP", le protocole UDP assorti d'une extension "Multipath UDP", le protocole QUIC assorti de l'extension "Multipath QUIC" et le protocole MDCCP "Multipath Datagram Congestion Control Protocol". [163] MPTCP est une option du protocole TCP bien connu en soi, qui permet donc d'établir une communication TCP dont les flux empruntent plusieurs chemins du réseau. L'option MPTCP définit la notion de sous-session ("subflow" selon la terminologie anglo-saxonne) pour désigner une session TCP reposant sur l’utilisation de l’une des adresses IP/numéros de port disponibles. Aussi, une communication MPTCP correspond à un agrégat de sous- sessions TCP. L'option MPTCP est spécifiée par le standard RFC8684, "TCP Extensions for Multipath Operation with Multiple Addresses", publiée en mars 2020 par l’IETF. L'extension
Multipath du protocole UDP permet d’établir des communications UDP sur des chemins multiples. L'extension Multipath du protocole QUIC est décrite dans la spécification "Multipath Extensions for QUIC (MP-QUIC)", draft-ietf-quic-multipath, version 06, publiée en octobre 2023 par l’IETF. Enfin, MPDCCP est une extension du protocole de transport DCCP, qui est particulièrement adaptée aux services ayant des exigences élevées en termes de latence. Cette option est définie dans la spécification "DCCP Extensions for Multipath Operation with Multiple Addresses", version 11, publiée en octobre 2023 par l'IETF. [164] Selon une implémentation particulière, si le message MSG3 comprend des données SCHEDULER relatives au(x) mécanisme(s) d’ordonnancement de trafic applicables, par le dispositif (20) de demande d’accès à un service, à la communication entre le dispositif (20) de demande d’accès à un service et le dispositif (30) de gestion du service (S), l’étape S270 comprend également la sélection d’au moins un mécanisme d’ordonnancement parmi les mécanismes d’ordonnancement identifiés dans le message MSG3, qui soit également compatible avec les exigences du service (S) et/ou du dispositif sur lequel est déployé ce service. [165] Selon une implémentation particulière, cette étape S270 comprend en outre une sélection, par le dispositif (30) de gestion, d'au moins une tranche réseau accessible par ce même dispositif (30) de gestion, et adaptée à la fourniture du service (S) (par exemple ici au dispositif (20) de demande d'accès audit service). Cette tranche réseau accessible par ce dispositif (30) de gestion est par exemple identique à celle sélectionnée pour le dispositif (20) de demande d'accès au service. [166] Selon une implémentation particulière, cette étape S270 comprend en outre une sélection, par le dispositif (30) de gestion, d'une politique de gestion applicable, par ce même dispositif (30) de gestion, à la communication entre le dispositif (20) de demande d'accès et ce dispositif (30) de gestion, et adaptée à la fourniture du service (S) (par exemple ici, au dispositif (20) de demande d'accès audit service). Cette politique de gestion applicable par ce dispositif (30) de gestion est par exemple identique à celle sélectionnée pour le dispositif (20) de demande d'accès au service. [167] Si une tranche réseau à la fois accessible par le dispositif (20) de demande d’accès à un service et compatible avec les contraintes ou exigences du service (S) est identifiée, l’étape S280-1 est mise en œuvre au cours de laquelle la tranche identifiée est associée au trafic sortant de la communication ou de la sous-session. Le procédé selon l'invention comprend en outre une étape S290-1 au cours de laquelle le dispositif (30) de gestion transmet, à destination du dispositif (20) de demande d'accès au service, un quatrième message MSG4 incluant une donnée SLICE_SET_SELECT représentative des tranches réseau et de ladite
politique de gestion des flux sélectionnées lors de l'étape S270. Selon une mise en œuvre particulière, ces données sont consignées dans le champ SLICE_SET, et d’une manière optionnelle, dans les champs OTHER_TSV et SCHEDULER du quatrième message MSG4. Cette étape est par exemple mise en œuvre par le module MOD_TX du dispositif (30) de gestion. [168] Si par contre aucune tranche réseau n’est à la fois accessible par le dispositif (20) de demande d’accès à un service (S) et compatible avec les exigences de ce service (S), alors le dispositif (30) de gestion du service met en œuvre une étape S280-2. Au cours de cette étape S280-2, le dispositif de gestion (30) sélectionne un protocole de transport alternatif à celui jusqu’à présent utilisé par le dispositif (20) de demande d’accès à un service. Selon une implémentation particulière, ce protocole de transport alternatif est un protocole par défaut. En variante, ce protocole de transport alternatif est sélectionné à partir des données OTHER_TSV relatives aux protocoles de transport incluses dans le message MSG3. Puis, lors d'une étape S290-2, le dispositif (30) de gestion transmet, à destination du dispositif (20) de demande d'accès, un quatrième message MSG4' incluant une donnée représentative du protocole de transport sélectionné lors de l'étape S280-2. [169] Ce quatrième message (MSG4, MSG4') est reçu par le dispositif (20) de demande d’accès à un service lors d’une étape S140. Cette étape est par exemple mise en œuvre par le module MOD_RX du dispositif (20) de demande d’accès à un service. [170] Le procédé selon l'invention comprend en outre une étape S150 au cours de laquelle les données sont extraites du quatrième message (MSG4, MSG4') reçu, et enregistrées dans un cache local. [171] Enfin, le dispositif (20) de demande d’accès à un service met en œuvre une étape S160 au cours de laquelle les tranches réseau et la politique de gestion des flux sélectionnées lors de l'étape S270 sont appliquées à la communication établie entre le dispositif (20) de demande d’accès à un service et le dispositif (30) de gestion de ce service (S). Cette étape S160 est par exemple mise en œuvre par le module MOD_APP du dispositif (20) de demande d’accès à un service. Cette étape S160 est décrite plus en détail en référence à la figure 5B. [172] Selon une variante, le procédé selon l'invention ne comprend pas les étapes S100, S200 à S240, S110 et S120. Dans ce cas particulier, les premier et deuxième messages MSG1, MSG2 ne sont donc pas échangés entre les premier et deuxième dispositifs électroniques, et le troisième message MSG3 comprend alors la donnée SLICE_CAPABLE_1 représentative d’une capacité du dispositif (20) de demande d’accès à un service à utiliser au moins une tranche réseau sélectionnée parmi une pluralité de tranches réseau d’un réseau de
télécommunications, et à appliquer une politique de gestion des flux de la communication sélectionnée par le dispositif (30) de gestion du service. [173] La figure 5B est une vue détaillée d'un exemple de mise en œuvre de l’étape S160 au cours de laquelle les tranches réseau et la politique de gestion des flux sélectionnées sont appliquées à la communication entre le dispositif (20) de demande d’accès à un service et le dispositif (30) de gestion de ce service (S). [174] Tel qu’illustré par la figure 5B, l’étape S160 comprend une première étape S5110 au cours de laquelle le dispositif (20) de demande d’accès à un service (S) détermine si les données extraites au cours de l'étape S150 incluent des données relatives à des tranches réseau sélectionnées. Si tel est le cas, l’étape S5120 est mise en œuvre au cours de laquelle les tranches de réseau sélectionnées sont associées à la communication ou à la sous-session établie entre le dispositif (20) de demande d’accès à un service et le dispositif (30) de gestion de ce service (S). [175] Puis, lors d’une étape S1540, la politique de gestion des flux sélectionnée par le dispositif (30) de gestion est obtenue. De façon plus précise, il est par exemple déterminé si les données extraites incluent un protocole de transport à utiliser, par exemple en vérifiant si le champ OTHER_TSV du quatrième message MSG4 est vide ou pas, et s'il n’est pas vide, en vérifiant si la valeur dudit champ correspond à l’une des valeurs identifiant les protocoles de transport transmises au travers du troisième message MSG3. Si tel est le cas (par ex. si le champ OTHER_TSV comprend l’identifiant « protocol#i » d’au moins un protocole de transport pouvant être appliqué par le dispositif (20) de demande d’accès à un service), le dispositif (20) de demande d'accès utilise le protocole de transport identifié par « protocol#i » pour l’envoi de paquets de données via la tranche sélectionnée dans le cadre de la communication entre ce dispositif (20) de demande d’accès à un service et le dispositif (30) de gestion dudit service. [176] De façon relativement similaire, il est par exemple déterminé si les données extraites incluent un mécanisme d’ordonnancement de trafic spécifique à appliquer, en vérifiant si le champ SCHEDULER du quatrième message MSG4 est vide ou pas, et s’il n’est pas vide, en vérifiant si la valeur dudit champ correspond à l’une des valeurs identifiant les mécanismes d’ordonnancement de trafic transmises au travers du troisième message MSG3. Si tel est le cas (par ex. si le champ SCHEDULER comprend l’identifiant sc#j d’au moins un mécanisme d’ordonnancement de trafic pouvant être appliqué par le dispositif (20) de demande d’accès à un service), le dispositif (20) de demande d’accès à un service utilise le mécanisme
d’ordonnancement de trafic identifié par sc#j pour l’envoi de paquets de données via la tranche sélectionnée dans le cadre de la communication établie entre ce dispositif (20) de demande d’accès à un service et le dispositif (30) de gestion dudit service [177] Enfin, lors d’une étape S5140, le dispositif (20) de demande d’accès à un service associe le trafic sortant de la communication (ou sous-session) avec la tranche sélectionnée par le dispositif (30) de gestion. Le marquage du trafic est celui associé à la tranche ainsi sélectionnée. Des tranches distinctes par direction de trafic peuvent également être utilisées. [178] De retour à l’étape S5110, si les données extraites n’incluent pas de données relatives aux tranches réseau sélectionnées, alors il est déterminé, lors d’une étape S5150, si les données extraites incluent un protocole de transport alternatif à celui jusqu’à présent utilisé par le dispositif (20) de demande. [179] Si tel est le cas (choix "Y"), les étapes S5160 et S5170 sont mises en œuvre. Lors de l’étape S5160, le dispositif (20) de demande d’accès à un service détecte la clôture de la communication établie entre le dispositif (20) de demande d’accès à un service et le dispositif (30) de gestion d'un service. [180] Selon un premier exemple, la clôture de la communication établie entre le dispositif (20) de demande d'accès à un service et le dispositif (30) de gestion d'un service est déclenchée de façon immédiate. [181] Selon un deuxième exemple, la communication établie entre le dispositif (20) de demande d’accès à un service et le dispositif (30) de gestion d'un service est maintenue et n’est donc pas immédiatement clôturée, et l’étape S5160 comprend la détection d’un évènement relatif à la clôture de la communication en cours. L’attente de la détection d’un tel évènement est par exemple déclenchée à l’issue de la réception du quatrième message MSG4, et ce, pendant une période de temps prédéterminée (par ex.24 heures). Enfin, l’étape S5170 est mise en œuvre au cours de laquelle une nouvelle communication est établie en utilisant le protocole de transport « protocol#i ». [182] De retour à l’étape S5150, si les données extraites n’incluent pas de protocole de transport alternatif à celui jusqu’à présent utilisé par le dispositif (20) de demande d'accès à un service (choix "N"), alors la communication courante est clôturée (étape S5180). [183] La figure 6 illustre, sous forme d’ordinogramme, les principales étapes d’un procédé général d'accès à un service, selon un deuxième exemple de mise en œuvre de l’invention. La
figure 6 illustre une variante dans laquelle la sélection des tranches compatibles et de la politique de gestion des flux est mise en œuvre par le dispositif (20) de demande d’accès à un service plutôt que par le dispositif (30) de gestion d'un service. [184] Le procédé général d'accès à un service comprend une première étape (S10) d’initialisation au cours de laquelle le dispositif (20) de demande d’accès à un service obtient une liste de tranches auxquelles il peut accéder pour envoyer ou recevoir du trafic. Cette étape est par exemple mise en œuvre par le module MOD_OBT du dispositif (20) de demande d'accès à un service. [185] Tel qu’illustré par la figure 6, le procédé général d'accès à un service comprend en outre une étape S6100 de transmission au cours de laquelle un message MSG1 est transmis par le dispositif (20) de demande d’accès à un service à destination du dispositif (30) de gestion du service. Ce message inclut, dans l’exemple d’implémentation envisagé ici, une donnée SLICE_CAPABLE_3 représentative d’une capacité du dispositif (20) de demande d’accès à un service à sélectionner au moins une tranche réseau compatible pour accéder au service (S), ainsi qu'une politique de gestion des flux de la communication. [186] Selon une implémentation particulière, ce message MSG1 correspond à une demande d’établissement de communication. Un protocole de transport tel que TCP et son option MPTCP sont par exemple considérés, et ce message MSG1 correspond à un message SYN TCP. Toujours en considérant l'option MPTCP, ce message MSG1 correspond par exemple à une demande d’initialisation d’une sous-session TCP supplémentaire. [187] Selon une implémentation particulière, cette donnée SLICE_CAPABLE_3 correspond à une valeur d’un champ (ou "attribut") (par ex. un champ ou attribut appelé ici SLICE_CAPABLE) du message MSG1, ce champ étant alors dédié à la représentation d'une capacité d’un dispositif électronique à sélectionner au moins une tranche réseau compatible pour accéder à un service, ainsi qu'une politique de gestion des flux de la communication. [188] Selon une implémentation particulière, cette donnée SLICE_CAPABLE_3 comprend en outre une indication selon laquelle le dispositif (20) de demande d'accès à un service est capable d’échanger des données dans le cadre d’une communication établie sur des chemins multiples au sein de ce réseau de télécommunications supportant des tranches réseau. Ainsi, si la valeur du champ SLICE_CAPABLE du message MSG1 est par exemple égale à "1", cela signifie que le dispositif ayant émis le message MSG1 est capable de sélectionner au moins une tranche réseau parmi une pluralité de tranches réseau déployées au sein d’un réseau de télécommunications, ainsi qu'une politique de gestion des flux de la communication, et
d’échanger des données dans le cadre d’une communication établie sur des chemins multiples au sein de ce réseau. [189] Ce message MSG1 est reçu par le dispositif (30) de gestion du service lors d’une étape S6200. Au cours d’une étape S6210, le dispositif (30) de gestion du service extrait des données du message reçu à l’étape S6200. Le procédé général d'accès au service comprend en outre une étape S6220 au cours de laquelle il est déterminé si le dispositif (30) de gestion est capable ou pas d'utiliser une tranche réseau sélectionnée par le dispositif (20) de demande d’accès à un service parmi une pluralité de tranches réseau du réseau de télécommunications, et d'appliquer une politique de gestion des flux également sélectionnée par le dispositif de demande (20). [190] Selon une implémentation particulière, cette étape S6220 vise également à déterminer si le dispositif (30) de gestion est capable ou pas d'utiliser une communication établie sur des chemins multiples au sein de ce réseau de télécommunications. [191] Si le dispositif (30) de gestion n’en est pas capable (choix "N"), il met en œuvre l’étape S6230. Selon un premier exemple de mise en œuvre de l’étape S6230, le message MSG1 reçu à l’étape S6200 est ignoré et il est mis fin à la procédure d’établissement de la communication. Selon un deuxième exemple de mise en œuvre, la donnée SLICE_CAPABLE_3 est ignorée par le dispositif (30) de gestion d'un service. [192] Si le dispositif (30) de gestion (30) d'un service est par contre capable d'utiliser une tranche réseau sélectionnée par le dispositif (20) de demande d'accès à un service parmi une pluralité de tranches réseau du réseau de télécommunications, et d'appliquer une politique de gestion des flux également sélectionnée par le dispositif (20) de demande d'accès à un service, il met en œuvre une étape S6240. [193] Lors de cette étape S240, un deuxième message MSG2 est transmis par le dispositif (30) de gestion et à destination du dispositif (20) de demande d’accès à un service, qui inclut une donnée SLICE_CAPABLE_4 représentative d’une capacité du dispositif (30) de gestion à utiliser au moins une tranche réseau compatible ainsi qu'à appliquer une certaine politique de gestion des flux de la communication. [194] Selon une implémentation particulière, cette donnée SLICE_CAPABLE_4 correspond à une valeur d’un champ (appelé par exemple SLICE_CAPABLE) du message MSG2, ce champ étant alors dédié à représenter une capacité d’un dispositif électronique à utiliser au moins une tranche réseau compatible ainsi qu'à appliquer une politique de gestion des flux de la communication sélectionnées par un autre dispositif électronique.
[195] Selon une implémentation particulière, cette donnée SLICE_CAPABLE_4 comprend en outre une indication selon laquelle le dispositif (30) de gestion d'un service est capable d'utiliser une communication établie sur des chemins multiples au sein de ce réseau de télécommunications supportant des tranches réseau. Ainsi, si la valeur du champ SLICE_CAPABLE du message MSG2 est par exemple égale à "1", cela signifie que le dispositif ayant émis ce message est capable d'utiliser au moins une tranche réseau et d'appliquer une politique de gestion des flux de la communication sélectionnées par un autre dispositif électronique, et d’utiliser une communication établie sur des chemins multiples au sein de ce réseau. [196] Ce deuxième message comprend en outre une donnée SLICE_SET représentative de tranches réseau supportées par le réseau de communication, et accessibles par le dispositif (30) de gestion du service. Selon une implémentation particulière, ce deuxième message MSG2 comprend en outre des données OTHER_TSV relatives au (x) protocoles de transport utilisables pour accéder au service (S), et/ou des données SCHEDULER relatives au(x) mécanisme(s) d’ordonnancement de trafic applicables pour accéder au service (S). [197] Ces données OTHER_TSV et SCHEDULER correspondent par exemple à celles préalablement décrites en référence à la figure 5A. [198] Le deuxième message MSG2 est reçu par le dispositif (20) de demande d’accès à un service lors d’une étape S6110. Le procédé général d'accès à un service comprend en outre une étape S6120 au cours de laquelle les données sont extraites du message MSG2 reçu. De manière plus précise, le dispositif (20) de demande d’accès à un service vérifie la présence de la donnée SLICE_CAPABLE_4. En effet, l’absence de cette donnée dans une réponse à une demande d’établissement de communication (MSG1) qui contient la donnée SLICE_CAPABLE_3 signifie que le dispositif (30) de gestion d'un service ne supporte pas la procédure selon l’invention. [199] Si le deuxième message MSG2 comprend la donnée SLICE_CAPABLE_4, l’étape S6125 est alors mise en œuvre. Au cours de cette étape, le dispositif (20) de demande d'accès à un service sélectionne des tranches réseau auxquelles il peut accéder et qui sont également compatibles avec la fourniture du service, ainsi qu'une politique de gestion des flux de la communication via les tranches réseau sélectionnées. Cette étape est similaire à l'étape S270 décrite en référence à la Figure 5A, et est par exemple mise en œuvre par le module MOD_SEL du dispositif (20) de demande d'accès à un service. [200] Le procédé comprend en outre une étape S6130 au cours de laquelle un troisième message MSG3 est transmis par le dispositif (20) de demande d’accès à un service à
destination du dispositif (30) de gestion du service. Cette étape est par exemple mise en œuvre par le module MOD_TX du dispositif (20) de demande d’accès à un service. Ce troisième message MSG3 comprend une donnée, SLICE_SET_SELECT, représentative des tranches réseau et de ladite politique de gestion des flux sélectionnées lors de l'étape S6125. Selon une mise en œuvre particulière, ces données sont consignées dans le champ SLICE_SET, et d’une manière optionnelle, dans les champs OTHER_TSV et SCHEDULER du troisième message MSG3. [201] Le procédé d'accès à un service comprend en outre une étape S6250 au cours de laquelle le message MSG3 est reçu par le dispositif (30) de gestion d'un service. [202] A l'issue de la réception de ce message MSG3, le dispositif (30) de gestion extrait les données du message MSG3 et les enregistre dans un cache local lors d'une étape S6260. Une étape S6280 est ensuite mise en œuvre au cours de laquelle la tranche identifiée est associée au trafic sortant de la communication (ou de la sous-session) entre le dispositif (20) de demande d’accès à un service et le dispositif (30) de gestion de ce service (S). Le procédé selon l'invention comprend en outre une étape S6290 au cours de laquelle le dispositif (30) de gestion transmet, à destination du dispositif (20) de demande d’accès à un service, un quatrième message MSG4 incluant un acquittement ACK. [203] Ce quatrième message MSG4 est reçu par le dispositif (20) de demande d’accès à un service lors d’une étape S6140. Le procédé selon l'invention comprend en outre une étape S6150 au cours de laquelle le dispositif (20) de demande d’accès à un service extrait les données du quatrième message reçu. [204] Enfin, le dispositif (20) de demande d’accès à un service met en œuvre une étape S6160 similaire à l'étape S160 de la Figure 5A. [205] La figure 7 illustre, sous forme d’ordinogramme, les principales étapes d’un procédé de contrôle d'un dispositif intermédiaire impliqué dans une communication au cours de laquelle sont échangées des données relatives à un service, selon un exemple de mise en œuvre de l’invention. [206] Ce procédé est mis en œuvre dans le cas où le premier dispositif correspond au dispositif intermédiaire (50), et ce, après l'étape S150 au cours de laquelle les données du quatrième message sont reçues, et enregistrées dans un cache local par le dispositif intermédiaire (50).
[207] Le procédé de contrôle d'un dispositif intermédiaire comprend alors, dans l’exemple envisagé ici, une première étape S7100, mise en œuvre par le dispositif (20) de demande d'accès à un service, au cours de laquelle une requête REQ visant à obtenir une donnée (par ex. SLICE_SET_SELECT) représentative des tranches réseau et de la politique de gestion des flux sélectionnées. [208] Cette requête est reçue par le dispositif intermédiaire (50) lors d'une étape S7500. Le procédé de contrôle comprend en outre une étape S7510, mise en œuvre par le dispositif intermédiaire (50), de transmission au dispositif (20) de demande d’accès au service, de la donnée SLICE_SET_SELECT représentative des tranches réseau et de la politique de gestion de flux sélectionnées. Le message incluant cette donnée SLICE_SET_SELECT est par exemple conforme au format décrit en référence à la Figure 8. Cette donnée est reçue par le dispositif (20) de demande d’accès à un service lors d'une étape S7110. [209] Puis, lors d'une étape S7120, le dispositif (20) de demande d’accès à un service transmet, à destination du dispositif intermédiaire (50), une ou plusieurs règles R de classification de trafic visant à répartir des données de ladite communication au travers d'au moins une des tranches sélectionnées. Une règle de classification peut être élaborée à partir de plusieurs critères tels que l’adresse destination du trafic, le couple [adresse source ; adresse destination], un identifiant de protocole, des numéros de port, ou n’importe quelle combinatoire de ces différents critères. Un sélecteur de trafic (« trafic selector ») est défini et il a la responsabilité d’associer le trafic à l’une ou l’autre de ces règles, selon le contenu des entêtes des paquets de données, par exemple. [210] Le message incluant ces règles R est par exemple conforme au format décrit en référence à la Figure 9. Ces règles R sont reçues par le dispositif intermédiaire (50) lors d'une étape S7520. [211] Enfin, l'étape S160 d'application des tranches réseaux et de la politique de gestion des flux sélectionnées est mise en œuvre, en appliquant, lors d'une étape S7530, les règles R reçues. [212] La figure 8 est un exemple de format d’une option PCP pour échanger, entre le dispositif (20) de demande d'accès à un service et le dispositif intermédiaire (50), des paramètres relatifs aux tranches réseau et à la politique de gestion de flux sélectionnées, dans un exemple particulier de mise en œuvre. Ce format est par exemple conforme à la section 7.3 ("Options") de la spécification "Port Control Protocol (PCP) ", RC6887, publiée en Avril 2013 par l’IETF.
[213] Tel qu’illustré par la figure 8, le champ "Option" comprend : − un champ "Option Code" codé sur 8 bits et dont le bit de poids le plus fort indique si cette option est obligatoire ou optionnelle ; − un champ "Reserved" codé sur 8 bits, habituellement valorisé à "0" en transmission, et ignoré en réception ; − un champ "Option Length" codé sur 16 bits qui indique la longueur de la donnée relative à ladite option ; − un champ "SLICE SET Count" codé sur 16 bits et qui indique le nombre d’objets SLICE_SET contenus dans cette option ; − un champ "Slice SET Length" codé sur 16 bits et qui indique la taille d’un objet SLICE_SET ; − un champ "Slice Type" codé sur 16 bits et qui indique le type de la tranche sélectionnée par le deuxième dispositif électronique ; − un champ "SID Count" codé sur 8 bits et qui indique le nombre d’identifiants de tranche réseau ("Slice Identifier", SID) inclus dans un objet SLICE_SET. − un champ "NID Count" codé sur 8 bits et qui indique le nombre d’identifiants de réseau ("Network IDentifier", NID) inclus dans un objet SLICE_SET. [214] Selon une implémentation particulière, lorsque les champs "SID Count" ou "NID Count" ont pour valeur "0", ceci signifie qu’aucun SID ou NID n’est présent dans le message. [215] La figure 9 est un exemple de format d’une option PCP pour transmettre des règles de classification de trafic. Tel qu’illustré par la figure 9, le champ "Option" comprend notamment : − un champ "SLICE Binding Count" codé sur 16 bits et incluant un nombre de règles de classification de trafic ; − pour chaque règle, un champ "Binding Rule Length" codé sur 16 bits et délimitant les informations descriptives de la règle. − pour chaque règle, un champ "Slice Type" ; − pour chaque règle, un champ "Slice Count". La présence de SID étant optionnelle dans une règle, si champ "Slice Count" prend pour valeur "0", ceci signifie qu’aucun SID n’est présent dans le message.
− pour chaque règle, un champ "Traffic Selector" par exemple structuré conformément à la spécification "Dissemination of Flow Specification Rules", RFC8955, publiée par l’IETF en décembre 2020, ou conformément à la spécification "Dissemination of Flow Specification Rules for IPv6", RFC8956, également publiée par l’IETF en décembre 2020. [216] Bien entendu, d’autres protocoles que le protocole TCP peuvent être envisagés pour échanger des paramètres relatifs aux tranches réseau et à la politique de gestion de flux sélectionnées entre le dispositif (20) de demande d'accès à un service et le dispositif intermédiaire (50), tels que le protocole UPnP (acronyme de "Universal Plug and Play"), le protocole IGD (acronyme de "Internet Gateway Device"), le protocole HTTPS (acronyme de "Hyper Text Transfer Protocol Secure"), le protocole CoAP (acronyme de "Constrained Application Protocol") ou le protocole NETCONF.
Description Title of the invention: Method for controlling a communication during which data relating to a service are exchanged, and associated electronic devices Technical field [1] The present invention belongs to the general field of telecommunications. It relates more particularly to a method for controlling a communication during which data relating to a service are exchanged between a first electronic device and a second electronic device. It also relates to a method for configuring a communication between the first and second electronic devices, as well as these first and second electronic devices. Prior art [2] In order to adapt to the continuous and ever-increasing growth in data traffic emitted by telecommunications systems, different technologies are currently implemented, and are still being improved with a view to optimal operation in the years to come. [3] The architecture of mobile telecommunications networks currently deployed or in the process of being deployed is in particular defined by the standardization consortium known as 3GPP (Third Generation Partnership Project). This is particularly the case for so-called second generation ("2G or GSM"), third generation ("3G"), fourth generation ("4G") and fifth generation ("5G") mobile networks. [4] Up to the fourth generation, the mobile network architectures defined by the 3GPP consortium are most often based on specific equipment, dedicated to specific functions, whether at the access network or core network level, particularly with regard to the transmission of packets from or to a mobile terminal. [5] The lack of flexibility and scalability inherent in this type of architecture has led the 3GPP consortium to consider the adoption of more flexible architectures for the so-called "5G" (fifth generation) generation of mobile networks, in particular in order to be able to respond quickly to extremely diverse demands in terms of traffic and/or quality of service. To meet these various constraints, a 5G mobile network architecture can be based in particular on the concept of SBA ("Service-Based Architecture",
in English), on the virtualization of network functions and on slicing the 5G telecommunications network into logical subnets ("network slicing" in English terminology). This network slicing technique is described in particular in the 3GPP TS 23.501 v18.3.0 technical specification, published in September 2023. It allows a network operator to create tailor-made logical subnets, generally dedicated to the routing of traffic sent and received by mobile terminals, and based on the same physical network infrastructure. [6] These logical subnetworks, called "network slices", allow a customer to access a service by relying on both virtualized network functions that can be activated, deactivated and configured according to needs, but also by relying on network functions deployed on a physical network infrastructure. For each network slice, these different types of network functions are then configured to be able to satisfy the requirements of the services supported by the network slice that supports such functions and which typically correspond to the services subscribed to by the users of this slice. [7] A priori, the network slices are controlled independently. Each slice is generally adapted to a specific use, and therefore has specific characteristics in terms of quality of service (for example in terms of latency, throughput, one-way transit time), security and/or capacity. This division allows a telecommunications operator to offer different levels of service meeting different service level agreements ("Service Level Agreement" in Anglo-Saxon terminology). [8] Thus, the 3GPP consortium has defined types of slices capable of meeting as many different needs as the field of high-bandwidth mobile services ("enhanced Mobile Broadband", eMBB), the Internet of Things (IoT), the field of ultra-reliable low-latency communications (URLLC) and that of connected vehicles (Vehicle-to-Everything, V2X). [9] The choice to design and deploy one or more particular types of slices is conditioned in particular by the nature of the traffic generated by the applications used or the services subscribed to by a user of the network supporting slices. For example, a so-called "immersive" service which uses augmented reality or virtual reality techniques is generally very demanding in terms of latency and reliability of data exchanges. Such an immersive service is therefore a "natural" client of a URLLC type slice.[10] The design and deployment of network slices is a complex activity to implement, as it requires taking into account multiple configuration parameters. Furthermore, to ensure that data packet traffic is correctly routed within one or more network slices, said traffic must be authorized. Such authorization is typically based on traffic classification rules. These rules are applied at the ingress of a network/subnetwork that supports the slice(s) in question, more particularly by one or more edge nodes. However, the design of such traffic classification rules and their application by these edge nodes also contribute significantly to the overall complexity of implementing and properly operating a network supporting network slices. Disclosure of the invention [11] The present invention aims to overcome all or some of the drawbacks of the prior art, in particular those set out above, by proposing a solution that allows devices to agree on the network slices they can use to establish communication. [12] To this end, and according to a first aspect, the invention relates to a method for controlling a communication during which data relating to a service are exchanged between a first electronic device and a second electronic device via at least one telecommunications network supporting a plurality of network slices, the method comprising the following steps implemented by the second electronic device: - obtaining data representative of network slices supported by said at least one network and accessible by the first electronic device; - selecting network slices accessible by the first and second electronic devices and compatible with provision of the service, and a policy for managing the flow of the communication via the selected network slices; - transmitting, to the first electronic device, data representative of the network slices and said policy for managing the flow selected for application, by the first electronic device, to this communication. [13] This method for controlling a communication offers the advantage of allowing one of the devices involved in a communication with a view to accessing a service, to control the
or the network slices to be used to access this service, but also to negotiate a policy for managing the flows of this communication. In this way, it is no longer necessary to establish traffic rules relating to any authorization that are consistent with each other. [14] "Communication" means any exchange of information between two electronic devices, for example a transmitter or source device at the origin of the communication and a receiver or destination device, using signals produced by the electronic devices. This information is typically exchanged through one or more data streams, each stream corresponding to a sequence of coherent signals digitally encoded to transmit this information in the form of data packets. A communication may result in the establishment of one or more sessions. Generally, a session is defined as an association usually identified by the 4-tuple (source address, source port number, destination address, destination port number) or by connection identifiers (CID, "Connection Identifier") during which the two communicating devices exchange data (e.g. an electronic device performs operations for a client). Several sessions can be used for the same communication. In some contexts such as MPTCP (acronym for Multi-Path TCP), these sessions are called "sub-sessions" (also called "subflows"). [15] No assumption is made as to which device (first or second device) is at the origin of the communication allowing access to the service. [16] Thus, in particular embodiments, the first device is the device at the origin of the communication to access the service, hereinafter referred to as the “service access request device” (resp. an intermediate device to which such a device is connected), and the second electronic device is a device involved in the management of the service, hereinafter referred to as the “service management device”, configured to control the communication during which data relating to this service are exchanged. [17] Alternatively, in other particular embodiments, the first device corresponds to the service management device, the second electronic device corresponds to the device at the origin of the communication to access the service, called the “service access request device”, (resp. an intermediate device to which such a device is connected), and it is this device at the origin of the communication (resp. this intermediate device) which is then configured to control the communication during which data relating to this service are exchanged.[18] "Communication control" means the application, to one or more of the flows of this communication, of specific parameters or processing, such as the use of specific network slices to exchange data, while applying a flow management policy. As mentioned below, this flow management policy is defined according to the capabilities of the first electronic device, but also according to constraints specific to the service to which this first electronic device wishes to access. [19] Thus, the invention allows access to the service in an adapted manner, that is to say by considering the requirements in terms of quality of service required for the provision of this service, but also by considering the constraints specific to the device(s) wishing to access this service (hereinafter referred to as the "service access request device"). [20] In particular embodiments, this service is provided by the second electronic device. Alternatively, this service is provided by a third device distinct from the first and second electronic devices. In this case, the communication according to the invention includes a first exchange between the first and second devices (for example through a first sub-session), then a second exchange between the first and third devices (for example through a second sub-session). [21] Generally, it is considered that the steps of a method should not be interpreted as being linked to a particular chronology. [22] In particular embodiments, the method for controlling a communication may further comprise one or more of the following characteristics, taken in isolation or in all technically possible combinations. [23] In particular embodiments, the first device is a device for requesting access to a service, the second electronic device is a service management device, and obtaining the data representative of network slices accessible by the first device includes receiving, by the management device, said data from the device for requesting access to a service. [24] In particular embodiments, the method according to the invention further comprises an exchange, between the first and second devices, of their respective capacities to use at least one network slice selected from a plurality of network slices and to apply a policy for managing the characteristic communications flows which are routed in said at least one selected network slice.[25] In particular embodiments, the first device is a device for requesting access to a service or an intermediate device to which the device for requesting access to a service is connected, the second electronic device is a service management device, and the method further comprises the following steps, implemented by the second electronic device: − a reception of data, called first data, from the first electronic device and representative of a capacity of the first electronic device to use at least one network slice selected from a plurality of network slices and to apply a policy for managing the flows of the selected communication; and, − a transmission, to the first electronic device, of data, called second data, representative of a capacity of the second electronic device to select at least one compatible network slice for accessing the service and a policy for managing the flows of the communication. [26] These exchanges between the first and second electronic devices allow them to ensure that they comply with the invention, and more specifically that the first electronic device is able to configure a communication in accordance with the instructions of the second electronic device, and that the second electronic device is able to select a suitable configuration based on the service that the first device wishes to access, but also based on the capabilities of the first electronic device. [27] In particular modes of implementation, the first data is transmitted through a message, called the first message, corresponding to a request to establish a communication or to a request to add an additional sub-session to a pre-established session. [28] In particular modes of implementation, the flow management policy comprises at least one transport protocol supported by the first electronic device and making it possible to establish communication on multiple paths. [29] In this case, the use of network slices and the application of the management policy includes use of at least one of the selected network slices and is based on this at least one transport protocol allowing communication to be established on multiple paths to access said service.[30] Thus, access to said service is implemented by exploiting the selected transport protocol for communication using the selected network slice(s), between the first device and the second device. [31] In particular implementations, the at least one transport protocol used is one of: the TCP protocol with the "Multipath TCP" option, the UDP protocol with a "Multipath UDP" extension, the QUIC protocol with the "Multipath QUIC" extension and the MDCCP "Multipath Datagram Congestion Control Protocol" protocol. [32] In particular embodiments, the first device is a service access request device or an intermediate device to which the service access request device is connected, the second electronic device is a service management device, and the method further comprises: - a transmission, by the service access request device or the intermediate device, and to the management device, of data relating to a plurality of transport protocols making it possible to establish communication on multiple paths and which can be used by said service access request device or by said intermediate device; - a selection, by the management device and from among the plurality of transport protocols making it possible to establish communication on multiple paths, of at least one transport protocol adapted to the provision of said service, the selected flow management policy including said at least one transport protocol; and, − a transmission, by the management device and to the device requesting access to a service or the intermediate device, of identification data of said at least one transport protocol selected to access said service. [33] In particular modes of implementation, the flow management policy comprises at least one data packet scheduling mechanism to be applied by the first electronic device to said communication. [34] In this case, the use of the network slices and the application of the management policy comprises a use of at least one of the selected network slices and said at least one data packet scheduling mechanism to access said service. [35] In particular modes of implementation, the first device is a device requesting access to a service or an intermediate device to which the device is connected
requesting access to a service, the second electronic device is a service management device, and the method further comprises: − a transmission, by the service access request device or the intermediate device and to the management device, of data relating to a plurality of data packet scheduling mechanisms applicable by said service access request device or said intermediate device; − a selection, by the management device and from among the plurality of data packet scheduling mechanisms, of at least one data packet scheduling mechanism suitable for providing said service, the selected flow management policy including said at least one data packet scheduling mechanism; and − a transmission, by the management device and to the service access request device or the intermediate device, of identification data of said at least one data packet scheduling mechanism selected for accessing said service. [36] In particular embodiments, the flow management policy comprises a constraint on a direction of at least one flow of the communication through at least one of the selected network slices. [37] In particular embodiments, the flow management policy comprises a constraint on the use of a single slice or a plurality of network slices connected to each other (for example multi-domain slices or “stitched slices” mentioned below). [38] In particular embodiments, the data representative of the network slices supported by said at least one network and accessible by said first electronic device includes at least one type of network slice and/or at least one network slice identifier. [39] In particular embodiments, the data representative of the network slices of the plurality accessible by said first electronic device further includes at least one data item from among: a network identifier, a flow identifier, an address identifier, a maximum number of flows per slice, data representative of a constraint on a flow direction. [40] In particular embodiments, the method further comprises a selection, by the second device, of at least one network slice accessible by said
second device, and adapted to the provision of the service (S), and/or at least one communication flow management policy to be applied by said second device. [41] According to a second aspect, the invention relates to a computer program comprising instructions for implementing the control method mentioned above, when said program is executed by a processor. [42] According to a third aspect, the invention relates to a computer-readable recording medium on which the computer program according to the second aspect is recorded. [43] According to a fourth aspect, the invention relates to a method for configuring a communication during which data relating to a service are exchanged between a first electronic device and a second electronic device via at least one telecommunications network supporting a plurality of network slices, the method comprising the following steps implemented by the first electronic device: − a reception of data representative of at least one network slice accessible by the first and second electronic devices and compatible with a provision of the service, from the second electronic device, said data being furthermore representative of a policy for managing the flow of the communication via said at least one network slice; and, − an application of said at least one network slice and said flow management policy to the communication. [44] As mentioned previously, the service can then be accessed in an adapted manner, that is to say by considering the requirements in terms of quality of service required for the provision of this service, but also by considering the constraints specific to the device(s) wishing to access this service. [45] In particular embodiments, the first device is an intermediate device to which a service access request device is connected, and the configuration method further comprises, at the request of the service access request device, a step of transmission, by the intermediate device and to said service access request device, of the data representing the network slices and of said flow management policy. [46] In particular embodiments, the configuration method further comprises the following steps implemented by the intermediate device:
− a reception of at least one traffic classification rule aimed at distributing data of said communication across at least one of the selected slots; and, − an application of said at least one rule, so as to associate at least one flow of said communication with at least one of said slots. [47] This feature advantageously makes it possible to associate flows, sub-sessions, etc. with slots. [48] According to a fifth aspect, the invention relates to a computer program comprising instructions for implementing the configuration method mentioned above, when said program is executed by a processor. [49] According to a sixth aspect, the invention relates to a computer-readable recording medium on which the computer program according to the fifth aspect is recorded. [50] According to a seventh aspect, the invention relates to an electronic device, called a second electronic device, configured to implement the method for controlling a communication according to the first aspect. [51] According to an eighth aspect, the invention relates to an electronic device, called the first electronic device, configured to implement the method for configuring a communication according to the fourth aspect. [52] In particular embodiments, this first device corresponds to an intermediate device to which a device for requesting access to a service is connected. [53] According to a ninth aspect, the invention relates to a communication system comprising a first electronic device according to the eighth aspect, and a second electronic device according to the seventh aspect. [54] Brief description of the drawings [55] Other characteristics and advantages of the present invention will emerge from the description given below, with reference to the appended figures which illustrate an exemplary embodiment thereof without any limiting character. In the figures: [56] [Fig.1A] Figure 1A is a first example of a communication system in which a general method for accessing a service is implemented; [57] [Fig.1B] Figure 1B is a second example of a communication system in which a general method of accessing a service is implemented;
[58] [Fig. 1C] Figure 1C is a third example of a communication system in which a general method for accessing a service is implemented; [59] [Fig. 1D] Figure 1D is a fourth example of a communication system in which a general method for accessing a service is implemented; [60] [Fig. 2] Figure 2 is a detailed view of a 5G mobile network supporting network slices; [61] [Fig. 3A] Figure 3A represents modules embedded in a second electronic device, according to an exemplary implementation of the invention; [62] [Fig. 3B] Figure 3B represents an example of hardware architecture of a second electronic device; [63] [Fig. 4A] Figure 4A represents modules embedded in a first electronic device, according to an exemplary implementation of the invention; [64] [Fig.4B] Figure 4B represents an example of hardware architecture of a first electronic device; [65] [Fig.5A] Figure 5A illustrates, in the form of a flowchart, the main steps of a general method of accessing a service, according to a first example of implementation of the invention; [66] [Fig.5B] Figure 5B is a detailed view of the step of applying the network slices and the selected flow management policy of Figure 5A, according to an example of implementation of the invention; [67] [Fig.6] Figure 6 illustrates, in the form of a flowchart, the main steps of a general method of accessing a service, according to a second example of implementation of the invention; [68] [Fig.7] Figure 7 illustrates, in the form of a flowchart, the main steps of a method for controlling an intermediate device involved in a communication during which data relating to a service are exchanged, according to an exemplary implementation of the invention; [69] [Fig.8] Figure 8 is an example of the format of a PCP (Port Control Protocol) option for transmitting parameters relating to the network slices accessible by the device requesting access to a service; and, [70] [Fig.9] Figure 9 is an example of the format of a PCP option for transmitting traffic classification rules.[71] Description of the Embodiments [72] The terms "first(s)", "second(s)", etc. are used in this document by arbitrary convention to identify and distinguish different elements (such as messages, devices, etc.) considered in the embodiments described below, and do not imply any particular sequencing, except when explicitly indicated. [73] Figures 1A to 1D illustrate different configurations of a communication system comprising at least a first device and a second device according to the invention, and in which a general method for accessing a service is implemented. This method for accessing a service is based on a configuration method and a control method according to the invention implemented respectively by the first and by the second device, as explained in more detail later. [74] Figure 1A is a first example of a communication system in which a general method for accessing a service is implemented. [75] This system comprises a device (20) for requesting access to a service (S) connected to a telecommunications network (10-1). The device (20) for requesting access to a service (S) supports the IP communication protocol. This device can be a user terminal – taking for example the form of a laptop, a personal assistant, a connected object, or a mobile telephone of the "smartphone" type – a router, a home gateway, or even a TV decoder, etc. [76] The system further comprises a device (30) for managing the service (S) taking for example the form of a terminal or a remote server, and also connected to the telecommunications network (10-1). As illustrated in Figure 1A, this device (30) for managing the service (S) is configured to provide a service S. This service can be defined as a computer program directly used to carry out a task, or a set of elementary tasks in the same domain. This is for example a service for providing multimedia content (such as video on demand), a service for accessing a social network or a payment service. [77] According to another embodiment, the service ^^^^ is not deployed on the device (30) for managing the service, but on a third device separate from the devices for requesting access to a service and for managing the service (S). In this case, the service is for example a "service function" or one of the service functions ("Service Function" in English) of a
Service Function Chain, as illustrated in Figure 2. [78] In the case where the service (S) is provided by this third device, in a particular embodiment, the management device (30) acts as a relay between the device (20) requesting access to the service, and the third device which provides the service (S). The management device (30) can also act as a security device which selectively blocks or authorizes data packets to access the third device. [79] According to another embodiment, the service (S) is deployed on the device (20) requesting access to a service. [80] In the present embodiment, and for the purpose of simplifying the description, it is considered that the communication system comprises a single device (20) requesting access to a service, as well as a single management device (30) offering a single service (^^^^), these two devices being connected through a network. It should be noted, however, that no assumption is made as to the number of service access request devices (20), the number of management devices (30), the number of services (^^^^), or the number of networks considered. The following developments can in fact be generalized without difficulty by the person skilled in the art to the case where more than one service access request device (20), more than one management device (30), more than one service (^^^^) and more than one network are considered. [81] As illustrated in FIG. 1A, the service access request and management devices (20, 30) are both connected to a telecommunications network 10-1. The telecommunications network 10-1 comprises in this example several subnetworks (or "segments" or "domains"): a radio access network (RAN), a core network (CN), and a transit network (TN) connected to the radio access network (RAN) and to the core network (CN). The radio (RAN), transit (TN) and core (CN) networks make up, in the embodiment described here, the telecommunications network 10-1 to which the device (20) for requesting access to a service is connected, and are capable of communicating with each other. For the remainder of the description, it is considered in a non-limiting manner that this telecommunications network 10-1 is a 5G type mobile network. [82] The radio access network (RAN) supports one or more RAN_SL network slices, the transit network (TN) one or more TN_SL slices, and the core network (CN) one or more TN_CN slices.[83] Generally, it is important to note that no assumptions are made regarding the nature of the slices deployed in a network, their number, and the paths between instances or sub-instances of slices. The functions used by these slices are described in more detail with reference to Figure 2. [84] The radio access network (RAN) is, for example, a V-RAN. A virtual radio access network (V-RAN) is a radio access network (RAN) whose network functions are deployed as virtualized instances located at different locations in the network, for example, according to a telecom operator's deployment strategy. This approach offers the advantage of limiting the use of expensive equipment and facilitates the creation of network slices that coexist simultaneously on the same hardware. [85] It should however be specified that the invention remains applicable to other types of telecommunications network 10-1, such as for example a 4G mobile network, a B5G network (acronym for "Beyond 5G"), a 6G network, a WLAN network (such as a Wi-Fi network), an IP/MPLS network, etc. [86] Figure 1B is a second example of a communication system in which a general method of accessing a service is implemented. [87] This system comprises a device (20) for requesting access to a service (S) as well as a device (30) for managing the service (S). Unlike the system of Figure 1A, the devices (20, 30) for requesting access to a service and for managing the service (S) are connected to each other through a plurality of telecommunications networks, 10-1, 10-2. [88] The first telecommunications network 10-1 corresponds for example to that previously described with reference to Figure 1A, and the second telecommunications network 10-2 is a wireless local area network ("Wireless Local Area Network", WLAN, according to English terminology) which also supports a plurality of slices. [89] The devices (20, 30) for requesting access to a service and for managing a service (S) are therefore capable of activating and exploiting several logical network interfaces linked to one or more physical network interfaces. Such devices are generally called "multi-interfaces" ("Multi-InterFace", MIF, according to English terminology).[90] Several IP addresses can thus be assigned to a MIF device so that it can connect simultaneously or not to several telecommunications networks (for example, accessible via a Wi-Fi interface, an optical interface or a 5G interface of the device). These IP addresses can: − belong to the same address family or to distinct address families (e.g., IPv4, IPv6 or both); − have different lifetimes. Thus, an IPv6 address is, for example, only used by the device (20) requesting access to a service for the duration of a communication, whereas an IPv4 address can be permanently assigned to the interface connecting the device (20) requesting access to a service to a telecommunications network, for example, an Ethernet interface; − have different scopes. Thus, a first private IPv4 address is for example only used in a domestic environment because it is not routable on the Internet, a second address is of the unique IPv6 type with local scope ("Unique Local Address"), and a third address is of the IPv6 type with global scope ("Global Unicast Address"); and − be assigned to the same logical network interface or to different logical network interfaces. [91] It is also important to note that the "multi-interface" aspect of an electronic device is volatile, because the capacity to use several interfaces depends on the conditions of connection to the network(s), the location of the electronic device, or other factors. The "multi-interface" electronic device can in particular exploit the plurality of interfaces at its disposal when establishing a simple communication (i.e., a communication established along a single path with a given correspondent), or even after establishing a simple communication. It should also be noted that a "multi-interface" electronic device does not know a priori whether it is possible to use several distinct paths to establish communication with a given correspondent. [92] The devices (20, 30) for requesting access to a service and for managing a service (S) being "multi-interface", they benefit from "hybrid" access since different network access technologies can be used, for example to enable it to aggregate bandwidth or improve the availability of access to this/these network(s). [93] It should be recalled in this regard that, in the field of networks, the notion of "aggregation" refers to the grouping of several paths associated with as many logical network interfaces.
of a MIF device, as if it were a single path associated with a single network interface. The flows of the same communication can then transit through this plurality of paths. Path aggregation is, for example, carried out with the aim of increasing throughput beyond the limits of a single path, but also in order to apply the same operating procedures to all the paths thus aggregated (the notion of "fate sharing" in English). [94] Path aggregation also makes it possible to ensure that other network interfaces take over if one of the paths becomes unavailable, for example in the event of a cable break or a radio link failure, by virtue of a resilience principle which makes it possible to improve the availability of access to the network. Path aggregation can apply to all or part of the traffic carried along these paths, including IP traffic. [95] Path aggregation can also be used to distribute traffic across multiple paths. In this case, the distribution of traffic between the paths being aggregated depends on various parameters. Traffic distribution depends, for example, on the type of traffic, such as TCP (Transmission Control Protocol) or UDP (User Datagram Protocol) traffic, or on a set of traffic engineering, quality of service and/or security policies implemented by the operator(s) in charge of the telecommunications network(s) supporting these aggregated paths. [96] Thus, various aggregation modes can be envisaged, including the following three modes: − the backup mode, which consists of using secondary paths in the event of unavailability of the primary paths, in order to improve the availability of the network and, de facto, of the services accessible through the network, the robustness and reliability of the IP communications established on the different paths; − the associative mode, which consists of using the resources associated with all or part of the available paths, the IP flows associated with the same service (or application) being able to be distributed between several paths. The choice of exploiting all the paths, or only some of them, can for example be conditioned by the nature of the traffic or the availability or reliability characteristics associated with each path, which can vary greatly from one path to another; and
− the so-called "comfort" mode, which is similar to the associative mode, except that the traffic characteristic of a given service is not distributed among several paths, but sent on a single path. [97] These different modes are not mutually exclusive. Nor are they specific to a particular type of traffic. Thus, one or other of these modes can be implemented independently of the nature of the traffic that is routed along the aggregated paths. [98] The device (20) for requesting access to a service (S) can also be configured to refrain from exploiting a path aggregation mechanism deployed in certain telecommunications networks. Indeed, to avoid over-using a first network such as the mobile network 10-1, the device (20) for requesting access to a service (S) is for example configured to only pass voice communications via a second network, such as the local wireless network WLAN (10-2), at certain times of the day. According to another example, the device (20) for requesting access to a service (S) is configured not to activate aggregation under certain operating conditions, for example in the event of overloading of the network concentrators, such as OLT ("Optical Line Termination") equipment in a fiber access network based on a PON ("Passive Optical Network" or "passive optical network") architecture. [99] Figure 1C is a third example of a communication system in which a general method for accessing a service is implemented. [100] The communication system comprises a device (20) for requesting access to a service (S) and connected to an intermediate device (50). This intermediate device (50) of the MIF type, in the example envisaged here, is connected to a device (30) for managing a service through a plurality of networks, such as the networks 10-1 and 10-2 described with reference to Figure 1B. [101] The communication system of Figure 1C is therefore distinguished from that of Figure 1B by the fact that the device (20) for requesting access to a service (S) is not directly connected to the telecommunications networks 10-1 and 10-2, but that it is indirectly connected to these networks through said intermediate device (50). Thus, the device (20) for requesting access to a service (S) does not require activating a plurality of network interfaces for multi-path communication to be established. [102] For the purposes of the invention, an "intermediate device" is equipment located in the network and acting on behalf of one or more other devices. This "intermediate device" corresponds, for example, to a user terminal – such as a computer
portable device, a personal assistant, a connected object, or a mobile phone such as a "smartphone" – or to equipment installed in a customer's environment (individual, business) and which is connected to the infrastructure of an operator/service provider (referred to as "Customer Premises Equipment", CPE, according to English terminology), such as a router or a home gateway. [103] The deployment of one or more intermediary devices in the network allows the device(s) connected to this (their) intermediary device(s) to benefit from optimized use of available network resources. This deployment of intermediary devices also makes it possible to establish communications over multiple paths in a reduced time, without prejudging the capabilities of the recipient(s) with whom an electronic device wishes to communicate. [104] Figure 1D is a fourth example of a communication system in which a general method of accessing a service is implemented. Figure 1D differs from Figure 1C in that the device (20) for requesting access to a service is a "multi-interface" device both connected to the intermediate device (50), but also connected to the device (30) for managing the service (S) through a telecommunications network 10-3 supporting several network slices. [105] Thus, in this fourth example, the device (20) for requesting access to a service, the management device (30) and the intermediate device (50) are all three multi-interface devices. [106] Of course, these examples are given for illustrative purposes only and other configurations can be envisaged. [107] Figure 2 is a detailed view of a 5G mobile network supporting network slices, such as the network 10-1 of Figures 1A-1D. [108] As mentioned previously, to meet various constraints, for example in terms of quality of service, the 3GPP consortium has specified in particular how a 5G telecommunications network can support "network slices". In particular, the 3GPP consortium has defined the notion of "network slice instance". Each instance is broken down into sub-instances ("Sub-Network Instance" according to Anglo-Saxon terminology). Thus, a network slice instance is for example composed of a sub-instance ^^^^^^^^^^^^^^^^^^^^^^^^^RAN access network and a sub-instance ^^^^^^^^^^^^^^^^^^^^of CN core network. From
In this way, a service provider can rely on slices (in particular sub-instances of slices) set up in different networks (RAN, CN) to provide a service whose traffic will be routed in a network slice instance composed of sub-instances of slices deployed in the different networks mentioned above. [109] More generally, when network slices (e.g. network slice instances) rely on other network slices (e.g. sub-instances of network slices), for example, in order to offer value-added services, this is sometimes referred to as "multi-domain slices" (or "stitched slices" or "hierarchical slices" in English). Attachment Circuits between adjacent slices are managed, for example, using mechanisms such as those described in the document "YANG Data Models for 'Attachment Circuits'-as-a-Service (ACaaS)", draft-boro-opsawg- teas-attachment-circuit-07, M. Boucadair, Ed. & Al., published on July 10, 2023 by the IETF (acronym for "Internet Engineering Task Force"). [110] Each of the subnetworks (e.g., RAN, CN) supports network slices whose engineering and operation are specific to that subnetwork. Thus, a slice (^^^^^^^^^^^^^^^^^^^^^=1..3) deployed on a core network (CN) uses traffic processing and operating functions characteristic of a 5G mobile core network. In other words, each subnetwork (or "domain") uses technologies deployed in this subnetwork for the realization of the network slices that compose it. The realization of a network slice (e.g. a network slice instance) that extends over several subnetworks (or domains) is not conditioned by the availability or activation of the same technologies used for the realization of the sub-instances of slices specific to each subnetwork. For example, a first subnetwork may handle communications established according to the IPsec (Internet Protocol Security) protocol suite, a second subnetwork may use Layer 3 VPN (L3VPN) combined with Traffic Engineering (TE) mechanisms, and a third subnetwork may use IPv6-based Segment Routing (SRv6) resources to route traffic in the slices deployed in this third subnetwork. [111] Figure 2 illustrates an example of a communications network comprising a RAN access network supporting three sub-instances of network slices ^^^^^^^^^^^^^^^^^^^^^^^^^=1..3and a CN core network also supporting three network slice sub-instances ^^^^^^^^^^^^^^^^^^^^=1..3.
[112] In the present embodiment illustrated by Figure 2, and for the purpose of simplifying the description, it is considered that the telecommunications network comprises only an access network (RAN) and a core network (CN), but the following developments can be generalized without difficulty by those skilled in the art to the case where the telecommunications network also comprises one or more transit networks (TN). Thus, the mechanisms described in the document "A Realization of IETF Network Slices for 5G Networks Using Current IP/MPLS Technologies", draft-ietf-teas-5g-ns-ip-mpls-00, Krzysztof Grzegorz Szarkowicz & Al., published by the IETF on June 27, 2023 can, for example, be implemented to deploy network slices in this transit network (TN). [113] Furthermore, it is also important to recall that no assumptions are made about the nature of slices (e.g., slice instances and slice sub-instances) deployed in a network, their number, and the links between slice sub-instances (e.g., between RAN and TN, or between TN and CN). [114] As illustrated in Figure 2, the sub-instance ^^^^^^^^^^^^^^^^^^^^^^^^^=1of the RAN access network, and the sub-instances ^^^^^^^^^^^^^^^^^^^^=1and ^^^^^^^^^^^^^^^^^^^^=2of the core network (CN) belong to the same instance ^^^^^^^^^^^^^^^^^^^^^^^^network slice to which a user terminal 20-1 is connected. This instance ^^^^^^^^^^^^^^^^^^^^^^^^network slice is for example dedicated to mobile virtual network operators ("MVNOs" in English terminology) which do not have a frequency spectrum concession or their own radio network infrastructure, and which, to offer mobile communications services to their customers, rely on the infrastructures of one or more mobile network operators. [115] The communications network further comprises an instance ^^^^^^^^^^^^^^^^^^^^^^^^^network slice to which a user terminal 20-2 is connected. This instance ^^^^^^^^^^^^^^^^^^^^^^^^network slice is for example dedicated to high bandwidth services for wireless connectivity (eMBB). This instance ^^^^^^^^^^^^^^^^^^^^^^^^^includes a sub-instance ^^^^^^^^^^^^^^^^^^^^^^^^=2of the RAN access network, as well as the sub-instance instance ^^^^^^^^^^^^^^^^^^^^=2previously mentioned. In other words, the sub-instance ^^^^^^^^^^^^^^^^^^^^=2is shared between the network slice instance ^^^^^^^^^^^^^^^^^^^^^^^^and the network slice instance ^^^^^^^^^^^^^^^^^^^^^^^^. [116] Finally, the telecommunications network includes an instance ^^^^^^^^^^^^^^^^^^^^of network slice to which a 20-3 sensor is connected. This instance ^^^^^^^^^^^^^^^^^^^^network slice is for example dedicated to objects and terminals equipped with sensors and configured to transmit and
receive data. This instance ^^^^^^^^^^^^^^^^^^^^includes a sub-instance ^^^^^^^^^^^^^^^^^^^^^^^^=3of the RAN access network, as well as a sub-instance instance ^^^^^^^^^^^^^^^^^^^^=3of the CN core network. [117] A network slice may involve one or more "Service Functions" (according to the terminology used in the document "Service Function Chaining (SFC) Architecture", RFC7665, published in October 2015 by the IETF) also called Network Functions (according to the terminology used by the 3GPP consortium). A sub-instance of a network slice of an access network (RAN) involves for example: a DU function (Distributed Unit) configured to manage the sub-layers of the data link layer, namely the MAC sub-layer (acronym for "Media Access Control") and the RLC sub-layer (acronym for "Radio Link Control"); and a CU (Centralized Unit) configured to manage the PDCP (Packet Data Convergence Protocol), SDAP (Service Data Adaptation Protocol) and RRC (Radio Resource Control) sub-layers. A network slice sub-instance of a core network (CN) involves a UPF (User Plane Function), as defined for example by the 3GPP TS 23.501 specification "System architecture for the 5G System (5GS)", version 18.2.2, published on July 7, 2023. This UPF acts as a kind of gateway between the radio access network (RAN) and a data network, such as the Internet or a local/private network. It is also important to note that the same service function can be provided by one or more service instances. [118] Furthermore, service chains (SFC, according to English terminology) can be set up to facilitate the routing of traffic of different types within a slice. As illustrated in Figure 2, each network slice sub-instance ^^^^^^^^^^^^^^^^1and ^^^^^^^^^^^^^^^^2includes an SFC service string. The network slice sub-instance ^^^^^^^^^^^^^^^^1includes a string of ^^^^ virtual network functions ("Virtual Network Function",^^^^^^^^^^^^^^^^^=1..^^^^, according to Anglo-Saxon terminology), and the network slice sub-instance ^^^^^^^^^^^^^^^^2includes a chain composed in particular of ^^^^ virtual network functions ^^^^^^^^^^^^^^^^ ′^=1..^^^^. In the following, no assumption is made regarding the structuring of service chains of service S or the network slices requested. [119] Figure 3A represents modules embedded in a second electronic device, according to an exemplary implementation of the invention.[120] This second electronic device corresponds for example to the device (30) for managing a service, to the device (20) for requesting access to a service or to the intermediate device (50) and comprises in particular a MOD_OBT module, a MOD_SEL module and a MOD_TX module whose functions are described below with reference to Figure 3B. [121] Figure 3B represents an example of hardware architecture of a second electronic device. [122] As illustrated by Figure 3B, the second electronic device has the hardware architecture of a computer. Thus, the second electronic device comprises in particular a processor 1, a random access memory 2, a read-only memory 3 and a non-volatile memory 4. It further comprises a communication module 5. [123] The read-only memory 3 of the second electronic device constitutes a recording medium as proposed, readable by the processor 1 and on which is recorded a computer program PROG in accordance with the invention, comprising instructions for executing steps of the method for controlling a communication as proposed below. The program PROG_M defines one or more functional modules of the second electronic device, which rely on or control the hardware elements 1 to 5 cited above, and which comprise in particular: − a module MOD_OBT for obtaining data representative of network slices supported by a network and accessible by a first electronic device wishing to access a service S; − a MOD_SEL module for selecting network slices accessible by the first and second electronic devices and compatible with the provision of the service S, and a policy for managing the communication flows via the selected network slices; − a MOD_TX module for transmitting, to the first electronic device, data representing the network slices and said selected flow management policy so that they are applied, by the first electronic device, to this communication. [124] Furthermore, the second electronic device may also comprise other modules, in particular for implementing particular modes of the communication control method, as described in more detail later.[125] Figure 4A represents modules embedded in a first electronic device, according to an exemplary implementation of the invention. [126] This first electronic device corresponds for example to the device (20) for requesting access to a service, or to the intermediate device (50) connected to the requesting device (20), and notably comprises a MOD_RX module and a MOD_APP module whose functions are described below with reference to Figure 4B. [127] Figure 4B represents an example of hardware architecture of a first electronic device. [128] As illustrated by Figure 4B, the first electronic device has the hardware architecture of a computer. Thus, the first electronic device comprises in particular a processor 1, a random access memory 2, a read-only memory 3 and a non-volatile memory 4. It further comprises a communication module 5. [129] The read-only memory 3 of the first electronic device constitutes a recording medium as proposed, readable by the processor 1 and on which is recorded a computer program PROG_S in accordance with the invention, comprising instructions for executing steps of the method for configuring a communication as proposed below. The program PROG_S defines one or more functional modules of the first electronic device, which rely on or control the hardware elements 1 to 5 cited above, and which comprise in particular: − a MOD_RX module for receiving, from the second device, data representing network slices accessible by the first and second electronic devices and compatible with a provision of the service (S), said data being furthermore representative of a policy for managing the flow of the communication via said network slices; and, − a MOD_APP module for applying said network slices and said flow management policy to the communication. [130] Furthermore, the first electronic device may also comprise other modules, in particular for implementing particular modes of a method for configuring a communication, as described in more detail later. [131] Figure 5A illustrates, in the form of a flowchart, the main steps of a general method for accessing a service, according to a first example of implementation of the invention. This
The method comprises a method for controlling a communication including steps S200, S210 to S290 and implemented by a device (30) for managing the service (S) (which is thus a second device within the meaning of the invention in this first example of implementation), as well as a method for configuring a communication including steps S10, S100, S110 to S160 and implemented by a device (20) for requesting access to the service (S) (which is thus a first device within the meaning of the invention in this first example of implementation). [132] The general method for accessing a service comprises a first initialization step S10 during which the device (20) for requesting access to a service obtains a list of slice(s) which it can access to send or receive traffic (i.e. it is authorized to use the resources of the listed slice(s). [133] According to a particular implementation, this list is communicated (e.g. transmitted) by the network slice provider(s) ("Slice Service Provider", SSP, according to the English terminology) to which the device (20) requesting access to a service is connected, and received by this device (20) requesting access to a service. This step is for example in accordance with section 4.9.2 "Network Slice as a Service" of the specification TS 28.801, "Telecommunication management; Study on management and orchestration of network slicing for next generation network", version 15.1.0, published on January 4, 2018 by the 3GPP consortium. [134] Alternatively, it is a service of the access request device (20) which implements steps S10, S100 to S160 of this method – the device (20) for requesting access to a service then corresponding for example to a hardware resource of a telecommunications network –, and the list of slices that said device is likely to use to send or receive traffic is obtained at the end of a configuration of said service, which involves configuring all of the slices that the first device is likely to use to send or receive traffic. Such a configuration is for example integrated into the client application used to access the service. [135] For each network slice, its type is obtained by the device (20) for requesting access to a service. It is also important to note that several types of slices can be associated with the same slice. In this case, for a given slice, several types are obtained by the device (20) for requesting access to a service. This feature is particularly advantageous when a single slice (or slice instance) is designed to aggregate several other sub-slices (or slice sub-instances). The type of a network slice corresponds, for example, to one of the slice types defined by the 3GPP consortium (e.g., eMBB, IoT, URRLLC, or V2X), or to other types previously defined by the network slice provider.[136] Alternatively, rather than obtaining a particular type of network slice, network slice identifiers (Slice Identifiers, SIDs) or appropriate markers (tags) are obtained by the service access request device (20). [137] According to a particular implementation, the service access request device (20) also obtains all or part of the following data: − a network identifier (NID). This identifier can be used to determine whether the two devices 20 and 30 are connected to the same network. In this case, this network identifier can be used to mark the packets of a sub-session. The exchange of this network identifier also makes it possible to verify the correlation between the network identifiers of the service access request and management devices (20, 30); − a maximum number of sub-sessions per given slice (MAX_SubFlow_Slice). This parameter can be provided as a system parameter or be a parameter configured by default in an application or a service. This parameter can also be configured by a user (for example, an administrator of a service instance). [138] As illustrated by FIG. 5A, the general method for accessing a service further comprises a transmission step S100 during which a message MSG1 is transmitted by the device (20) requesting access to a service to the device (30) for managing the service. [139] This first message MSG1 includes, in the implementation example envisaged here, a SLICE_CAPABLE_1 data item representative of a capability of the device (20) requesting access to a service to use at least one network slice selected from a plurality of network slices of a telecommunications network supporting network slices, and to apply a communication flow management policy selected by the device (30) for managing the service. [140] According to a particular implementation, this MSG1 message corresponds to a request to establish communication. A transport protocol including TCP and its MPTCP option are for example considered, and this MSG1 message corresponds to a TCP SYN message. Still considering the MPTCP option, this MSG1 message corresponds for example to a request to initialize an additional TCP sub-session. [141] According to a particular implementation, this SLICE_CAPABLE_1 data corresponds to a value of a field (or "attribute") (e.g. a field or attribute called here
SLICE_CAPABLE) of the MSG1 message, this field then being dedicated to representing a capacity of an electronic device to use at least one network slice selected from a plurality of network slices of a telecommunications network, and to apply a policy for managing the flow of the communication selected by another device. [142] According to a particular implementation, this SLICE_CAPABLE_1 data further comprises an indication that the device (20) requesting access to a service is capable of exchanging data within the framework of a communication established on multiple paths within this telecommunications network supporting network slices. Thus, if the value of the SLICE_CAPABLE field of the MSG1 message is for example equal to "1", this means that the device having sent this frame is capable of using at least one network slice selected from a plurality of network slices of a telecommunications network, of applying a communication flow management policy selected by another device, and of exchanging data within the framework of a communication established on multiple paths within this network. [143] This MSG1 message is received by the service management device (30) during a step S200. During a step S210, the management device (30) extracts data from the message received in step S200. The general method for accessing the service further comprises a step S220 during which it is determined whether or not the management device (30) is capable of selecting at least one network slice from a plurality of network slices of the telecommunications network, as a function of the constraints or requirements of the service (S) but also as a function of the capabilities of the service access request device (20), and of selecting an appropriate flow management policy. [144] According to a particular implementation, this step S220 also aims to determine whether or not the management device (30) is capable of using a communication established on multiple paths within this telecommunications network supporting network slices. [145] If the management device (30) is not capable of doing so (choice "N"), it implements step S230. According to a first example of implementation of step S230, the MSG1 message received in step S200 is ignored and the communication establishment procedure is terminated. According to a second implementation example, the SLICE_CAPABLE_1 data is ignored by the service management device (30). In this case, if the transport protocol used is the TCP protocol which uses the MPTCP option, a second message is sent by the management device (30) to the service access request device (20), which corresponds for example to the SYN/ACK message as defined by the RFC 9293 standard.[146] If, on the other hand, the service management device (30) is capable of selecting at least one network slice from a plurality of network slices of a telecommunications network based on the requirements of the service (S) but also on constraints of the service access request device (20), and of selecting a flow management policy (choice "Y"), it then implements a step S240. During this step S240, a second message, MSG2, is transmitted by the management device (30) to the service access request device (20), which includes a SLICE_CAPABLE_2 data item representative of a capability of the management device (30) to select at least one compatible network slice for accessing the service (S), as well as a communication flow management policy. [147] According to a particular implementation, this MSG2 message corresponds to an acknowledgment ACK of the communication establishment request. Alternatively, if the transport protocol used is the TCP protocol which uses the MPTCP option and the MSG1 message relates to the initialization of a TCP sub-session, this MSG2 message corresponds to an acknowledgment of receipt of the request to initialize an additional TCP sub-session. [148] According to a particular implementation, this SLICE_CAPABLE_2 data corresponds to a value of a field (called for example SLICE_CAPABLE) of the MSG2 message, this field then being dedicated to representing a capacity of an electronic device to select at least one compatible network slice to access the service (S), as well as a policy for managing the communication flows. [149] According to a particular implementation, this SLICE_CAPABLE_2 data further comprises an indication according to which the device (30) for managing a service is capable of using a communication established on multiple paths within this telecommunications network supporting network slices. Thus, if the value of the SLICE_CAPABLE field of the MSG2 message is for example equal to "1", this means that the device having sent this message is capable of selecting at least one compatible network slice as well as a flow management policy, and of using a communication established on multiple paths within this network. [150] The second MSG2 message is received by the device (20) requesting access to a service during a step S110. The general method for accessing a service further comprises a step S120 during which the data are extracted from the received MSG2 message. More precisely, the device (20) requesting access to a service checks for the presence of the SLICE_CAPABLE_2 data item. Indeed, the absence of this data item in a response to a communication establishment request (MSG1) which contains the data item
SLICE_CAPABLE_1 means that the management device (30) does not support the method according to the invention. [151] If the second message MSG2 comprises the data item SLICE_CAPABLE_2, step S130 is then implemented. During this step S130, a third message MSG3 is sent by the service access request device (20) to the service management device (30), which includes a SLICE_SET data item representative of network slices supported by said at least one network and accessible by the service access request device (20). This SLICE_SET data item includes at least one type of network slice and/or at least one network slice identifier obtained during step S10. [152] According to a particular implementation, this SLICE_SET data item further includes at least one data item from among the following data: − a network identifier obtained in step S10; − a maximum number of sub-sessions per given slice ("MAX_SubFlow_Slice") for example obtained in step S10; − one or more address identifiers ("Address Identifier", Address ID). This identifier is used to associate the slices reachable via the same address. This parameter is for example generated by the device (20) requesting access to a service according to a mechanism similar to that of the MPTCP ADD_ADDR option. − an indication of support for asymmetric sub-sessions. This indication corresponds for example to a specific field taking one of the following values: IN, OUT or BOTH. This parameter explicitly indicates the capacity to associate the outgoing (OUT) or incoming (IN) traffic of the same sub-session with distinct network slices. The value BOTH is used to indicate that the same slice must be used for the incoming and outgoing traffic of the same sub-session. However, the sub-sessions of the same communication can be associated with distinct slices. [153] According to a particular implementation, the third message MSG3 further comprises data, OTHER_TSV, relating to the transport protocol(s) applicable, by the device (20) requesting access to a service, to the communication between the device (20) requesting access to a service and the device (30) for managing the service (S). These transport protocols make it possible, for example, to establish communication on multiple paths. For this, the message comprises, for example, a dedicated field whose “protocol#i” values correspond to transport protocol identifiers. The OTHER_TSV data can apply to an end-to-end communication, to a sub-
session, or to a specific slot. In the latter case, the listed protocol(s) are only eligible for communications or sub-sessions via this specific slot. [154] According to a particular implementation, the third message further comprises SCHEDULER data relating to the traffic scheduling mechanism(s) supported by the device (20) requesting access to a service (S) and the device (30) managing the service (S). For this purpose, the message comprises, for example, a dedicated field whose sc#j values correspond to identifiers of applicable traffic scheduling mechanisms (e.g., the value "0" for Round-Robin, "1" for Lowest Round-Trip-Time First, "2" for Round-Trip-Time Threshold, and "3" for Priority-based). The SCHEDULER data may apply to an end-to-end communication, to a sub-session, or to a specific slice. In the latter case, the listed scheduling mechanism(s) are only eligible for establishing communications or sub-sessions via this specific slice. [155] The general method for accessing a service further comprises a step S250 during which the MSG3 message is received by the management device (30). This step is for example implemented by the MOD_OBT module of the service management device (30). [156] After receiving this MSG3 message, the service management device (30) extracts the data from the MSG3 message and saves it in a local cache (step S260). [157] During a step S270, the service management device (30) selects network slices accessible by the service access request device (30) and compatible with the provision of the service S, as well as a policy for managing the communication flows via the selected network slices. This step is for example implemented by the MOD_SEL module of the service management device (30). [158] The selection of a previously mentioned flow management policy comprises all or part of the following elements: − a traffic scheduling mechanism to be applied by the service access request device (20) to the communication; − a transport protocol making it possible to establish communications on multiple paths to be applied, by the service access request device (20), to the communication; − a constraint on a direction of at least one communication flow through at least one of the selected network slices;− a specific distribution of the communication flows (or where appropriate of the sub-sessions on which the communication is based) and whose traffic is routed in the selected network slice(s), and, − a constraint of using a single slice or a plurality of network slices connected to each other. [159] Of course, other elements can be envisaged in the management policy as a variant or in addition to the aforementioned elements. [160] Step S270 comprises a comparison, by the management device (30), of the extracted data with its own information and service instructions. These service instructions correspond to requirements (e.g. a given network slice type, a traffic scheduling mechanism, a specific transport protocol, a specific flow distribution, a slice usage constraint) required to be able to optimally access the service S. [161] Step S270 makes it possible to determine whether at least one network slice is both accessible by the device (20) requesting access to a service and compatible with the constraints or requirements of the service (S) and/or with those of the device on which this service is deployed. According to a particular implementation, this step includes a comparison between the type(s) of network slices of the MSG2 message, and that or those compatible with the service (S). [162] According to a particular implementation, this step S270 further comprises a selection of one or more transport protocols allowing the device (20) to send a request for access to a service and compatible with the constraints or requirements of the service (S). These transport protocols are, for example, transport protocols that allow communications to be established over multiple paths, such as the TCP protocol with the "Multipath TCP" option, the UDP protocol with a "Multipath UDP" extension, the QUIC protocol with the "Multipath QUIC" extension, and the MDCCP protocol (Multipath Datagram Congestion Control Protocol). [163] MPTCP is an option of the well-known TCP protocol itself, which therefore allows TCP communication to be established whose flows take several network paths. The MPTCP option defines the notion of sub-session ("subflow" in English terminology) to designate a TCP session based on the use of one of the available IP addresses/port numbers. Also, an MPTCP communication corresponds to an aggregate of TCP sub-sessions. The MPTCP option is specified by the standard RFC8684, "TCP Extensions for Multipath Operation with Multiple Addresses", published in March 2020 by the IETF. The extension
Multipath of the UDP protocol allows UDP communications to be established over multiple paths. The Multipath extension of the QUIC protocol is described in the "Multipath Extensions for QUIC (MP-QUIC)" specification, draft-ietf-quic-multipath, version 06, published in October 2023 by the IETF. Finally, MPDCCP is an extension of the DCCP transport protocol, which is particularly suited for services with high latency requirements. This option is defined in the "DCCP Extensions for Multipath Operation with Multiple Addresses" specification, version 11, published in October 2023 by the IETF. [164] According to a particular implementation, if the MSG3 message comprises SCHEDULER data relating to the traffic scheduling mechanism(s) applicable, by the device (20) requesting access to a service, to the communication between the device (20) requesting access to a service and the device (30) for managing the service (S), step S270 also comprises the selection of at least one scheduling mechanism from among the scheduling mechanisms identified in the MSG3 message, which is also compatible with the requirements of the service (S) and/or the device on which this service is deployed. [165] According to a particular implementation, this step S270 further comprises a selection, by the management device (30), of at least one network slice accessible by this same management device (30), and adapted to the provision of the service (S) (for example here to the device (20) requesting access to said service). This network slice accessible by this management device (30) is for example identical to that selected for the device (20) requesting access to the service. [166] According to a particular implementation, this step S270 further comprises a selection, by the management device (30), of a management policy applicable, by this same management device (30), to the communication between the access request device (20) and this management device (30), and adapted to the provision of the service (S) (for example here, to the device (20) requesting access to said service). This management policy applicable by this management device (30) is for example identical to that selected for the device (20) requesting access to the service. [167] If a network slice that is both accessible by the device (20) requesting access to a service and compatible with the constraints or requirements of the service (S) is identified, step S280-1 is implemented during which the identified slice is associated with the outgoing traffic of the communication or of the sub-session. The method according to the invention further comprises a step S290-1 during which the management device (30) transmits, to the device (20) requesting access to the service, a fourth MSG4 message including a SLICE_SET_SELECT data item representative of the network slices and of said
flow management policy selected during step S270. According to a particular implementation, this data is recorded in the SLICE_SET field, and optionally, in the OTHER_TSV and SCHEDULER fields of the fourth MSG4 message. This step is for example implemented by the MOD_TX module of the management device (30). [168] If, on the other hand, no network slice is both accessible by the device (20) requesting access to a service (S) and compatible with the requirements of this service (S), then the service management device (30) implements a step S280-2. During this step S280-2, the management device (30) selects an alternative transport protocol to the one previously used by the device (20) requesting access to a service. According to a particular implementation, this alternative transport protocol is a default protocol. Alternatively, this alternative transport protocol is selected from the OTHER_TSV data relating to the transport protocols included in the MSG3 message. Then, during a step S290-2, the management device (30) transmits, to the access request device (20), a fourth MSG4' message including data representative of the transport protocol selected during the step S280-2. [169] This fourth message (MSG4, MSG4') is received by the service access request device (20) during a step S140. This step is for example implemented by the MOD_RX module of the service access request device (20). [170] The method according to the invention further comprises a step S150 during which the data are extracted from the fourth message (MSG4, MSG4') received, and recorded in a local cache. [171] Finally, the device (20) for requesting access to a service implements a step S160 during which the network slices and the flow management policy selected during step S270 are applied to the communication established between the device (20) for requesting access to a service and the device (30) for managing this service (S). This step S160 is for example implemented by the module MOD_APP of the device (20) for requesting access to a service. This step S160 is described in more detail with reference to FIG. 5B. [172] According to a variant, the method according to the invention does not comprise steps S100, S200 to S240, S110 and S120. In this particular case, the first and second messages MSG1, MSG2 are therefore not exchanged between the first and second electronic devices, and the third message MSG3 then comprises the data SLICE_CAPABLE_1 representative of a capacity of the device (20) requesting access to a service to use at least one network slice selected from a plurality of network slices of a network of
5B is a detailed view of an example implementation of step S160 during which the selected network slices and flow management policy are applied to the communication between the device (20) requesting access to a service and the device (30) managing this service (S). [174] As illustrated by FIG. 5B, step S160 comprises a first step S5110 during which the device (20) requesting access to a service (S) determines whether the data extracted during step S150 includes data relating to selected network slices. If this is the case, step S5120 is implemented during which the selected network slices are associated with the communication or sub-session established between the device (20) requesting access to a service and the device (30) for managing this service (S). [175] Then, during a step S1540, the flow management policy selected by the management device (30) is obtained. More precisely, it is for example determined whether the extracted data includes a transport protocol to be used, for example by checking whether the OTHER_TSV field of the fourth message MSG4 is empty or not, and if it is not empty, by checking whether the value of said field corresponds to one of the values identifying the transport protocols transmitted through the third message MSG3. If this is the case (e.g. if the OTHER_TSV field includes the identifier "protocol#i" of at least one transport protocol that can be applied by the service access request device (20), the access request device (20) uses the transport protocol identified by "protocol#i" for sending data packets via the selected slot in the context of the communication between this service access request device (20) and the device (30) for managing said service. [176] In a relatively similar manner, it is for example determined whether the extracted data includes a specific traffic scheduling mechanism to be applied, by checking whether the SCHEDULER field of the fourth MSG4 message is empty or not, and if it is not empty, by checking whether the value of said field corresponds to one of the values identifying the traffic scheduling mechanisms transmitted through the third MSG3 message. If this is the case (e.g. if the SCHEDULER field includes the identifier sc#j of at least one traffic scheduling mechanism that can be applied by the service access request device (20), the service access request device (20) uses the mechanism
traffic scheduling identified by sc#j for sending data packets via the selected slice as part of the communication established between this device (20) requesting access to a service and the device (30) for managing said service [177] Finally, during a step S5140, the device (20) requesting access to a service associates the outgoing traffic of the communication (or sub-session) with the slice selected by the management device (30). The marking of the traffic is that associated with the slice thus selected. Separate slices per traffic direction can also be used. [178] Returning to step S5110, if the extracted data does not include data relating to the selected network slices, then it is determined, during a step S5150, whether the extracted data includes an alternative transport protocol to that previously used by the requesting device (20). [179] If this is the case (choice "Y"), steps S5160 and S5170 are implemented. During step S5160, the service access request device (20) detects the closure of the communication established between the service access request device (20) and the service management device (30). [180] According to a first example, the closure of the communication established between the service access request device (20) and the service management device (30) is triggered immediately. [181] According to a second example, the communication established between the service access request device (20) and the service management device (30) is maintained and is therefore not immediately closed, and step S5160 comprises the detection of an event relating to the closure of the current communication. The wait for the detection of such an event is for example triggered after the reception of the fourth message MSG4, and this, for a predetermined period of time (e.g. 24 hours). Finally, step S5170 is implemented during which a new communication is established using the transport protocol “protocol#i”. [182] Returning to step S5150, if the extracted data does not include an alternative transport protocol to that previously used by the device (20) requesting access to a service (choice “N”), then the current communication is closed (step S5180). [183] Figure 6 illustrates, in the form of a flowchart, the main steps of a general method for accessing a service, according to a second exemplary implementation of the invention. The
Figure 6 illustrates a variant in which the selection of compatible slots and the flow management policy is implemented by the service access request device (20) rather than by the service management device (30). [184] The general method for accessing a service comprises a first initialization step (S10) during which the service access request device (20) obtains a list of slots to which it can access to send or receive traffic. This step is for example implemented by the MOD_OBT module of the service access request device (20). [185] As illustrated by Figure 6, the general method for accessing a service further comprises a transmission step S6100 during which a message MSG1 is transmitted by the service access request device (20) to the service management device (30). This message includes, in the implementation example considered here, a SLICE_CAPABLE_3 data item representative of a capability of the device (20) requesting access to a service to select at least one compatible network slice to access the service (S), as well as a policy for managing the communication flows. [186] According to a particular implementation, this MSG1 message corresponds to a request to establish communication. A transport protocol such as TCP and its MPTCP option are for example considered, and this MSG1 message corresponds to a TCP SYN message. Still considering the MPTCP option, this MSG1 message corresponds for example to a request to initialize an additional TCP sub-session. [187] According to a particular implementation, this SLICE_CAPABLE_3 data corresponds to a value of a field (or "attribute") (e.g. a field or attribute called here SLICE_CAPABLE) of the MSG1 message, this field then being dedicated to the representation of a capacity of an electronic device to select at least one compatible network slice to access a service, as well as a policy for managing the communication flows. [188] According to a particular implementation, this SLICE_CAPABLE_3 data further comprises an indication according to which the device (20) requesting access to a service is capable of exchanging data within the framework of a communication established on multiple paths within this telecommunications network supporting network slices. Thus, if the value of the SLICE_CAPABLE field of the MSG1 message is for example equal to "1", this means that the device having sent the MSG1 message is capable of selecting at least one network slice from a plurality of network slices deployed within a telecommunications network, as well as a communication flow management policy, and
to exchange data in the context of a communication established on multiple paths within this network. [189] This MSG1 message is received by the service management device (30) during a step S6200. During a step S6210, the service management device (30) extracts data from the message received in step S6200. The general method for accessing the service further comprises a step S6220 during which it is determined whether or not the management device (30) is capable of using a network slice selected by the service access request device (20) from among a plurality of network slices of the telecommunications network, and of applying a flow management policy also selected by the requesting device (20). [190] According to a particular implementation, this step S6220 also aims to determine whether or not the management device (30) is capable of using a communication established on multiple paths within this telecommunications network. [191] If the management device (30) is not capable of doing so (choice "N"), it implements step S6230. According to a first example of implementation of step S6230, the message MSG1 received in step S6200 is ignored and the procedure for establishing the communication is terminated. According to a second example of implementation, the data SLICE_CAPABLE_3 is ignored by the device (30) for managing a service. [192] If the service management device (30) is, on the other hand, capable of using a network slice selected by the service access request device (20) from among a plurality of network slices of the telecommunications network, and of applying a flow management policy also selected by the service access request device (20), it implements a step S6240. [193] During this step S240, a second MSG2 message is transmitted by the management device (30) to the service access request device (20), which includes a SLICE_CAPABLE_4 data item representative of a capacity of the management device (30) to use at least one compatible network slice as well as to apply a certain communication flow management policy. [194] According to a particular implementation, this SLICE_CAPABLE_4 data corresponds to a value of a field (called for example SLICE_CAPABLE) of the MSG2 message, this field then being dedicated to representing a capacity of an electronic device to use at least one compatible network slice as well as to apply a policy for managing the communication flows selected by another electronic device.[195] According to a particular implementation, this SLICE_CAPABLE_4 data item further comprises an indication that the service management device (30) is capable of using a communication established on multiple paths within this telecommunications network supporting network slices. Thus, if the value of the SLICE_CAPABLE field of the MSG2 message is for example equal to "1", this means that the device having sent this message is capable of using at least one network slice and of applying a policy for managing the communication flows selected by another electronic device, and of using a communication established on multiple paths within this network. [196] This second message further comprises SLICE_SET data item representing network slices supported by the communication network, and accessible by the service management device (30). According to a particular implementation, this second MSG2 message further comprises OTHER_TSV data relating to the transport protocol(s) usable for accessing the service (S), and/or SCHEDULER data relating to the traffic scheduling mechanism(s) applicable for accessing the service (S). [197] This OTHER_TSV and SCHEDULER data corresponds for example to that previously described with reference to FIG. 5A. [198] The second MSG2 message is received by the device (20) for requesting access to a service during a step S6110. The general method for accessing a service further comprises a step S6120 during which the data is extracted from the received MSG2 message. More precisely, the device (20) for requesting access to a service checks for the presence of the SLICE_CAPABLE_4 data. Indeed, the absence of this data in a response to a communication establishment request (MSG1) which contains the data SLICE_CAPABLE_3 means that the device (30) for managing a service does not support the procedure according to the invention. [199] If the second message MSG2 comprises the data SLICE_CAPABLE_4, step S6125 is then implemented. During this step, the device (20) requesting access to a service selects network slices which it can access and which are also compatible with the provision of the service, as well as a policy for managing the communication flows via the selected network slices. This step is similar to step S270 described with reference to Figure 5A, and is for example implemented by the module MOD_SEL of the device (20) requesting access to a service. [200] The method further comprises a step S6130 during which a third message MSG3 is transmitted by the device (20) for requesting access to a service to
destination of the service management device (30). This step is for example implemented by the MOD_TX module of the service access request device (20). This third MSG3 message comprises a piece of data, SLICE_SET_SELECT, representing the network slices and said flow management policy selected during step S6125. According to a particular implementation, this data is recorded in the SLICE_SET field, and optionally, in the OTHER_TSV and SCHEDULER fields of the third MSG3 message. [201] The method for accessing a service further comprises a step S6250 during which the MSG3 message is received by the service management device (30). [202] After receiving this MSG3 message, the management device (30) extracts the data from the MSG3 message and saves it in a local cache during a step S6260. A step S6280 is then implemented during which the identified slice is associated with the outgoing traffic of the communication (or of the sub-session) between the device (20) requesting access to a service and the device (30) for managing this service (S). The method according to the invention further comprises a step S6290 during which the management device (30) transmits, to the device (20) requesting access to a service, a fourth MSG4 message including an ACK. [203] This fourth MSG4 message is received by the device (20) requesting access to a service during a step S6140. The method according to the invention further comprises a step S6150 during which the device (20) requesting access to a service extracts the data from the fourth message received. [204] Finally, the device (20) for requesting access to a service implements a step S6160 similar to step S160 of Figure 5A. [205] Figure 7 illustrates, in the form of a flowchart, the main steps of a method for controlling an intermediate device involved in a communication during which data relating to a service are exchanged, according to an exemplary implementation of the invention. [206] This method is implemented in the case where the first device corresponds to the intermediate device (50), and this, after step S150 during which the data of the fourth message are received, and recorded in a local cache by the intermediate device (50).[207] The method for controlling an intermediate device then comprises, in the example envisaged here, a first step S7100, implemented by the device (20) requesting access to a service, during which a request REQ aims to obtain data (e.g. SLICE_SET_SELECT) representative of the selected network slices and flow management policy. [208] This request is received by the intermediate device (50) during a step S7500. The control method further comprises a step S7510, implemented by the intermediate device (50), of transmitting to the device (20) requesting access to the service, the data SLICE_SET_SELECT representative of the selected network slices and flow management policy. The message including this SLICE_SET_SELECT data is for example in accordance with the format described with reference to Figure 8. This data is received by the device (20) requesting access to a service during a step S7110. [209] Then, during a step S7120, the device (20) requesting access to a service transmits, to the intermediate device (50), one or more traffic classification rules R aimed at distributing data of said communication across at least one of the selected slices. A classification rule can be developed from several criteria such as the destination address of the traffic, the [source address; destination address] pair, a protocol identifier, port numbers, or any combination of these different criteria. A traffic selector is defined and is responsible for associating the traffic with one or other of these rules, depending on the content of the headers of the data packets, for example. [210] The message including these R rules is for example compliant with the format described with reference to Figure 9. These R rules are received by the intermediate device (50) during a step S7520. [211] Finally, step S160 of applying the selected network slices and flow management policy is implemented, by applying, during a step S7530, the received R rules. [212] Figure 8 is an example of the format of a PCP option for exchanging, between the device (20) requesting access to a service and the intermediate device (50), parameters relating to the selected network slices and flow management policy, in a particular example of implementation. This format is for example compliant with section 7.3 ("Options") of the "Port Control Protocol (PCP)" specification, RC6887, published in April 2013 by the IETF.[213] As illustrated in Figure 8, the "Option" field includes: − an "Option Code" field coded on 8 bits, the most significant bit of which indicates whether this option is mandatory or optional; − a "Reserved" field coded on 8 bits, usually set to "0" in transmission and ignored in reception; − an "Option Length" field coded on 16 bits, which indicates the length of the data relating to said option; − a "SLICE SET Count" field coded on 16 bits, which indicates the number of SLICE_SET objects contained in this option; − a "Slice SET Length" field coded on 16 bits, which indicates the size of a SLICE_SET object; − a "Slice Type" field coded on 16 bits, which indicates the type of slice selected by the second electronic device; − an 8-bit "SID Count" field that indicates the number of Slice Identifiers (SIDs) included in a SLICE_SET object. − an 8-bit "NID Count" field that indicates the number of Network IDentifiers (NIDs) included in a SLICE_SET object. [214] According to a particular implementation, when the "SID Count" or "NID Count" fields have a value of "0", this means that no SID or NID is present in the message. [215] Figure 9 is an example of the format of a PCP option for transmitting traffic classification rules. As illustrated in Figure 9, the "Option" field includes in particular: − a 16-bit "SLICE Binding Count" field that includes a number of traffic classification rules; − for each rule, a "Binding Rule Length" field coded on 16 bits and delimiting the descriptive information of the rule. − for each rule, a "Slice Type" field; − for each rule, a "Slice Count" field. The presence of SID being optional in a rule, if the "Slice Count" field takes the value "0", this means that no SID is present in the message.
− for each rule, a "Traffic Selector" field, for example, structured in accordance with the "Dissemination of Flow Specification Rules" specification, RFC8955, published by the IETF in December 2020, or in accordance with the "Dissemination of Flow Specification Rules for IPv6" specification, RFC8956, also published by the IETF in December 2020. [216] Of course, protocols other than TCP can be considered to exchange parameters relating to the network slices and the flow management policy selected between the device (20) requesting access to a service and the intermediate device (50), such as the UPnP protocol (acronym for "Universal Plug and Play"), the IGD protocol (acronym for "Internet Gateway Device"), the HTTPS protocol (acronym for "Hyper Text Transfer Protocol Secure"), the CoAP protocol (acronym for "Constrained Application Protocol") or the NETCONF protocol.