Methods and devices for configuring and using a network supporting network slices
The configuration process for network slices in telecommunications networks addresses the complexity of managing these slices by generating connection elements and associating them with network slices, resulting in optimized data routing and improved network efficiency.
Patent Information
- Application Number
- FR2023011842
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-10-31
- Publication Date
- 2025-05-02
AI Technical Summary
The complexity of managing network slices in telecommunications networks, including challenges in traffic classification, identification of network slices, and varying use cases, leads to non-optimal data delivery and increased complexity in network configuration and operation.
A process for configuring network slices that involves generating connection elements to obtain connection identifiers, associating these elements with network slices based on specific criteria, and transmitting data indicating these associations to network entities, thereby simplifying traffic management and optimization.
This solution simplifies the tasks of nodes in the network, such as periphery nodes, by facilitating the identification and use of appropriate network slices for data transport, leading to optimized data routing and improved network efficiency.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: Methods and devices for configuring and using a network supporting network slices Prior art
[0001] The present invention belongs to the general field of telecommunications. It relates more particularly to methods for respectively configuring network slices, enabling a terminal connected to a network supporting such slices to discover their configuration and also enabling terminals having thus carried out a discovery of the network slices to communicate with each other via all or part of these slices. The invention also relates to devices and terminals respectively configured to implement these methods. The invention finds a particularly advantageous, although in no way limiting, application in the context of 5G type cellular networks.
[0002] As is known, network operators can deploy end-to-end virtual private networks (VPNs) on demand, entirely (or partially) dedicated to their customers. This practice has developed to lead to the concept of slicing a communications network, where the overall architecture of the network is based on a set of resources that can be used to create network partitions called "network slices" (more simply "network slices" hereinafter, or "network slices" in English).
[0003] The characteristics of a network slice are expressed in particular in terms of capacity (bandwidth), quality of service (e.g., latency, one-way transit time), or even security (e.g., preservation of the confidentiality of transmitted information through the use of encryption techniques). Concerning these aspects, and in general, the work carried out by the IETF ("Internet Engineering Task Force") can be advantageously consulted, such as in particular the document "A Framework for IETF Network Slices in Networks Built from IETF Technologies", A. Farrel, J. Drake, R. Rokui, S. Homma, K. Makhijani, LM Contreras, J. Tantsura, August 25, 2023
[0004] Several types of network slices are also known. For example, in its technical specification TS 23.501 (paragraph 5.15.2.2), the 3GPP organization (“3rd Generation Partnership Project”) defines and documents the following types in particular: - enhanced mobile broadband service “eMBB” (“Enhanced Mobile BroadBand” in English), - massive deployment of the Internet of Things (“massive Internet of Things” or "mloT" in English), - ultra-reliable, low-latency communications (“Ultra Reliable Low Latency Communications” or “URLLC”).
[0005] The choice of designing and deploying by an operator one or more particular types of slices is notably conditioned by the nature of the traffic generated by the applications used or the services subscribed to by a network user. For example, a so-called “immersive” service which uses augmented 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.
[0006] Furthermore, a network that supports network slices may itself be composed of several sub-networks (also called "domains"), each of said sub-networks supporting one or more network slices. An example of this principle is represented schematically by [Fig.l], in which a network NET is broken down into three sub-networks SS_NET_1, SS_NET_2, SS_NET_3 (each slice of a sub-network SS_NET_i, i being an integer index between 1 and 3, being represented for illustrative purposes by a parallelogram in [Fig.l]).
[0007] Therefore, the slices of the SS_NET_i subnetworks can be associated with each other to provide value-added services. For example, a service provider wishing to exploit the infrastructure of the NET network can rely on specific slices respectively set up in the SS_NET_i subnetworks to provide a service whose traffic will be routed via said slices. The slices thus exploited form so-called "adjacent" slices which then become virtually linked together for the service offered by said provider. The connection interfaces between adjacent slices can be managed using mechanisms such as those described in the following document proposed by 1TETF: "YANG Data Models for 'Attachment Circuits'-as-a-Service (ACaaS)", M. Boucadair, R. Roberts, O. Gonzalez de Dios, S. Barguil, B. Wu, July 10, 2023.
[0008] Such an example of connection between network slices is also illustrated by [Fig.l] where a service provider relies on slices TR_1_2, TR_2_2, TR_3_3 belonging respectively to the subnetworks SS_NET_1, SS_NET_2, SS_NET_3. It should be noted that this same provider can offer one or more services which exploit one or more of said network slices.
[0009] Conventionally, this type of configuration where network slices deployed in subnetworks are linked together to provide a specific service is conceptually represented in the form of a so-called "multi-domain slice" ("stitched slice" or "hierarchical slice" in English) grouping together the slices of the subnetworks in question. The network slices that make up a slice multi-domain slices are then called “single-domain slices”. Such a TR_MULTI multi-domain slice is represented for purely illustrative purposes by [Fig.l], said TR_MULTI slice grouping the slices TR_1_2, TR_2_2, TR_3_3 which are respectively deployed in the sub-networks SS_NET_1, SS_NET_2, SS_NET_3.
[0010] It should be noted that no limitation is attached to the nature of a sub-network SS_NET_i. For example, it may be a radio access network “RAN” (“Radio Access Network” in English), a collection network, a core network “CN” (“Core Network” in English), a transport network “TN” (“Transport network” in English) or a transit network, etc.
[0011] Furthermore, the creation of a multi-domain slice is not conditioned by the availability or activation of the same techniques used for the creation of single-domain slices in each sub-network. As an illustration, taking the example of [Fig.l]: - the SS_NET_1 subnet can be configured to implement IPsec tunnels which are used to route traffic in the slices deployed in this SS_NET_1 subnet, - the SS_NET_2 subnet can be configured to implement a network-level virtual private network (“Layer 3 VPN” or “L3VPN”) combined with “TE” traffic engineering mechanisms, - the SS_NET_3 subnetwork can implement segment routing resources based on the IPv6 protocol (“Segment Routing IPv6” or “SRv6” in English) to route traffic in the slices deployed in this SS_NET_3 subnetwork.
[0012] As regards more specifically the creation of slices (whether multi-domain or single-domain) in IP / MPLS (“Internet Protocol” / “Multiprotocol Label Switching”) networks, it is possible to consult the following document: “A Realization of IETF Network Slices for 5G Networks Using Current IP / MPLS Technologies”, KG Szarkowicz, R. Roberts, J. Lucek, M. Boucadair, LM Contreras, May 23, 2023.
[0013] It follows from the above considerations that the engineering and deployment of slices in a network are complex activities to implement, because they require taking into account multiple configuration parameters.
[0014] Added to this is the fact that, in order to guarantee access of data traffic to 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 "entrance" (e.g. at the edge) of a network / subnetwork that supports the slice(s) concerned, more particularly by one or more edge nodes.
[0015] For example, an edge node may be located at the connection interface of a “PGW” (“Packet Gateway” in English) gateway providing access to the Internet network. According to another example, an edge node may be located at the connection interface of a mobile terminal (or “User Equipment (UE)” in English) to a radio access network “RAN”.
[0016] However, the design and application of traffic classification rules also contribute significantly to the overall complexity of the deployment and operation of a network supporting slices.
[0017] Indeed, and according to a first aspect, it is appropriate to take into account a level of granularity characteristic of a network slice. This level can in fact be macroscopic (for example, a slice deployed to route traffic to the Internet network), or microscopic (for example in the case of application traffic exchanged between two mobile terminals and for which a dedicated slice has been deployed). In any event, whether macroscopic or microscopic, this level of granularity impacts the management of traffic classification because it generates difficulties in terms of optimizing the use of resources implemented by one or more network slices, and capable of meeting the varied requirements of the different slices (requirements which can be expressed in terms of quality of service, security, resilience, etc.).
[0018] Furthermore, according to a second aspect, the way in which packets intended to be routed via a given network slice are currently identified is problematic. More particularly, this identification relies on the use of identifiers such as typically IP addresses or prefixes. However, in certain environments, several applications may be reachable by means of the same IP address even though these applications may be associated with constraints requiring the respective traffic to be routed via distinct network slices.
[0019] Finally, and according to a third aspect, it is appropriate to take into account the variety of use of a network slice. This variety is manifested in particular in terms of traffic diversity, nature of the structure which operates the slice (e.g. accounting department, R&D department, production department) or even mode of use of the slice (e.g. management of traffic overloads during busy hours, or principles of distribution of the traffic load).
[0020] This complexity related to the design and application of traffic classification rules can further be aggravated by the evolution of said rules over time, according to the dynamics of a set of criteria such as the evolution of user needs or traffic growth. This is for example the case in the context of the deployment of a slot for the retransmission of a sporting or cultural event, and where the traffic classification rules can evolve with the number and profile of users of the slice.
[0021] Ultimately, it is understood that these different aspects to be taken into account in the design of classification rules generate a significant risk that one or more of these rules are designed in an unsuitable manner. One of the possible consequences of such unsuitability is the non-optimal routing of data within a network.
[0022] Statement of the invention
[0023] The present invention aims to remedy all or part of the drawbacks of the prior art, in particular those set out above, by proposing a solution which makes it possible to manage the routing of traffic in a network supporting network slices in a much simpler and more efficient manner compared with the solutions of the state of the art.
[0024] The solution proposed by the invention makes it possible in particular to simplify (in terms of traffic classification) the tasks carried out by nodes of a network supporting network slices, for example edge nodes.
[0025] To this end, and according to a first aspect, the invention relates to a method for configuring a network supporting N network slices, N being an integer greater than or equal to 1, said method comprising steps of: - generation of M connection elements, M being an integer greater than or equal to 1, each connection element being configured to allow obtaining at least one connection identifier intended to be used at the level of a transport and / or application layer during communication via one or more network slices, - association of at least one connection element to at least one network slice based on a given association criterion, - transmission of data indicating the associations between connection elements and network slices to a set E of network entities configured to participate in the routing of data packets within the network.
[0026] Configuring network slices in the network in this way proves to be particularly advantageous. Indeed, the connection elements thus generated are not only shared with said network entities which include in particular entities in charge of traffic classification, in particular at the periphery / edge of the network, but are also intended to be shared with terminals which wish to use one or more of the network slices to communicate. More particularly, said connection elements make it possible to control and facilitate the identification of one or more appropriate slices for routing data in the network, for example in the context of the operation of an application function by a terminal.
[0027] This optimized routing of data via one or more network slices can be achieved by inserting into the data packets connection identifiers obtained using said connection elements. More particularly, on the basis of such connection identifiers, a network entity, such as for example an edge node, which receives data packets can then determine the connection elements associated with said connection identifiers, and thus route the data packets in the appropriate slices.
[0028] No limitation is attached to the nature of the connection identifiers that can be obtained according to the invention. In particular, a connection identifier may be an identifier of the “CID” type (“Connection ID” in English) used by the QUIC protocol or the DTLS protocol (“Datagram Transport Layer Security” in English). These provisions also apply with regard to the connection elements.
[0029] In particular embodiments, the configuration method may further comprise one or more of the following characteristics, taken in isolation or in all technically possible combinations.
[0030] In particular embodiments, the number M is greater than or equal to the number N.
[0031] In particular embodiments, at least one connection element is a pattern configured to impose, among the sequence of bits forming a connection identifier, the value of at least one bit having a given position within said sequence of bits.
[0032] In particular embodiments, at least one connection element is a set comprising at least one given connection identifier.
[0033] In particular embodiments, said association criterion consists of a given connection element being associated with a given network slice.
[0034] In particular embodiments, said association criterion consists of slices of the same type being associated with one or more of the same connection elements.
[0035] In particular embodiments, the type of a slice is any one of: - improved mobile broadband service, - massive deployment of the Internet of Things, - ultra-reliable, low-latency communications.
[0036] In particular modes of implementation, the set E of entities comprises at least one of: - a network address allocation server, - a network prefix allocation server, - a router configured to enable a network prefix delegation function, - a network edge node, such as an access router or an “ASBR” router (“Autonomous System Border Routers” in English).
[0037] In particular embodiments, at least one network slice is a multi-domain slice.
[0038] According to another aspect, the invention also relates to a reception method implemented by an entity of a network supporting network slices and configured in accordance with a configuration method according to the invention, said reception method comprising a step of receiving said data indicating the associations between connection elements and network slices.
[0039] According to another aspect, the invention relates to a first data processing method implemented by a terminal connected to at least one network supporting network slices and configured in accordance with a configuration method according to the invention, said first data processing method comprising steps of: - transmitting, to an entity of said network, a request to obtain at least one connection element, - receiving, from said entity, a response to said request, said response comprising at least one connection element associated with at least one network slice supported by the network.
[0040] According to another aspect, the invention relates to a second data processing method implemented by equipment of a network supporting network slices and configured in accordance with a configuration method according to the invention, said second data processing method comprising steps of: - reception, from a terminal connected to said network, of a request to obtain at least one connection element, - transmission to said terminal of a response to said request, said response comprising at least one connection element associated with at least one network slice supported by the network.
[0041] In particular embodiments, the first or second data processing method may further comprise one or more of the following characteristics, taken in isolation or in all technically possible combinations.
[0042] In particular modes of implementation, the obtaining request comprises at least one parameter corresponding to a slice identifier or to a type of slice to which the terminal is authorized to connect, the response to the request comprising at least one connection element associated with a slice itself associated with said identifier or with a slice of said type.
[0043] In particular modes of implementation, in the absence in the request obtaining a parameter corresponding to a slice identifier or a type of slice to which the terminal is authorized to connect, the response to the request includes at least one connection element associated with at least one slice to which the terminal is authorized to connect.
[0044] In particular embodiments, the type of a slice is any one of: - improved mobile broadband service, - massive deployment of the Internet of Things, - ultra-reliable, low-latency communication.
[0045] In particular embodiments, the response to the request further comprises an identifier of said at least one network supporting network slices.
[0046] In particular modes of implementation: - said terminal is a user terminal and the entity of said at least one network is an entity of said set E, or - said terminal is an application server and the entity of said at least one network is an orchestration device configured to manage service functions within said at least one network.
[0047] According to another aspect, the invention relates to a first communication method implemented by a first terminal, called a “client terminal”, to exchange data with a second terminal, called a “server terminal”, the client terminal being connected to a network supporting network slices and configured in accordance with a configuration method according to the invention, and at least one terminal, called a “candidate terminal”, among said client terminal and said server terminal being in possession of at least one connection element of said network, said method comprising steps of: - obtaining data designating a terminal, called a “primary terminal”, among said at least one candidate terminal, - if the client terminal is the primary terminal: • transmission, to the server terminal, of at least one connection element, called “first connection element”, among said at least one connection element that said client terminal has, • obtaining at least one connection identifier using said at least one first connection element, said at least one connection identifier being intended to be used at a transport and / or application layer during communication via one or more network slices, - if the server terminal is the primary terminal: • reception, from the server terminal, of at least one connection element, called “second connection element”, among said at least one connection element that said server terminal has, • obtaining at least one connection identifier using said at least one second connection element, said at least one connection identifier being intended to be used at a transport and / or application layer during communication via one or more network slices.
[0048] According to another aspect, the invention relates to a second communication method implemented by a second terminal, called a “server terminal”, for exchanging data with a first terminal, called a “client terminal”, the client terminal being connected to a network supporting network slices and configured in accordance with a method according to the invention, and at least one terminal, called a “candidate terminal”, among said client terminal and said server terminal being in possession of at least one connection element of said network, said method comprising steps of: - obtaining data designating a terminal, called “primary terminal”, from among said at least one candidate terminal, - if the client terminal is the primary terminal: • reception, from the client terminal, of at least one connection element, called “first connection element”, among said at least one connection element that said client terminal has, • obtaining at least one connection identifier using said at least one first connection element, said at least one connection identifier being intended to be used at a transport and / or application layer during communication via one or more network slices, - if the second terminal is the primary terminal: • transmission, to the client terminal, of at least one connection element, called “second connection element”, among said at least one connection element that said server terminal possesses, • obtaining at least one connection identifier using said at least one second connection element, said at least one connection identifier being intended to be used at a transport and / or application layer during communication via one or more network slices.
[0049] In particular embodiments, the first or second communication method may further comprise one or more of the following characteristics, taken in isolation or in all technically possible combinations.
[0050] In particular embodiments: - if the client terminal or the server terminal is the only candidate terminal, said candidate terminal is designated as the primary terminal, or - if the client terminal and the server terminal are both candidate terminals, the data designating the primary terminal is generated by one of said two candidate terminals based on a given designation criterion.
[0051] In particular embodiments, obtaining at least one connection identifier using at least one connection element comprises: - if said at least one connection element comprises a pattern, a generation of at least one connection identifier in accordance with said pattern, and / or - if said at least one connection element comprises a set of given connection identifiers, a selection of at least one connection identifier from said set.
[0052] In particular modes of implementation, the client terminal is connected to a set of network slices supported by the network, called “active slices”, and: - if the client terminal is the primary terminal, said at least one first connection element is associated with one or more active slices, or - if the server terminal is the primary terminal, a list comprising identifiers and / or types of said active slices is transmitted by the client terminal to the server terminal, said at least one second connection element being selected by the server terminal from said at least one connection element that it possesses and so as to be associated with at least one active slice.
[0053] In particular embodiments, one or more slices among the active slices are configured to provide a given application function.
[0054] In particular modes of implementation, before obtaining the data designating the primary terminal, each terminal transmits to the other terminal data configured to inform said other terminal that said terminal transmitting said data is capable of communicating by exploiting at least one of the network slices supported by the network.
[0055] According to another aspect, the invention relates to a third method of communication by a node of a network supporting network slices and configured in accordance with a configuration method according to the invention, said node belonging to said set E, said communication method comprising steps of: - reception of a data packet from a terminal, called the “transmitting terminal”, said data packet being intended for another terminal, called the “receiving terminal”, and comprising at least one connection identifier intended to be used at the level of a transport and / or application layer during communication via one or more network slices, - routing of the data packet to the receiving terminal based on said at least one connection identifier.
[0056] In particular embodiments, the third communication method may further comprise one or more of the following characteristics, taken in isolation or in all technically possible combinations.
[0057] In particular embodiments, the data packet comprises a connection identifier associated with the sending terminal and another connection identifier associated with the receiving terminal, said method also comprising steps of: - evaluation of a conformity criterion based on said connection identifiers contained in the data packet, and - if the conformity criterion is met: • determination of the connection element, called “useful connection element”, associated with one of said connection identifiers contained in the data packet, • routing of the data packet to the receiving terminal using a network slice determined according to said useful connection element, - if the conformance criterion is not met, routing the data packet to the receiving terminal using a network slice designated by default or without using a network slice supported by the network.
[0058] In particular modes of implementation, the evaluation of the conformity criterion comprises a comparison of the values of at least two bits belonging respectively to the connection identifiers of the transmitting terminal and of the receiving terminal contained in the data packet, each of said bits having a given position within the sequence of bits forming the connection identifier to which it belongs, said conformity criterion being satisfied if said values are identical.
[0059] In particular modes of implementation, the receiving terminal is connected to a set of network slices supported by the network, called “active slices”, and: - if the conformity criterion is satisfied and if the slice associated with said useful connection element is an active slice, the data packet is routed using said network slice associated with said useful connection element, - if the conformance criterion is met and if the slice associated with said useful connection element is not an active slice, the data packet is routed using a network slice designated by default.
[0060] In particular modes of implementation, the receiving terminal is connected to a set of network slices supported by the network, called “active slices”, said method comprising a step of determining the connection element, called “useful connection element”, associated with a connection identifier among said at least one connection identifier contained in the data packet, and: - if the slice associated with said useful connection element is an active slice, the data packet is routed using said network slice associated with said useful connection element, - if the slice associated with said useful connection element is not an active slice, the data packet is routed using a network slice designated by default.
[0061] According to another aspect, the invention relates to a computer program comprising instructions for implementing a: - configuration method according to the invention, or - reception method according to the invention, or - first data processing method according to the invention, or - second data processing method according to the invention, or - first communication method according to the invention, or - second communication method according to the invention, or - third communication method according to the invention, when said program is executed by a computer.
[0062] This program may use any programming language, and be in the form of source code, object code, or code intermediate between source code and object code, such as in a partially compiled form, or in any other desirable form.
[0063] According to another aspect, the invention relates to a computer-readable information or recording medium on which a computer program according to the invention is recorded.
[0064] The information or recording medium may be any entity or device capable of storing the program. For example, the medium may comprise a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a magnetic recording means, for example a hard disk.
[0065] On the other hand, the information or recording medium may be a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means. The program according to the invention may in particular be downloaded from a network such as the Internet.
[0066] Alternatively, the information or recording medium may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method in question.
[0067] According to another aspect, the invention relates to a configuration device comprising means configured to implement a configuration method according to the invention.
[0068] According to another aspect, the invention relates to an entity of a network supporting network slices and comprising means configured to implement: - a reception method according to the invention, and - a second data processing method according to the invention.
[0069] According to another aspect, the invention relates to a terminal comprising means configured to implement: - a first data processing method according to the invention, as well as: - a first communication method according to the invention, or - a second communication method according to the invention.
[0070] According to another aspect, the invention relates to a node of a network supporting network slices and comprising means configured to implement a third communication method according to the invention.
[0071] Brief description of the drawings
[0072] Other characteristics and advantages of the present invention will emerge from the description given below, with reference to the appended drawings which illustrate an exemplary embodiment thereof without any limiting character. In the figures:
[0073] [Fig-1] [Fig. 1] schematically represents an example of a network supporting network slices according to the state of the art;
[0074] [Fig.2] [Fig.2] schematically represents a configuration system of a network supporting network slices according to a particular embodiment of the invention;
[0075] [Fig.3] [Fig.3] schematically represents an example of hardware architecture of a configuration device belonging to the system of [Fig.2];
[0076] [Fig.4] [Fig.4] represents in the form of a flowchart, a particular mode of implementation of a first general method implemented by the system of [Fig.2]. Said general method includes a configuration method according to the invention implemented by the configuration device of [Fig.3];
[0077] [Fig.5] [Fig.5] schematically represents a data processing system according to a particular embodiment of the invention;
[0078] [Fig.6] [Fig.6] represents, in the form of a flowchart, a particular mode of implementation of another general method implemented by the system of [Fig.5]. Said other general method includes first variants of first and second data processing methods according to the invention respectively implemented by a user terminal and a DHCP server;
[0079] [Fig.7] [Fig.7] schematically represents a communication system according to a particular embodiment of the invention;
[0080] [Fig.8] [Fig.8] represents, in the form of a flowchart, a particular mode of implementation of another general method implemented by the system of [Fig.7]. Said other general method includes first variants of first and second communication methods according to the invention respectively implemented by a client terminal and a server terminal;
[0081] [Fig.9] [Fig.9] schematically represents another communication system according to a particular embodiment of the invention;
[0082] [Fig. 10] [Fig. 10] represents, in the form of a flowchart, a particular mode of implementation of another general method implemented by the system of [Fig.9]. Said other general method includes a communication method according to the invention implemented by a (peripheral) node of the network, as well as communication methods respectively implemented by a transmitting terminal and a receiving terminal.
[0083]
[0084] Description of embodiments
[0085] The present invention is described here in the context of the configuration and operation of a NET_5G network of the 5G type, supporting network slices and designed to allow the transmission and reception of data packets. This solution is called here UMAMI (“collaborative qUic-based MAnageMent of sllced networks” in English).
[0086] This configuration and this operation of the NET_5G network according to the invention aim at an optimized management of the routing of traffic in said NET_5G network in comparison with the solutions of the state of the art, as described later.
[0087] It should be noted that the invention remains applicable to other types of networks such as for example B5G networks (“Beyond 5G” in English), but also 6G when this technology becomes available, IP / MPLS networks, etc. Generally speaking, no limitation is attached to the nature of the communication networks which can be considered within the scope of the present invention.
[0088] More particularly, the implementation of the invention as described here is carried out in four phases, which correspond to as many distinct aspects of the invention. These four phases comprise: - a first phase enabling a specific configuration of the NET_5G network to be carried out, so that a network slice is associated with a connection element and that network entities configured to participate in the routing of data packets within the network become aware of these associations; - a second phase enabling a terminal connected to the NET_5G network to be configured so that it discovers the configuration of the latter as determined during the first phase, more particularly with regard to the connection element(s) associated with the slice(s) to which the terminal is authorized to connect; - a third phase allowing two terminals, at least one of which is configured in accordance with the second phase, to establish a communication supported by the NET_5G network using connection elements among those discovered during said second phase, - a fourth phase which consists of the communication established between the said two terminals via the NET_5G network being used to enable them to exchange data.
[0089] These different phases will now be described in detail in order to illustrate modes of implementation of the invention.
[0090] It should be noted that a “network entity” herein refers generally to an entity configured to perform at least one function in the network. As such, where not explicitly stated, a “network entity” may indistinctly refer to a hardware entity (e.g., hardware equipment) or a software entity (e.g., a software application).
[0091] For the remainder of the description, and in order to simplify it, it is considered in a non-limiting manner that the NET_5G network supports a number N of slices equal to 3. The three slices concerned are respectively noted TR_5G_1, TR_5G_2, TR_5G_3, and correspond to three multi-domain slices.
[0092] However, considering multi-domain slices does not constitute a limitation of the invention. Thus, nothing precludes considering only single-domain slices, or one or more single-domain slices as well as one or more multi-domain slices.
[0093] The invention is not further limited by the fact of considering a number N of slices equal to 3. In general, the invention can be implemented for any number N greater than or equal to 1 (i.e. in other words, as soon as the NET_5G network comprises at least one network slice).
[0094] It is important to note that the description is made here by adopting the convention according to which a multi-domain slice is counted as a single slice, and not for the number of single-domain slices it comprises. This counting convention is, however, purely arbitrary, and nothing precludes adopting another convention consisting of individually counting the local slices used by a multi-domain slice.
[0095] Furthermore, no limitation is attached to the respective types of said TR_5G_1, TR_5G_2, TR_5G_3 slices. Thus, the type of a TR_5G_i slice (i being an integer index between 1 and 3) can for example be any one of: - improved mobile broadband service, - massive deployment of the Internet of Things, - ultra-reliable and low-latency communications.
[0096] More generally, the invention can be implemented independently of any limitation concerning the following aspects: number of sub-networks (domains) by multi-domain slices, number of single-domain slices of a subnetwork, nature of a subnetwork (e.g. RAN, CN or TN), techniques used for the realization of single-domain slices (e.g. IPsec tunnels, L3VPN + TE or SRv6), etc.
[0097] It is also considered for the remainder of the description that each TR_5G_i slice is associated with an identifier ID_TR_i which is specific to it. This identifier ID_TR_i corresponds for example to an identifier used by the TR_5G_i slice and carried in data packets (e.g. to be added in a field of the data packets) which are routed via said TR_5G_i slice. According to another example, said identifier ID_TR_i is distinct from an identifier used by the TR_5G_i slice to route data packets.
[0098] First phase
[0099] [Fig.2] schematically represents a system SYS_1 for configuring the NET_5G network according to a particular embodiment of the invention.
[0100] As illustrated by [Fig.2], the system SYS_1 comprises a first entity 110 and a second entity 120.
[0101] The first entity 110 is an edge node of the NET_5G network. As an edge node, it is notably configured to classify packets received from terminals connected to the NET_5G network. It may for example be an access router or an “ASBR” type router.
[0102] In the example of [Fig. 2], the edge node 110 is represented at the edge of the NET_5G network, but it will be obvious that this representation is only illustrative. Indeed, said edge node 110 may be located elsewhere in the NET_5G network, such as for example at the edge of a subnetwork belonging to one of the TR_5G_i slices (e.g. connection to a neighboring network). Generally speaking, the person skilled in the art knows the possible locations for an edge node in a communication network, so these aspects are not described further here.
[0103] Furthermore, nothing excludes considering other types of nodes to the extent that management traffic can be injected into a network slice via a router that is not necessarily located at the edge of a network. This may for example concern BFD (“Bidirectional Forwarding Detection”) traffic routed in a test slice deployed between certain routers of the network.
[0104] The second entity 120, for its part, is an address allocation server conforming to the “DHCP” protocol (“Dynamic Host Configuration Protocol” in English).
[0105] More generally, the entities 110 and 120 belong to a set of entities, hereinafter referred to as “set E” (not shown in the figures), grouping together entities of the NET_5G network configured to participate in the routing of data packets within said NET_5G network.
[0106] The fact of considering, in the present embodiment, a single edge node 110 as well as a single DHCP server is only a matter of considerations aimed at simplifying the description of the invention. Thus, nothing excludes considering several edge nodes and / or several DHCP servers.
[0107] The list of entities capable of participating in the routing of data packets within said NET_5G network is not limited to one or more edge nodes and / or one or more DHCP servers. Thus, in addition to the aforementioned entities, the set E may comprise at least one of: a network prefix allocation server, a router configured to activate a network prefix delegation function, etc.
[0108] In addition to the entities of set E, the system SYS_1 comprises a configuration device 130.
[0109] The device 130 is configured to carry out processing operations making it possible to determine a specific configuration of the NET_5G network, by implementing steps of a configuration method according to the invention. It may be, for example, an orchestration device, for example of the network orchestrator type or of the network controller type (e.g., SDN controller).
[0110] Each of the entities 110, 120 (as well as more broadly any entity belonging to the set E) is configured to carry out processing operations making it possible to learn about the specific configuration of the NET_5G network determined by the device 130, by implementing steps of a reception method according to the invention.
[0111] [Fig.3] schematically represents an example of hardware architecture of the configuration device 130 belonging to the system SYS_1 of [Fig.2].
[0112] As illustrated by [Fig. 3], the configuration device 130 has the hardware architecture of a computer. Thus, the configuration device 130 comprises, in particular, a processor 131, a random access memory 132, a read-only memory 133 and a non-volatile memory 134. It also has communication means 135.
[0113] The read-only memory 133 of the configuration device 130 constitutes a recording medium in accordance with the invention, readable by the processor 131 and on which is recorded a computer program PROG_136 in accordance with the invention, comprising instructions for executing steps of the configuration method. The program PROG_136 defines functional modules of the configuration device 130, which rely on or control the hardware elements 131 to 135 of the configuration device 130 cited above, and which are described in more detail below with reference to different modes of implementation.
[0114] The communication means 135 allow in particular the configuration device 130 to exchange data with any entity of the NET_5G network, including in particular the entities 110, 120 of the set E. For this purpose, the communication means 135 may for example comprise a computer data bus capable of transmitting said data. Alternatively, said data may be transmitted via a communication interface, wired or wireless, capable of implementing any suitable protocol known to those skilled in the art.
[0115] It is important to note that the representation of the hardware architecture of the device 130, following the example of [Fig. 3], corresponds to a generic hardware architecture of a computer. As such, all the other devices / entities / terminals described below in relation to the different phases of the invention and which implement at least one step of a method have, in the embodiment described here, a hardware architecture of the same type as that represented by [Fig. 3]. Consequently, the hardware architectures of these other devices / entities / terminals are not represented in dedicated figures.
[0116] The peripheral node 110 has the hardware architecture of a computer and comprises, in particular, a processor 111, a random access memory 112, a read only memory 113 and a non-volatile memory 114. It also has communication means 115.
[0117] The read-only memory 113 of the peripheral node 110 constitutes a recording medium in accordance with the invention, readable by the processor 111 and on which is recorded a computer program PROG_116 in accordance with the invention, comprising instructions for executing steps of the reception method. The program PROG_116 defines functional modules of the peripheral node 110, which rely on or control the hardware elements 1111 of the peripheral node 110 mentioned above, and which are described in more detail below with reference to different modes of implementation.
[0118] The communication means 115 allow in particular the peripheral node 110 to exchange data with the configuration device 130. For this purpose, the communication means 115 may for example comprise a computer data bus capable of transmitting said data. Alternatively, said data may be transmitted via a communication interface, wired or wireless, capable of implementing any suitable protocol known to those skilled in the art.
[0119] The DHCP server 120 has the hardware architecture of a computer. Thus, the DHCP server 120 comprises, in particular, a processor 121, a random access memory 122, a read only memory 123 and a non-volatile memory 124. It also has communication means 125.
[0120] The read-only memory 123 of the DHCP server 120 constitutes a recording medium in accordance with the invention, readable by the processor 121 and on which is recorded a computer program PROG_126 in accordance with the invention, comprising ins instructions for executing steps of the reception method. The program PROG_126 defines functional modules of the DHCP server 120, which rely on or control the hardware elements 121 to 125 of the DHCP server 120 cited above, and which are described in more detail below with reference to different implementation modes.
[0121] The communication means 125 allow in particular the DHCP server 120 to exchange data with the configuration device 130. For this purpose, the communication means 125 may for example comprise a computer data bus capable of transmitting said data. Alternatively, said data may be transmitted via a communication interface, wired or wireless, capable of implementing any suitable protocol known to those skilled in the art.
[0122] [Fig.4] represents, in the form of a flowchart, a particular mode of implementation of a first general method 1000 implemented by the system SYS_1. Said method 1000 encompasses the configuration method according to the invention implemented by the configuration device 130 of [Fig.3] as well as the reception methods according to the invention respectively implemented by the edge node 110 and the DHCP server 120.
[0123] As illustrated by [Fig.4], the method 1000 firstly comprises a step 1100 of generating a number M of connection elements. Said step 1100 is implemented by a generation module MOD_GEN_130 equipping the configuration device 130, and is part of the configuration method.
[0124] More particularly, in the implementation described here, the number M is equal to 3. The three connection elements are respectively denoted ELE_CX_1, ELE_CX_2, ELE_CX_3 for the remainder of the description. Each of said connection elements ELE_CX_i is configured to allow at least one connection identifier to be obtained.
[0125] It is important to note that a connection identifier obtained from an ELE_CX_i connection element constitutes additional reachability information with respect to usual reachability information such as an IP address, a default route, etc. As such, a connection identifier is intended to be used at the transport layer and / or the application layer of the OSI model ("Open System Interconnection" in English) during a communication via one or more network slices supported by the NET_5G network (the communication concerned here is a communication between two terminals intended to be carried out during the fourth phase mentioned above, and it being understood that a connection identifier is therefore not specific to a terminal, that is to say is not unique per terminal and also does not allow a remote terminal to be reached).
[0126] The connection identifiers that can be obtained from each of said Connection elements ELE_CX_1, ELE_CX_2, ELE_CX_3 are distinct from the identifiers ID_TR_1, ID_TR_2, ID_TR_3 used by slices to mark data packets that are routed via slices TR_5G_1, TR_5G_2, TR_5G_3. This difference between connection identifier and slice identifier TR_5G_i arises from the use of connection identifiers to appropriately route data packets between two terminals, as described in detail later.
[0127] No limitation is attached to the structure or size of a connection identifier. Thus, each connection identifier can be encoded on a given number of bits, for example on 64 bits. In a more particular example of implementation, a connection identifier is an identifier of type "CID" ("Connection ID" in English) used by the QUIC protocol or the DTLS protocol (see for example the information provided in RFCs 9000 and 9146 for these two protocols). These provisions can also apply with regard to connection elements.
[0128] For the purposes of the present invention, there are different possible configurations for a connection element ELE_CX_i. Thus, and according to a particular example of implementation, a connection element ELE_CX_i is a pattern configured to impose, among the sequence of bits forming a connection identifier, the value of at least one bit having a given position within said sequence of bits.
[0129] For illustrative purposes, consider that the identifiers obtainable by a connection element each correspond to a sequence of 10 bits. Consider further, as a connection element, a pattern configured to impose the values 1, 1, 0 and 1 for the bits respectively located from the second to the fifth position (considering a path of the bits going from left to right) among said sequence of 10 bits forming a connection identifier. In this way, the pattern makes it possible to obtain a plurality of connection identifiers, such as for example: 1110111111, 0110111111, etc.
[0130] No limitation is attached to the number of bits for which a pattern imposes given values, except that this number is strictly less than the total number of bits forming a connection identifier. Furthermore, no limitation is attached to the respective positions of the bits to which values are imposed in the sequence of bits forming a connection identifier.
[0131] According to another particular example of implementation, a connection element ELE_CX_i is a set comprising at least one given connection identifier. Such a set may for example be ordered (according to any known ordering relationship) or not. Furthermore, in the case where at least two connection elements correspond to sets of given connection identifiers, said at least two sets can be contiguous relative to an ordering relation used to order each of them.
[0132] It should be noted that the size (i.e. the cardinal) of a set of given connection identifiers does not constitute a limitation of the invention. Furthermore, two such sets may have identical or distinct sizes.
[0133] It follows from the above that a connection identifier is said to be “compliant” with an ELE_CX_i connection element when: - the sequence of bits forming said connection identifier includes, at the appropriate positions, the values imposed by said connection element ELE_CX_i if the latter is a pattern, or - said connection identifier is one of the identifiers listed in a set of given connection identifiers if said connection element ELE_CX_i is such a set.
[0134] Once the connection elements ELE_CX_1, ELE_CX_2, ELE_CX_3 have been generated, the method 1000 comprises a step 1200 of associating at least one connection element with each network slice TR_5G_1, TR_5G_2, TR_5G_3 according to a given association criterion. Said step 1200 is implemented by an association module MOD_ASSO_130 equipping the configuration device 130, and is part of the configuration method.
[0135] More particularly, in the embodiment described here, said association criterion consists in that a given connection element is associated with a given network slice. In other words, the association criterion establishes a bijective (one-to-one) correspondence between the connection elements ELE_CX_1, ELE_CX_2, ELE_CX_3 and the network slices TR_5G_1, TR_5G_2, TR_5G_3.
[0136] For the remainder of the description, it is considered that for an index i between 1 and 3, the connection element ELE_CX_i is associated with the slice TR_5G_i. Of course, nothing prevents us from considering other bijective associations.
[0137] Concretely, the association between connection elements ELE_CX_i and slices TR_5G_i is here carried out by filling a table TAB_1 in which the correspondences between the connection elements ELE_CX_i and the identifiers ID_TR_i respectively associated with said slices TR_5G_i are indicated. Said table TAB_1 is stored by the configuration device 130, for example in its non-volatile memory 134. In the present embodiment, the table TAB_1 also contains the correspondences between the identifiers ID_TR_i respectively associated with said slices TR_5G_i and the respective types of the latter.
[0138] The method 1000 then comprises a step 1300 of transmitting data indicating the associations between connection elements ELE_CX_i and network slices TR_5G_i to the set E of entities of the network NET_5G configured to participate in the routing of data packets within said NET_5G network. Said step 1300 is implemented by a transmission module MOD_TX_130 equipping the configuration device 130, and is part of the configuration method. Said transmission module MOD_TX_130 is more particularly integrated into the communication means 135.
[0139] In the present embodiment, and as illustrated by [Fig.4], said data transmission of step 1300 more particularly comprises a transmission of the table TAB_1 to the edge node 110 as well as to the DHCP server 120.
[0140] Subsequently, the method 1000 comprises a step 1400 of reception by the edge node 110 of said data indicating the associations between connection elements ELE_CX_i and network slices TR_5G_i (i.e. reception of the table TAB_1). Said step 1400 is implemented by a reception module MOD_RX_110 equipping the edge node 110, and is part of the reception method executed by said edge node 110. Said reception module MOD_RX_110 is more particularly integrated with the communication means 115.
[0141] Similarly, the method 1000 comprises a step 1500 of reception by the DHCP server 120 of said data indicating the associations between the connection elements ELE_CX_i and the network slices TR_5G_i (i.e. reception of the table TAB_1). Said step 1500 is implemented by a reception module MOD_RX_120 equipping the DHCP server 120, and is part of the reception method executed by said DHCP server 120. Said reception module MOD_RX_120 is more particularly integrated with the communication means 125.
[0142] Once the table TAB_1 has been received by the edge node 110 and the DHCP server 120, the latter store it in their respective non-volatile memories 114, 124.
[0143] It is important to note that the method 1000, and more particularly the configuration method, is described here by considering a bijective association between connection elements ELE_CX_i and slices TR_5G_i, which therefore implies that the numbers N and M are equal (in the present case, N = M = 3). However, it is possible to envisage still other modes of implementation in which the numbers N and M differ from each other, which therefore has an impact on the associations that can be made between connection elements ELE_CX_i and slices TR_5G_i.
[0144] Thus, and according to a first variant, the number M of connection elements may be greater than the number N of slices. In this way, one or more slices may be associated with more than one connection element. In this case, and purely for illustrative purposes, the association criterion may for example consist of browsing the first N connection elements (assuming that they are for example ordered among themselves according to a determined order relationship) to associate them respectively with N slices (also assuming that they are ordered among themselves according to a determined order relationship). Then, the remaining MN connection elements are for example associated with the first MN slices. In this way, the first MN slices are respectively associated with two connection elements, and the last N slices are respectively associated with a single connection element.
[0145] Furthermore, it should be noted that the first phase of the invention has been described up to now by considering that each slice among the N slices supported by the NET_5G network is associated with at least one connection element. However, nothing excludes the possibility of considering still other modes of implementation in which only a part of the N network slices is the subject of a configuration according to the method 1000, the remaining part of the network slices being, for example, used to route internal traffic specific to the network operator (i.e.the slices of said remaining part are not associated with connection elements). This then results in a second variant in which the number M of connection elements can be less than the number N of slices.
[0146] Second phase
[0147] [Fig. 5] schematically represents a data processing system SYS_2 according to a particular embodiment of the invention. As described below, the data processing in question consists, in particular, of carrying out communications allowing data to be exchanged between different entities.
[0148] As illustrated by [Fig.5], the system SYS_2 comprises a first terminal 210 and a second terminal 220. The system SYS_2 further comprises the configuration device 130 of [Fig.3] and the DHCP server 120.
[0149] It is important to note that the NET_5G network represented in [Fig. 5] is that resulting from the execution of the method 1000 of the first phase. In other words, as regards this second phase, the NET_5G network is configured in a specific manner, that is to say so that each slice TR_5G_i is associated with a connection element ELE_CX_i, the entities of the set E, therefore in particular the edge node 110 and the DHCP server 120, having knowledge of the associations via said table TAB_1.
[0150] It is also important to note that this second phase is independent of the third phase of establishing communications by terminals connected to the network. In other words, the triggering of the second phase is not conditioned by that of the third phase.
[0151] The first terminal 210 is a user terminal (i.e. a terminal operated by a user). It may for example be a fixed or mobile telephone, such as for example a smart mobile telephone (also called a “smartphone” in English), a digital tablet, a laptop, a personal assistant, a watch connected, an e-reader, etc. It can also be an entity of the “CPE” type (“Customer-Premises Equipment” in English). Generally speaking, no limitation is attached to the nature of the user terminal 210.
[0152] The second terminal 220, for its part, is an application server. In a known manner, the application server 220 is configured to provide one or more service functions (“Service Functions” in English, according to the terminology used by RFC 7665, or “Network Functions” such as gNB (“gNodeB”) or UPF functions (“User Plane Function”) according to the terminology used by 3GPP). The same service function can be provided by one or more service instances (“Service Function Instance” in English). A service instance can be hosted by the SSP (Slice Service Provider, or service provider based on network slices) or within another infrastructure.
[0153] It should be noted that, in the embodiment described here with reference to [Fig. 5], it is considered in a non-limiting manner that the user terminal 210 and the application server 220 are only connected to the NET_5G network. These provisions are however not limiting of the invention, and nothing excludes the user terminal 210 and / or the application server 220 from being connected to several other networks. These other networks may in particular comprise networks supporting network slices and at least some of them (or even all) may be configured in accordance with the first phase.
[0154] The fact that the user terminal 210 and the application server 220 are connected to the NET_5G network results for example from a subscription of these terminals 210, 220 to a service offer from the network operator in charge of managing said NET_5G network, so as to be able to use one or more of the network slices supported by this network.
[0155] In any event, in the present embodiment, the user terminal 210 (respectively the application server 220) is authorized (enabled) to connect to at least one slice among the slices TR_5G_1, TR_5G_2, TR_5G_3. This authorization (enablement) depends on access rights of the user terminal 210 (respectively of the application server 220) to the NET_5G network as configured when subscribing to a service offer. The slice(s) to which the user terminal 210 (respectively the application server 220) is authorized (enabled) to connect are called “authorized slice(s)”.
[0156] No limitation is attached to the number of slices to which the user terminal 210 (respectively the application server 220) is authorized to connect, this aspect being able for example to depend on the service offer subscribed to.
[0157] For the remainder of the description, it is considered in a non-limiting manner that the slices to which the user terminal 210 (respectively the server applications 220) is authorized to connect are the TR_5G_1, TR_5G_2 slices (respectively the TR_5G_2, TR_5G_3 slices).
[0158] The user terminal 210 is configured to carry out processing operations enabling it to discover the specific configuration of the NET_5G network resulting from the first phase, by implementing steps of a first variant of a first data processing method according to the invention.
[0159] More particularly, the discovery of this specific configuration of the NET_5G network by the user terminal 210 is carried out thanks to data exchanges with the DHCP server 120. Also, in addition to the configuration already described above in the context of the first phase, the DHCP server 120 is also configured to carry out said data exchanges with the user terminal 210, by implementing a first variant of a second data processing method according to the invention.
[0160] For this purpose, the user terminal 210 has the hardware architecture of a computer. Thus, the user terminal 210 comprises, in particular, a processor 211, a random access memory 212, a read only memory 213 and a non-volatile memory 214. It also has communication means 215.
[0161] The read-only memory 213 of the user terminal 210 constitutes a recording medium in accordance with the invention, readable by the processor 211 and on which is recorded a computer program PROG_216 in accordance with the invention, comprising instructions for the execution of steps of the first variant of the first data processing method. The program PROG_216 defines functional modules of the user terminal 210, which rely on or control the hardware elements 211 to 215 of the user terminal 210 cited above, and which are described in more detail below with reference to different modes of implementation.
[0162] The communication means 215 allow in particular the user terminal 210 to exchange data with entities of the NET_5G network, including in particular the DHCP server 120. For this purpose, the communication means 215 may for example comprise a computer data bus capable of transmitting said data. Alternatively, said data may be transmitted via a communication interface, wired or wireless, capable of implementing any suitable protocol known to those skilled in the art.
[0163] Furthermore, the read-only memory 123 of the DHCP server 120 stores, in addition to the computer program PROG_126, another program PROG_127 in accordance with the invention, comprising instructions for executing steps of the first variant of the second data processing method. The program PROG_127 defines functional modules of the DHCP server 120, which rely on or control the hardware elements 121 to 125 of the DHCP server 120, and which are described in more detail below with reference to different modes of implementation. In addition, the means of communication 125 allows the DHCP server 120 to exchange data with the user terminal 210 according to any technical characteristics conceivable by the person skilled in the art, such as for example those already described above.
[0164] Unless otherwise stated, the remainder of the description aims to detail modes of implementation of said first variants of the first and second data processing methods as executed respectively by the user terminal 210 and the DHCP server 120. The fact remains that the invention also aims at other variants of the first and second data processing methods, these other variants being executed respectively by the application server 220 and the configuration device 130. These aspects are detailed later.
[0165] [Fig.6] represents, in the form of a flowchart, a particular mode of implementation of a second general method 2000 implemented by the system SYS_2. Said method 2000 encompasses the first variants of the first and second data processing methods according to the invention respectively implemented by the user terminal 210 and the DHCP server 120.
[0166] As illustrated by [Fig.6], the method 2000 firstly comprises a step 2100 of transmission, from the user terminal 210 to the DHCP server 120, of a request REQ to obtain at least one connection element. Said step 2100 is implemented by a transmission module MOD_TX_210 equipping the user terminal 210, and is part of the first variant of the first data processing method. Said transmission module MOD_TX_210 is more particularly integrated into the communication means 215.
[0167] To obtain at least one connection element, and according to a first example implementation, the REQ request may comprise at least one PAR_CX parameter corresponding to a slice identifier or a slice type (e.g., enhanced mobile broadband service, massive deployment of the Internet of Things, ultra-reliable and low-latency communications) to which the terminal is authorized to connect.
[0168] In the present case, and if the PAR_CX parameter corresponds to a slice identifier to which the terminal is authorized to connect, it may be the identifier ID_TR_1 or the identifier ID_TR_2 given that the authorized slices associated with the user terminal 210 are the slices TR_5G_1, TR_5G_2.
[0169] Of course, nothing precludes considering that the request includes a plurality of parameters, each of said parameters corresponding to a slice identifier or to a type of slice to which the terminal is authorized to connect.
[0170] Furthermore, no limitation is attached as to the manner in which said at least one PAR_CX parameter is inserted into the REQ request. For example, said at least one PAR_CX parameter may be inserted into the body or header of the REQ request, for example in a specific field.
[0171] Said REQ request may for example be integrated into a request aimed at obtaining, from the DHCP server 120, an IP address or an IP prefix. In other words, said at least one PAR_CX parameter may be seen as a new DHCP option configured to be inserted into such a request for allocation of an IP address or an IP prefix.
[0172] In a second exemplary implementation, the REQ request does not include a parameter corresponding to a slice identifier or a type of slice to which the terminal is authorized to connect. In other words, in this second exemplary implementation, the REQ request is a general request to obtain at least one connection element, this general request not including any indication (information, pointer) relating to the network slices supported by the NET_5G network.
[0173] The DHCP server then receives said request REQ during a step 2200 of the method 2000. Said step 2200 is implemented by the reception module MOD_RX_120 equipping the DHCP server 120, and is part of the first variant of the second data processing method.
[0174] The method 2000 then comprises a step 2300 of transmission, from the DHCP server 120 to the user terminal 210, of a response REP_REQ to said request REQ. Said step 2200 is implemented by a transmission module MOD_TX_120 equipping the DHCP server 120, and is part of the first variant of the second data processing method.
[0175] Said REP_REQ response comprises at least one connection element associated with at least one slice of the NET_5G network. It should be noted that, following considerations similar to those described above concerning the insertion of said at least one PAR_CX parameter in the REQ request, said at least one connection element may be inserted in the body or the header of the REP_REQ response, for example in a specific field. Said REP_REQ response may optionally include connectivity information of the terminal 210 such as an IP address or an IP prefix.
[0176] More particularly, said at least one connection element inserted in the REP_REQ response depends on the content of the REQ request.
[0177] Thus, if we consider the first example of implementation according to which the request REQ comprises at least one PAR_CX parameter, the response REP_REQ then comprises at least one connection element associated with a slice itself associated with said identifier defined by said at least one PAR_CX parameter or with a slice of said type defined by said at least one PAR_CX parameter.
[0178] For illustration purposes, if the REQ request includes a PAR_CX parameter corresponding to the identifier ID_TR_1 of the TR_5G_1 slice authorized for the user terminal 210, the REP_REQ response then includes the associated ELE_CX_1 connection element to the TR_5G_1 slice thus identified by said identifier ID_TR_1. To find said connection element ELE_CX_1 according to the identifier ID_TR_1, the DHCP server 120 uses the table TAB_1 obtained following the execution of the first phase.
[0179] According to another case, if the PAR_CX parameter is a slice type, the REP_REQ response then comprises at least one connection element ELE_CX_i associated with the slice(s) TR_5G_i (i can be equal to 1 or 2 here) of said type. For illustration purposes, if the slices TR_5G_1, TR_5G_2 are both of the same type, and this type is the one designated by the PAR_CX parameter, the REP_REQ response may comprise the connection element ELE_CX_1 and / or the connection element ELE_CX_2. If, on the other hand, the slices TR_5G_1, TR_5G_2 are of distinct types, and the type designated by the PR_CX parameter is that of the slice TR_5G_1, then the REP_REQ response comprises only the connection element ELE_CX_1. To find an ELE_CX_i connection element based on a slice type, the DHCP server 120 uses the TAB_1 table obtained following the execution of the first phase.
[0180] Alternatively, if we now consider the second implementation example according to which the REQ request does not include a parameter corresponding to a slice identifier or to a type of slice to which the terminal 210 is authorized to connect, the REP_REQ response then includes at least one connection element associated with at least one slice to which the user terminal 210 is authorized to connect.
[0181] Said at least one connection element may for example correspond to the set of connection elements ELE_CX_1, ELE_CX_2 associated with the slices to which the user terminal 210 is authorized to connect.
[0182] Alternatively, said at least one connection element can be selected by the DHCP server 120 according to a given selection criterion.
[0183] As a non-limiting example, said selection criterion consists of a random selection between the connection elements ELE_CX_1, ELE_CX_2. According to another example, the selection criterion may depend on a more specific access rights policy defined at the DHCP server 120. Generally speaking, no limitation is attached to the way in which the selection criterion is defined.
[0184] It should be noted that if the REQ request comprises several parameters including at least one parameter corresponding to an identifier of a slice, as well as at least one parameter corresponding to a type of slice, it is possible to envisage different rules for determining the content of the REP_REQ response. For example, a rule may consist in the REP_REQ response comprising all possible connection elements (i.e. the connection elements associated with said identifier and / or associated with said type). According to another example, a rule may consist in a connection element contained in the REP_REQ response conforms to both said identifier and said type.
[0185] The method 2000 finally comprises a step 2400 of receiving, from the user terminal 210 and coming from the DHCP server 120, the REP_REQ response. Said step 2400 is implemented by a reception module MOD_RX_210 equipping the user terminal 210, and is part of the first variant of the first data processing method. Said reception module MOD_RX_210 is more particularly integrated into the communication means 215.
[0186] The content of the REP_REQ response is stored in the non-volatile memory 214 of the user telephone 210, for example in the form of a table TAB_210. Said table TAB_210 therefore lists connection elements associated with network slices. The connection elements contained in this table TAB_210 can therefore be shared with software applications hosted by the user terminal 210, so that the latter can transmit data on the NET_5G network with connection identifiers conforming to the connection elements of the table TAB_210, as described in detail later. The sharing of these connection elements with the software applications is carried out for example using an application programming interface (API) of a type known per se.
[0187] It should be noted that, according to still other embodiments, the response REP_REQ to the request REQ may comprise, in addition to one or more connection elements, an identifier of the NET_5G network. These provisions are advantageous insofar as the user terminal 210 has the possibility of being connected to other networks, including in particular other networks supporting network slices. Therefore, the fact of including such an identifier of the NET_5G network allows the user terminal 210 to correctly associate the connection elements received with the appropriate network slices.
[0188] The user terminal 210 can for example maintain the single table TAB_210, the latter then comprising an entry making it possible to discriminate, using network identifiers, the networks to which said user terminal 210 can connect. Alternatively, the user terminal 210 can maintain several tables, for example a table for each network to which it can connect.
[0189] The method 2000 has been described so far by considering that the user terminal 210 exchanges data with the DHCP server 120 to obtain connection elements associated with slices supported by the NET_5G network. However, nothing excludes considering that the method 2000 is implemented on the basis of data exchanges between the user terminal 210 and another entity of the network belonging to the set E.
[0190] Furthermore, and as mentioned above, the invention also covers second variants of said first and second data processing methods, these second variants being respectively executed by the application server 220 and an orchestration device configured to manage service functions within said at least one network (e.g. a network orchestrator or an SDN controller), this role being played here by the configuration device 130.
[0191] The application server 220 has the hardware architecture of a computer. Thus, the application server 220 comprises, in particular, a processor 221, a random access memory 222, a read only memory 223 and a non-volatile memory 224. It also has communication means 225.
[0192] The read-only memory 223 of the application server 220 constitutes a recording medium in accordance with the invention, readable by the processor 211 and on which is recorded a computer program PROG_226 in accordance with the invention, comprising instructions for the execution of steps of the second variant of the first data processing method. The program PROG_226 defines functional modules of the application server 220, which rely on or control the hardware elements 221 to 225 of the application server 220 cited above, and which are described in more detail below with reference to different modes of implementation.
[0193] The communication means 225 allow in particular the application server 220 to exchange data with the configuration device 130. For this purpose, the communication means 225 may for example comprise a computer data bus capable of transmitting said data. Alternatively, said data may be transmitted via a communication interface, wired or wireless, capable of implementing any suitable protocol known to those skilled in the art.
[0194] Furthermore, and as illustrated in [Fig. 3], the read-only memory 133 of the configuration device 130 stores, in addition to the computer program PROG_136, another program PROG_137 in accordance with the invention, comprising instructions for executing steps of the second variant of the second data processing method. The program PROG_137 defines functional modules of the configuration device 130, which rely on or control the hardware elements 131 to 135 of the configuration device 130. These functional modules are also illustrated in [Fig. 3] in a non-limiting manner, and are described in more detail below with reference to different modes of implementation. In addition, the communication means 135 allow the configuration device 130 to exchange data with the application server 220 according to any technical characteristics conceivable by the person skilled in the art, such as for example those already described above.
[0195] It is therefore possible to define a third general method 3000 (not illustrated by the figures) implemented by the system SYS_2. Said method 3000 encompasses the second variants of the first and second data processing methods according to the invention respectively implemented by the application server 220 and the configuration device 130 of [Fig.3].
[0196] The implementation of the method 3000 is similar to that of the method 2000 except that the application server 220 (respectively the configuration device 130) here plays the role of the user terminal 210 (respectively the DHCP server 120). Consequently, the method 3000 comprises: - a transmission step 3100 and a reception step 3400 respectively similar to steps 2100 and 2400. Said steps 3100 and 3400 are respectively implemented by a transmission module MOD_TX_220 and a reception module MOD_RX_220 equipping the application server 220, and are part of the second variant of the first data processing method; - a reception step 3200 and a transmission step 3300 respectively similar to steps 2200 and 2300. Said steps 3200 and 3200 are respectively implemented by a reception module MOD_RX_130 and the transmission module MOD_TX_130 equipping the configuration device 130, and are part of the second variant of the second data processing method.
[0197] It should be noted that insofar as the application server 220 here exchanges data with the configuration device 130, the request REQ transmitted during step 3100 is not a request aimed at obtaining an IP address as was the case in the example of the method 2000. In the context of the method 3000, said request REQ is for example a request to subscribe to a service making it possible to use one or more of the network slices supported by the NET_5G network.
[0198] Generally speaking, all the technical characteristics described above in the context of the method 2000 and which are compatible with the implementation of the method 3000 still apply in the context of the latter. In particular, the content of the response REP_REQ is stored in the non-volatile memory 224 of the application server 220, for example in the form of a table TAB_220 comprising one or more connection elements.
[0199] Third phase
[0200] [Fig.7] schematically represents a SYS_3 communication system according to a particular embodiment of the invention.
[0201]
[0202] It is important to note that the NET_5G network shown in [Fig.7] is that resulting from the execution of the method 1000 of the first phase. In other words, with regard to this third phase, the NET_5G network is configured in a specific manner, that is to say so that each slice TR_5G_i is associated with a connection element ELE_CX_i.
[0203] As illustrated by [Fig.7], the system SYS_3 comprises a first terminal 310 and a second terminal 320.
[0204] More particularly, it is assumed here that the terminal 310 plays the role of client and that the terminal 320 plays the role of server in the context of a communication intended to be established between the latter. This communication has the objective of allowing the client terminal 310 to exploit, in the context of a service offer subscribed to by the user of said client terminal 310, a given application function (for example: exploitation of an augmented or virtual reality function) provided by the server terminal 320.
[0205] For the remainder of the description, and purely for illustrative purposes, it is considered that the slice of the NET_5G network allowing said application function to be used are the slices TR_5G_1 and TR_5G_2. More particularly, the slice TR_5G_1 (respectively the slice TR_5G_2) is associated with the management of video aspects (respectively voice aspects) of said application function.
[0206] It is further considered that the client terminal 310 has been the subject of an execution of the method 2000 of the second phase. In other words, the client terminal 310 has stored a table TAB_310 comprising connection elements relating to one or more slices supported by the NET_5G network. It is assumed more particularly that: - at the end of the execution of the method 2000 of the second phase, the client terminal 310 has received the connection elements ELE_CX_1, ELE_CX_2, ELE_CX_3, and - at the start of said third phase, the client terminal 310 is connected to the slices TR_5G_1, TR_5G_2, TR_5G_3. For these reasons, said slices TR_5G_1, TR_5G_2, TR_5G_3 are hereinafter referred to as “active” slices.
[0207] It is important to note, however, that the invention is not limited by the fact that the active slices correspond to all the slices for which the client terminal 310 has connection elements. Thus, said active slices to which the client terminal 310 is connected during the third phase may correspond to a subset of the slices for which the client terminal 310 has connection elements. The fact that the client terminal 310 is connected to a particular slice at the start of the third phase depends, for example, on options to which a client, a user of the terminal 310, has subscribed as part of a service offer.
[0208] As regards the server terminal 320, and to the extent that it is configured to provide said application function, it is in possession of the connection elements ELE_CX_1, ELE_CX_2 respectively associated with the slices TR_5G_1, TR_5G_2. It should be noted that the server terminal 320 can be connected directly to the NET_5G network or be connected directly to a network other than said NET_5G network while of course being reachable via said NET_5G network.
[0209] It should be noted that the provisions according to which the client terminal 310 was the subject of an execution of the method 2000 of the second phase are not limiting of the invention. Indeed, nothing excludes the possibility that the client terminal 310 acquired the connection elements ELE_CX_1, ELE_CX_2, ELE_CX_3 in another way. For example, the latter may have been written in a memory of the client terminal 310 during its manufacture. Following similar considerations, no limitation is attached to the manner in which the server terminal 320 acquires the connection elements ELE_CX_1, ELE_CX_2.
[0210] For the remainder of the description, and to the extent that the client terminal 310 and the terminal 320 are both in possession of connection elements, said terminals are referred to as “candidate” terminals. As detailed below, this terminology refers to the fact that each of said terminals 310, 320 is a potential candidate to be designated as a terminal capable of imposing on the other terminal the use of certain connection elements which are in its possession to communicate via the NET_5G network. In any event, the invention is not limited by the fact that the client terminal 310 and the server terminal 320 are both candidate terminals, as described later through alternative implementation modes.
[0211] The client terminal 310 (respectively the server terminal 320) is configured to carry out processing operations making it possible to establish with the server terminal 320 (respectively with the client terminal 310) a communication supported by one or more of the active slices TR_5G_1, TR_5G_2 and TR_5G_3, by implementing a first variant of a first communication method according to the invention (respectively a first variant of a second communication method according to the invention).
[0212] For this purpose, the client terminal 310 has the hardware architecture of a computer. The client terminal 310 comprises, in particular, a processor 311, a random access memory 312, a read only memory 313 and a non-volatile memory 314. It also has communication means 315.
[0213] The read-only memory 313 of the client terminal 310 constitutes a recording medium in accordance with the invention, readable by the processor 311 and on which is recorded: - a computer program PROG_316 in accordance with the invention, comprising instructions for executing steps of the first variant of the first data processing method (given that it is assumed here that the client terminal 310 has been the subject of an execution of the method 2000 of the second phase), - a computer program PROG_317 in accordance with the invention, comprising instructions for executing steps of the first variant of the first communication method.
[0214] The program PROG_317 defines functional modules of the client terminal 310, which rely on or control the hardware elements 311 to 315 of the client terminal 310 cited previously, and which are described in more detail below with reference to different modes of implementation.
[0215] The communication means 315 allow in particular the client terminal 310 to exchange data with the server terminal 320. For this purpose, the communication means 315 may for example comprise a computer data bus capable of transmitting said data. Alternatively, said data may be transmitted via a communication interface, wired or wireless, capable of implementing any suitable protocol known to those skilled in the art.
[0216] By way of non-limiting example, the exchanges between the first terminal 310 and the second terminal 320, as described below, are based on the QUIC protocol. These exchanges include in particular the sending and receiving of data that can be encapsulated in existing QUIC frames or new frames defined specifically for the needs of implementing the invention.
[0217] The server terminal 320 also has the hardware architecture of a computer. Thus, the user terminal 320 comprises, in particular, a processor 321, a random access memory 322, a read only memory 323 and a non-volatile memory 324. It also has communication means 325.
[0218] The read-only memory 323 of the server terminal 320 constitutes a recording medium in accordance with the invention, readable by the processor 321 and on which is recorded a computer program PROG_327 in accordance with the invention, comprising instructions for the execution of steps of the first variant of the second communication method.
[0219] The program PROG_327 defines functional modules of the server terminal 320, which rely on or control the hardware elements 321 to 325 of the user terminal 320 cited previously, and which are described in more detail below with reference to different modes of implementation.
[0220] The communication means 325 allow in particular the server terminal 320 to exchange data with the client terminal 310 according to characteristics similar to those described above for the communication means 315 of the client terminal 310.
[0221] [Fig.8] represents, in the form of a flowchart, a particular mode of implementation of a fourth general method 4000 implemented by the system SYS_3. Said method 4000 encompasses the first variants of the first and second communication methods according to the invention respectively implemented by the client terminal 310 and the server terminal 320.
[0222] The method 4000 firstly comprises a transmission step 4050, on the part of the client terminal 310 to the server terminal 320, of a data item DATA_INFO_310 configured to inform the server terminal 320 that the client terminal 310 is able to communicate by exploiting at least one of the network slices supported by the NET_5G network. Said step 4050 is implemented by the transmission module MOD_TX_310 equipping the client terminal 310, and is part of the first variant of the first communication method.
[0223] It should be noted that said data DATA_INFO_310 has the sole purpose of informing the server terminal 320 that the client terminal 310 has the possibility of communicating via one or more slices supported by the NET_5G network, and as such does not include connection elements.
[0224] No limitation is attached to the manner in which said data DATA_INFO_310 is transmitted to the server terminal 320. For example, said data DATA_INFO_310 may be encapsulated in a frame, for example a control frame or a data frame.
[0225] Furthermore, the nature of said data DATA_INFO_310 is also not a limitation of the invention, the latter being able to be a numerical parameter or predetermined text representative of the fact that the client terminal 310 supports communication via network slices.
[0226] The server terminal 320 then receives said data DATA_INFO_310 during a step 4100 of the method 4000. Said step 4100 is implemented by the reception module MOD_RX_320 equipping the server terminal 320, and is part of the first variant of the second communication method.
[0227] The method 4000 then comprises a step 4150 of transmission, from the server terminal 320 to the client terminal 310, of data DATA_INFO_320 indicating that the server terminal 320 is also capable of communicating by exploiting at least one of the network slices supported by the NET_5G network. Said step 4150 is implemented by the transmission module MOD_TX_320 equipping the server terminal 320, and is part of the first variant of the second communication method.
[0228] The client terminal 310 then receives said data DATA_INFO_320 during a step 4200 of the method 4000. Said step 4200 is implemented by the reception module MOD_RX_310 equipping the client terminal 310, and is part of the first variant of the first communication method.
[0229] It should be noted that the execution of said steps 4050 and 4100 is optional within the meaning of the present invention. Indeed, nothing excludes the possibility that the terminals 310, 320 may have acquired knowledge of their respective capacities to communicate via one or more slices supported by the NET_5G network before the method 4000 is executed.
[0230] The method 4000 further comprises a step 4250 of obtaining, by the client terminal 310, a DATA_PRIMARY data item designating a terminal, called “primary terminal”, from among the terminal 310 and the server terminal 320 which are, as mentioned above, both candidate terminals.
[0231] The role of “primary terminal” played by a terminal indicates that it is this terminal which is designated to impose on the other terminal the connection elements to be used to generate connection identifiers intended to be used during exchanges between said two terminals via slices supported by the NET_5G network, as described below.
[0232] In the present embodiment, said obtaining of step 4250 corresponds more particularly to the generation, by the client terminal 310, of said data DATA_PRIMARY. Consequently, said step 4250 is implemented by a first generation module MOD_GEN_310 equipping the client terminal 310, and is part of the first variant of the first communication method.
[0233] Once generated, the data DATA_PRIMARY is transmitted by the client terminal 310 to the server terminal 320 during a step 4300 of the method 4000. Said step 4300 is implemented by the transmission module MOD_TX_310 equipping the client terminal 310, and is part of the first variant of the first communication method.
[0234] No limitation is attached to the manner in which said DATA_PRIMARY data is transmitted to the server terminal 320. For example, said DATA_PRIMARY data may be encapsulated in a frame, for example a control frame or a data frame. Furthermore, the nature of said DATA_PRIMARY data is also not a limitation of the invention, the latter being able to be a numerical parameter or predetermined text representative of the fact that one of the two terminals 310, 320 is designated as the primary terminal.
[0235] For example, if the DATA_PRIMARY data is the value “0x01” (respectively the value “0x02”), this means that it is the server terminal 320 (respectively the client terminal 310) which is designated as the master terminal.
[0236] The server terminal 320 then receives said data DATA_PRIMARY during a step 4350 of the method 4000. Said step 4350 is implemented by the reception module MOD_RX_320 equipping the server terminal 320, and is part of the first variant of the second communication method.
[0237] It should be noted that if it is described here that the DATA_PRIMARY data is generated by the client terminal 310 then transmitted to the server terminal 320, nothing excludes the possibility that it is the server terminal 320 which generates the DATA_PRIMARY data and transmits it to the client terminal 310.
[0238] Generally speaking, the designation of the primary terminal can be carried out by according to a given designation criterion. Since the client terminal 310 and the server terminal 320 are both candidate terminals in the present embodiment, this designation criterion may for example correspond to a rule (e.g. a rule imposed by a service policy) consisting of imposing that the primary terminal is systematically the client terminal 310 or the server terminal 320. Thus, even if one of said candidate terminals declares that it wishes to play the role of the primary terminal, the result of the designation may ultimately depend on the application of such a rule so that this declaration remains without effect and it is the other candidate terminal which is finally designated as the primary terminal.
[0239] Furthermore, although it is described in the present embodiment that the DATA_PRIMARY data is generated and transmitted after the DATA_INFO_310, DATA_INFO_320 data have been exchanged between the terminals 310, 320, nothing precludes considering that said DATA_PRIMARY data is transmitted jointly with one of said DATA_INFO_210, DATA_INFO_320 data. For example, said data may be included in respective fields of the same message. Even more specifically, if such a message is used to transmit said data, and if the field dedicated to the DATA_PRIMARY data is empty, this may for example mean that a given terminal among the terminals 310, 320 is automatically designated as the primary terminal. This automatic designation is for example the result of a rule linked to a service policy.
[0240] The first alternatives of said first and second communication methods aim more particularly at the server terminal 320 being designated as the master terminal. In other words, it is the server terminal 320 which is designated to impose on the client terminal 310 the use of connection identifiers conforming to certain connection elements.
[0241] Therefore, the method 4000 comprises a step 4400 of transmission, from the client terminal 310 to the server terminal 320, of a list L_ACTIV comprising identifiers and / or types of the active slices (the type of the slice can also be designated by an identifier) to which said client terminal 310 is connected. Said step 4400 is implemented by the transmission module MOD_TX_310 equipping the client terminal 310, and is part of the first variant of the first communication method.
[0242] No limitation is attached to the manner in which said L_ACTIV list is transmitted to the server terminal 320. For example, the L_ACTIV list may be encapsulated in a frame, for example a control frame or a data frame.
[0243] In the present mode of implementation, and with regard to the elements described above, the list L_ACTIV includes the identifiers ID_TR_1, ID_TR_2 and ID_TR_3.
[0244] In practice, the transmission of this L_ACTIV list aims to explicitly inform the server terminal 320 of the capabilities of the client terminal 310 to communicate via one or more slices supported by the NET_5G network.
[0245] The server terminal 320 then receives the list L_ACTIV during a step 4450 of the method 4000. Once received, the list L_ACTIV is stored by the server terminal 320. Said step 4450 is implemented by the reception module MOD_RX_320 equipping the server terminal 320, and is part of the first variant of the second communication method.
[0246] Then, the method 4000 comprises, for the server terminal 320, a step 4500 of selecting at least one connection element from among the connection elements that it possesses. Said step 4500 is implemented by a selection module MOD_SELECT_320 equipping the server terminal 320, and is part of the first variant of the second communication method.
[0247] Said selection is made from among the connection elements ELE_CX_1, ELE_CX_2 that the server terminal 320 has and which are associated with at least one of the active slices TR_5G_1, TR_5G_2, TR_5G_3 identified in the list L_ACTIV that it received during step 4450.
[0248] In the present embodiment, it is considered in a non-limiting manner that the server terminal 320 selects the two connection elements ELE_CX_1, ELE_CX_2.
[0249] Then, the method 4000 comprises, for the server terminal 320, a step 4550 of obtaining at least one connection identifier using said connection elements ELE_CX_1, ELE_CX_2 selected during step 4500. Said step 4550 is implemented by an obtaining module MOD_OBT_320 equipping the server terminal 320, and is part of the first variant of the second communication method.
[0250] For the remainder of the description, it is considered in a non-limiting manner that the connection element ELE_CX_1 is a pattern, and that the connection element ELE_CX_2 is a set of given connection identifiers. It is further considered that the server terminal 320 obtains a connection identifier ID_CX_1_320 using the connection element ELE_CX_1 (respectively a connection identifier ID_CX_2_320 using the connection element ELE_CX_2).
[0251] In the present embodiment, and in accordance with what has been described previously in relation to the first phase: - obtaining said connection identifier ID_CX_l_320 includes generating said connection identifier ID_CX_l_320 so that it complies with the pattern corresponding to the connection element ELE_CX_1, - obtaining said connection identifier ID_CX_2_320 involves a selection of said connection identifier ID_CX_2_320 among said set corresponding to the connection element ELE_CX_2.
[0252] It is important to note, however, that obtaining a connection identifier conforming to a connection element does not necessarily result from a generation (case of a pattern) or a selection (case of a set of given connection identifiers). Indeed, nothing excludes the server terminal 320 from already being in possession of a connection identifier associated with one of the connection elements ELE_CX_1, ELE_CX_2. This may result, for example, from a previous implementation of the invention, or from a recording in a memory of the server terminal 320 during its manufacture.
[0253] The connection identifiers ID_CX_1_320, ID_CX_2_320 thus constructed are intended to be used for all or part of the traffic sent by the server terminal 320 and which is authorized to be routed via the slices TR_5G_1, TR_5G_2 associated with the connection elements ELE_CX_1, ELE_CX_2.
[0254] It should be noted that, in the present case, two slices (i.e. slices TR_5G_1 and TR_5G_2) can be requested for the same communication (due to the selection of the connection elements ELE_CX_1, ELE_CX_2 by the server terminal 320). However, in its greatest generality, the invention does not exclude being able to envisage a different number of slices requested, this number being able to be greater or less than 2 (e.g. in step 4500, the server terminal 320 can select the single connection element ELE_CX_1 or ELE_CX_2). This number typically depends on the application function that one wishes to exploit.
[0255] For example, a QUIC connection may comprise a plurality of "streams". Therefore, an application function based on the use of different media (e.g., video, audio, text) may associate different streams for each of these media. Thus, the messages of the same communication established via a network supporting network slices may be routed via several slices, each of which is optimized for a specific use.
[0256] Additionally or alternatively, the number of requested slices may also depend on a service optimization logic. For example, if two slices are configured for the delivery of specific content (e.g., video) as part of an application function, rules may be established to determine to what extent a particular slice should be requested.
[0257] Furthermore, the invention also covers configurations according to which several connection identifiers can be used for the same slice during the lifetime of the same communication, these different identifiers being used each in turn.
[0258] The method 4000 also comprises a step 4600 of transmission, from the server terminal 320 to the client terminal 310, of the connection elements ELE_CX_1, ELE_CX_2 selected by the server terminal 320 during step 4500. Said step 4600 is implemented by the transmission module MOD_TX_320 equipping the server terminal 320, and is part of the first variant of the second communication method.
[0259] It should be noted that in addition to the connection elements ELE_CX_1, ELE_CX_2, the server terminal 320 can transmit other data to the client terminal 310 during step 4600. For example, specific slice identifiers can also be transmitted, in particular in implementation modes where several “streams” as mentioned above are used at the same time.
[0260] The client terminal 310 then receives the connection elements ELE_CX_1, ELE_CX_2 during a step 4650 of the method 4000. Said step 4650 is implemented by the reception module MOD_RX_310 equipping the client terminal 310, and is part of the first variant of the first communication method.
[0261] In a similar manner to what has been described above for the server terminal 320, the method 4000 comprises, for the client terminal 310, a step 4700 of obtaining at least one connection identifier using said connection elements ELE_CX_1, ELE_CX_2 (since these are the connection elements selected, and therefore imposed, by the server terminal to communicate so as to exploit said application function). Said step 4700 is implemented by an obtaining module MOD_OBT_310 equipping the client terminal 310, and is part of the first variant of the first communication method.
[0262] For the remainder of the description, it is considered in a non-limiting manner that the client terminal 310 obtains a connection identifier ID_CX_1_310 using the connection element ELE_CX_1 (respectively a connection identifier ID_CX_2_310 using the connection element ELE_CX_2).
[0263] Ultimately, at the end of the third phase, the terminals 310, 320 are able to communicate with each other using the active slices TR_5G_1, TR_5G_2, associated with the application function. This is made possible by the connection identifiers ID_CX_1_310, ID_CX_2_310 and ID_CX_1_320, ID_CX_2_320 respectively obtained by the client terminal 310 and the server terminal 320. These identifiers can in fact be inserted into data packets that the terminals 310, 320 wish to exchange via the appropriate slices, the management of the traffic of such data packets being implemented by the edge nodes of the NET_5G network, including in particular the edge node 110, as detailed later.
[0264] In addition to the first variants of said first and second communication methods described above, the invention also covers other variants of said first and second communication methods.
[0265] Thus, according to another variant, the client terminal 310 and the server terminal 320 are both candidate terminals. However, unlike what has been described for the method 4000, it is the client terminal 310 which is designated as the primary terminal. In other words, it is the client terminal 310 which imposes on the server terminal 320 the connection element(s) to be used to generate one or more connection identifiers intended to be used during exchanges between said two terminals via slices supported by the NET_5G network. It is noted that in this other variant, and because the client terminal 310 is the primary terminal, it does not need to transmit to the server terminal 320 the list of active slices to which said client terminal 310 is connected. In other words, the client terminal 310 transmits to the server terminal 320 at least one connection element from among the connection elements that it has in its possession.More particularly, to the extent that the client terminal 310 wishes to use said application function, it transmits to the server terminal the connection element ELE_CX_1 and / or the connection element ELE_CX_2. Once the transmission has been carried out, each of said terminals 310, 320 obtains one or more connection identifiers on the basis of the connection elements which have been transmitted, in accordance with provisions similar to those described above in the context of the method 4000.
[0266] Furthermore, according to yet another variant, only one of the terminals among the client terminal 310 and the server terminal 320 can be a candidate terminal (i.e. only one of said terminals 310, 320 is in possession of connection elements when the third phase is initialized). Therefore, this candidate terminal is the one designated as being the primary terminal. The data relating to this designation is for example generated by the candidate terminal. However, nothing excludes it from being generated by the other terminal which is not a candidate.
[0267] Fourth phase
[0268] [Fig.9] schematically represents a SYS_4 communication system according to a particular embodiment of the invention.
[0269] It is important to note that the NET_5G network shown in [Fig.9] is that resulting from the execution of the method 1000 of the first phase. In other words, with regard to this fourth phase, the NET_5G network is configured in a specific manner, that is to say so that each slice TR_5G_i is associated with a connection element ELE_CX_i.
[0270] As illustrated by [Fig.9], the system SYS_4 comprises the client terminal 310 and the server terminal 320 whose respective configurations result from the execution of the method 4000 of the third phase. In other words, the client terminal 310 (respectively the server terminal 320) is in possession of the connection identifiers ID_CX_l_310, ID_CX_2_310 (respectively the connection identifiers ID_CX_l_320, ID_CX_2_320).
[0271] Although it is assumed here that the respective configurations of the client terminal 310 and the server terminal 320 result from the execution of the method 4000 of the third phase, nothing of course excludes assuming that these configurations result from any other alternative implementation of the third phase, as described previously.
[0272] It should be noted that the provisions according to which the client terminal 310 and the server terminal 320 have been the subject of an execution of a method in accordance with the third phase are not limiting of the invention. Indeed, nothing excludes the possibility that the client terminal 310 (respectively the server terminal 320) has acquired one or more connection identifiers in another way. For example, this or these connection identifiers may have been written in a memory of the client terminal 310 (respectively of the server terminal 320) during its manufacture.
[0273] The system SYS_4 further comprises the peripheral node 110 which has knowledge of the associations between connection elements ELE_CX_i and the slices TR_5G_i via the table TAB_1 due to the execution of the method 1000 of the first phase.
[0274] As mentioned above, the fourth phase relates to an exchange of useful data between said two terminals. More particularly, the two terminals 310, 320 communicate with each other by exchanging data packets, these data packets transiting via one or more network slices supported by the NET_5G network as part of the operation of the application function attached to the service offer subscribed to by the user of said client terminal 310. This exchange therefore takes place after the two terminals have established said communication between them so as to obtain their connection identifiers, in accordance with what has been described above in the context of the third phase.
[0275] In order for said fourth phase to be implemented, the read-only memory 113 of the edge node 110 stores, in addition to the computer program PROG_116, another program PROG_117 in accordance with the invention, comprising instructions for executing steps of a third communication method according to the invention. The program PROG_117 defines functional modules of the edge node 110, which rely on or control the hardware elements 111 to 115 of the edge node 110, and which are described in more detail below with reference to different modes of implementation. In addition, the communication means 115 allow the edge node 110 to exchange data with the terminals 310, 320 according to any technical characteristics conceivable by the person skilled in the art, such as for example those already described above.
[0276] [Fig. 10] represents, in the form of a flowchart, a particular mode of implementation of a fifth general method 5000 implemented by the system SYS_4. Said method 5000 includes the third communication method according to the invention implemented by the peripheral node 110, as well as communication methods respectively implemented by the terminals 310, 320 and the execution of which therefore takes place after the first and second communication methods described in the context of the third phase have themselves been executed.
[0277] The method 5000 firstly comprises a step 5100 of transmission, by the server terminal 320, of a data packet P_DATA_320 to the client terminal 310. Said step 5100 is implemented by the transmission module MOD_TX_320 equipping the server terminal 320, and is part of the communication method implemented by the server terminal 320 within the framework of the fourth phase.
[0278] For the remainder of the description, it is considered in a non-limiting manner that the data packet P_DATA_320 includes the identifier ID_CX_1_320 obtained by the server terminal 320 during the third phase (and therefore generated by means of the connection element ELE_CX_1 during the third phase). Of course, nothing excludes the possibility that it is the other identifier ID_CX_2_320 which is inserted into the data packet P_DATA_320.
[0279] Furthermore, it is noted that, in the present implementation, it is the server terminal 320 which transmits a data packet to the client terminal 310. For this reason, the server terminal 320 (respectively the client terminal 310) can still be described as a “transmitter terminal” (respectively a “receiver terminal”). These provisions are however not limiting of the invention, and nothing of course excludes the possibility of it being the client terminal 310 which transmits a data packet to the server terminal 320 (in which case the roles of “transmitter terminal” and “receiver terminal” are of course reversed).
[0280] The edge node 110 receives the data packet P_DATA_320 during a step 5200 of the method 5000. Said step 5200 is implemented by the reception module MOD_RX_110 equipping the edge node 110, and is part of the third communication method.
[0281] The method 5000 then comprises a step 5300 of evaluation, by the edge node 110, of a conformity criterion CRIT_CONF. Said step 5300 is implemented by an evaluation module MOD_EVAL_110 equipping the edge node 110, and is part of the third communication method.
[0282] The evaluation of said conformity criterion CRIT_CONF is a step making it possible to determine to what extent such or such slice of the NET_5G network will be used to route the data packet P_DATA_320 to the client terminal 310, as detailed later.
[0283] The conformity criterion CRIT_CONF is evaluated based on at least the connection identifier ID_CX_l_320 contained in the data packet P_DATA_320. More particularly, in the present embodiment, the data packet P_DATA_320 also includes a connection identifier associated with the client terminal 310. For illustration purposes, and for the remainder of the description, it is considered that the data packet P_DATA_320 also includes the connection identifier ID_CX_2_310.
[0284] The fact that the data packet P_DATA_320 comprises two connection identifiers respectively associated with the terminals 310, 320 may for example result from a procedure for exchanging connection identifiers having been implemented prior to the method 5000.
[0285] Furthermore, in the present embodiment, the evaluation of the conformity criterion CRIT_CONF comprises a comparison of the values of each first bit belonging respectively to the identifiers ID_CX_1_320 and ID_CX_2_310 contained in the data packet P_DATA_320. It is then considered that the conformity criterion CRIT_CONF is satisfied if the values of said first bits are identical.
[0286] For example, suppose that the connection identifier ID_CX_l_320 (respectively the connection identifier ID_CX_2_310) consists of the following sequence of bits: 1110111111 (respectively 1110100001). The conformity criterion is therefore satisfied (same first bit equal to 1). On the other hand, if for example the connection identifier ID_CX_2_310 consists of the following sequence: 0110100001, the conformity criterion CRIT_CONF is not satisfied.
[0287] It should be noted that considering a comparison of the values of each first bit belonging respectively to the identifiers ID_CX_1_320 and ID_CX_2_310 does not constitute a limitation of the invention. In particular, nothing excludes comparing several bits belonging to each of these identifiers and / or comparing bits occupying other positions within the sequence of bits forming said identifiers.
[0288] Once the evaluation of the conformity criterion CRIT_CONF has been carried out, the data packet P_DATA_320 can be routed to the client terminal 310 using a slice of the NET_5G network, the identity of said slice being dependent on the result of the evaluation step 5300.
[0289] For the remainder of the description, it is considered in a non-limiting manner that the conformity criterion CRIT_CONF is satisfied.
[0290] We also take up here the elements introduced by way of example during the description of the third phase and according to which the client terminal 310 is connected to the slices TR_5G_1, TR_5G_2, TR_5G_3 which are thus qualified as “active” slices, and that the slices actually associated with the application function intended to be used are the slices TR_5G_1 and TR_5G_2.
[0291] The method 5000 then comprises a step 5400 of determination, by the peripheral node 110, of the connection element, called “useful connection element”, associated with the connection identifier ID_CX_l_320 associated with the transmitting terminal (i.e. the terminal server 320) contained in the data packet P_DATA_320. Said step 5400 is implemented by a determination module MOD_DET_110 equipping the edge node 110, and is part of the third communication method.
[0292] As a reminder, said identifier ID_CX_l_320 was generated from the connection element ELE_CX_1 which corresponds, in the present embodiment, to a pattern. For example, said pattern may correspond to a plurality of consecutive bits within the sequence of bits forming the connection identifier ID_CX_l_320. By way of illustration, taking the previous example in which the connection identifier ID_CX_l_320 consists of the following sequence of bits: 1110111111, said pattern may correspond to the four bits consecutive to the first bit of said sequence (i.e. the pattern corresponds to the sequence of bits 1101).
[0293] Of course, considering four consecutive bits is not limiting of the invention. More generally, the edge node 110 is configured to identify the connection element associated with the connection identifier of the sending terminal contained in the data packet regardless of whether said connection element is a pattern or a set of given identifiers. This is possible due to the execution of the first phase, and more particularly the implementation of the reception method by said node 110.
[0294] Subsequently, and to the extent that the slice TR_5G_1 associated with the connection element ELE_CX_1 is an active slice, the method 5000 then comprises a step 5500 of routing, by the edge node 110, the data packet P_DATA_320 to the client terminal 310 using said slice TR_5G_1. Said step 5500 is implemented by a transmission module MOD_TX_110 equipping the edge node 110, and is part of the third communication method.
[0295] Finally, the client terminal 310 receives the data packet P_DATA_320 during a step 5600 of the method 5000. Said step 5600 is implemented by the reception module MOD_RX_310 equipping the client terminal 310, and is part of the communication method implemented by the client terminal 310 within the framework of the fourth phase.
[0296] It should be noted that the method 5000 is not limited by the fact that the conformity criterion CRIT_CONF is satisfied and that the slice associated with the connection element determined from the identifier contained in the data packet as well as associated with the transmitting terminal is an active slice.
[0297] Thus, if the CRIT_CONF conformance criterion is satisfied and the slice in question is not an active slice, the routing of the data packet can be carried out using a slice designated by default (e.g., the TR_5G_3 slice is designated to be used by default).
[0298] Similarly, if the conformance criterion CRIT_CONF is not satisfied (e.g. example because the values of the first bits of the identifiers contained in the data packet differ), the routing of the data packet can be achieved using a slice designated as default (e.g., the TR_5G_3 slice is designated to be used by default). Alternatively, the routing of the data packet can be achieved without using any of the network slices.
[0299] Furthermore, the method 5000 is also not limited by the fact of evaluating a conformity criterion between connection identifiers. For example, it may be envisaged to directly determine (i.e. without carrying out a conformity test) the connection element associated with one of the identifiers contained in the data packet, then subsequently to route the data packet according to provisions similar to those described above, namely to use the slot associated with said connection element if said slot is active or else to use a default slot otherwise. Proceeding in this way makes it possible to ensure that the routing of the traffic systematically relies on a connection element obtained by the sending terminal or the receiving terminal, which corresponds to the establishment of a criterion of trust towards the latter.
Claims
Claims
1. Method for configuring a network supporting N network slices, N being an integer greater than or equal to 1, said method comprising steps of: - generation (1100) of M connection elements, M being an integer greater than or equal to 1, each connection element being configured to allow obtaining at least one connection identifier intended to be used at a transport and / or application layer during communication via one or more network slices, - association (1200) of at least one connection element with at least one network slice according to a given association criterion, - transmission (1300) of data indicating the associations between connection elements and network slices to a set E of network entities configured to participate in the routing of data packets within the network.
2. Method according to claim 1, in which at least one connection element is a pattern configured to impose, among the sequence of bits forming a connection identifier, the value of at least one bit having a given position within said sequence of bits.
3. Method according to any one of claims 1 to 2, in which the set E of entities comprises at least one of: - a network address allocation server, - a network prefix allocation server, - a router configured to activate a network prefix delegation function, - a network edge node, such as for example an access router or an ASBR router.
4. A method according to any one of claims 1 to 3, wherein a connection element or identifier is a Connection ID ("CID") type identifier used by the QUIC protocol or the DTLS protocol.
5. A reception method implemented by an entity of a network supporting network slices and configured in accordance with a method according to any one of claims 1 to 4, said reception method comprising a step of receiving (1500) said data indicating the associations between connection elements and network slices.
6. Data processing method implemented by: - a terminal connected to at least one network supporting network slices and configured in accordance with a method according to any one of claims 1 to 4, or - equipment of said at least one network supporting network slices, said data processing method comprising, if implemented by said terminal, steps of: - transmission (2100), to said entity, of a request to obtain at least one connection element, - reception (2400), from said entity, of a response to said request, said response comprising at least one connection element associated with at least one network slice supported by the network, or said data processing method comprising, if implemented by said entity, steps of: - reception (2200), from said terminal, of a request to obtain at least one connection element,- transmission (2300) to said terminal of a response to said request, said response comprising at least one connection element associated with at least one network slice supported by the network.,
7. Method according to claim 6, in which the obtaining request comprises at least one parameter corresponding to a slice identifier or to a type of slice to which the terminal is authorized to connect, the response to the request comprising at least one connection element associated with a slice itself associated with said identifier or with a slice of said type.
8. Method according to any one of claims 6 to 7, in which, in the absence in the request to obtain a parameter corresponding to a slice identifier or to a type of slice to which the terminal is authorized to connect, the response to the request comprises at least one connection element associated with at least one slice to which the terminal is authorized to connect.
9. Communication method implemented by a first terminal, called "client terminal", to exchange data with a second terminal, called "server terminal", the client terminal being connected to a network supporting network slices and configured in accordance with a method according to any one of claims 1 to 4, and at least one terminal, called "candidate terminal", among said client terminal and said server terminal being in possession of at least one connection element of said network, said method comprising steps of: - obtaining (4250) data designating a terminal, called "primary terminal", among said at least one candidate terminal, - if the client terminal is the primary terminal: • transmission, to the server terminal, of at least one connection element, called “first connection element”, among said at least one connection element that said client terminal has, • obtaining at least one connection identifier using said at least one first connection element, said at least one connection identifier being intended to be used at a transport and / or application layer during communication via one or more network slices, - if the server terminal is the primary terminal: • reception (4650), from the server terminal, of at least one connection element, called “second connection element”, among said at least one connection element that said server terminal has, • obtaining (4700) at least one connection identifier using said at least one second connection element, said at least one connection identifier being intended to be used at a transport and / or application layer during communication via one or more network slices.
10. Communication method implemented by a second terminal, called "server terminal", to exchange data with a first terminal, called "client terminal", the client terminal being connected to a network supporting network slices and configured in accordance with a method according to any one of claims 1 to 4, and at least one terminal, called "candidate terminal", among said client terminal and said server terminal being in possession of at least one connection element of said network, said method comprising steps of: - obtaining (4350) data designating a terminal, called "terminal primary”, among said at least one candidate terminal, - if the client terminal is the primary terminal: • reception, from the client terminal, of at least one connection element, called “first connection element”, among said at least one connection element that said client terminal has, • obtaining at least one connection identifier using said at least one first connection element, said at least one connection identifier being intended to be used at the level of a transport and / or application layer during communication via one or more network slices, - if the second terminal is the primary terminal: • transmission (4600), to the client terminal, of at least one connection element, called “second connection element”, among said at least one connection element that said server terminal has, • obtaining (4550) at least one connection identifier using said at least one second connection element,said at least one connection identifier being intended to be used at a transport and / or application layer during communication via one or more network slices.,
11. Method according to any one of claims 9 to 10, in which: - if the client terminal or the server terminal is the only candidate terminal, said candidate terminal is designated as being the primary terminal, or - if the client terminal and the server terminal are both candidate terminals, the data designating the primary terminal is generated by one of said two candidate terminals according to a given designation criterion.
12. Method according to any one of claims 9 to 11, wherein obtaining at least one connection identifier using at least one connection element comprises: - if said at least one connection element comprises a pattern, generating at least one connection identifier in accordance with said pattern, and / or - if said at least one connection element comprises a set of given connection identifiers, a selection of at least one connection identifier from said set.
13. Method according to any one of claims 9 to 12, in which the client terminal is connected to a set of network slices supported by the network, called "active slices", and: - if the client terminal is the primary terminal, said at least one first connection element is associated with one or more active slices, or - if the server terminal is the primary terminal, a list comprising identifiers and / or types of said active slices is transmitted by the client terminal to the server terminal, said at least one second connection element being selected by the server terminal from said at least one connection element that it possesses and so as to be associated with at least one active slice.
14. Communication method implemented by a node of a network supporting network slices and configured in accordance with a method according to any one of claims 1 to 4, said node belonging to said set E, said communication method comprising steps of: - receiving (5200) a data packet from a terminal, called "transmitter terminal", said data packet being intended for another terminal, called "receiver terminal", and comprising at least one connection identifier intended to be used at the level of a transport and / or application layer during a communication via one or more network slices, - routing (5500) the data packet to the receiver terminal according to said at least one connection identifier.
15. Method according to claim 14, in which the data packet comprises a connection identifier associated with the transmitting terminal and another connection identifier associated with the receiving terminal, said method also comprising steps of: - evaluating a conformity criterion as a function of said connection identifiers contained in the data packet, and - if the conformity criterion is satisfied: determination of the connection element, called “useful connection element”, associated with one of said identifiers connection contained in the data packet, • routing of the data packet to the receiving terminal using a network slice determined according to said useful connection element, - if the conformity criterion is not satisfied, routing of the data packet to the receiving terminal using a network slice designated by default or without using a network slice supported by the network.
16. Method according to claim 15, in which the evaluation of the conformity criterion comprises a comparison of the values of at least two bits belonging respectively to the connection identifiers of the transmitting terminal and of the receiving terminal contained in the data packet, each of said bits having a given position within the sequence of bits forming the connection identifier to which it belongs, said conformity criterion being satisfied if said values are identical.
17. Method according to any one of claims 15 to 16, in which the receiving terminal is connected to a set of network slices supported by the network, called "active slices", and in which: - if the conformity criterion is satisfied and if the slice associated with said useful connection element is an active slice, the data packet is routed using said network slice associated with said useful connection element, - if the conformity criterion is satisfied and if the slice associated with said useful connection element is not an active slice, the data packet is routed using a network slice designated by default.
18. Method according to claim 14, in which the receiving terminal is connected to a set of network slices supported by the network, called "active slices", said method comprising a step of determining the connection element, called "useful connection element", associated with a connection identifier among said at least one connection identifier contained in the data packet, and: - if the slice associated with said useful connection element is an active slice, the data packet is routed using said network slice associated with said useful connection element, - if the slice associated with said useful connection element is not an active slice, the data packet is routed using a designated default network slice.
19. Configuration device (130) comprising means configured to implement a configuration method according to any one of claims 1 to 4.
20. Entity (110, 120) of a network supporting network slices comprising means configured to implement: - a reception method according to claim 5, and - a data processing method according to any one of claims 6 to 8.
21. Terminal (210, 310, 320) comprising means configured to implement: - a data processing method according to any one of claims 6 to 8, as well as: - a communication method according to claim 9 or according to any one of claims 11 to 13 at least combined with claim 9, or - a communication method according to claim 10 or according to any one of claims 11 to 13 at least combined with claim 10.
22. A node (110) of a network supporting network slices and comprising means configured to implement a communication method according to any one of claims 14 to 18.
Citation Information
Patent Citations
Procede d'acces simultane a des reseaux de communication par paquets par un terminal utilisateur
FR3022722A1
Stateful network slice selection using slice selector as connection termination proxy
US20200275358A1