Method for transmitting a data stream in a communication network, method for processing a data stream, method for controlling the processing of a data stream, and corresponding device, terminal, execution entity, control entity, system and computer program - Patents.com
By inserting priority indicators into data streams and managing network slices dynamically, the method addresses the static prioritization issue in 5G networks, enabling adaptive and efficient routing of data streams based on customer needs and network resources.
Patent Information
- Application Number
- JP2024534357
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-12-08
- Filing Date
- 2022-12-05
- Publication Date
- 2025-01-15
AI Technical Summary
The existing network slicing mechanisms in 5G networks are static and cannot dynamically adjust routing priorities between different data streams from the same customer application, failing to adapt to the specific needs of customers who require varying priority levels based on their operational conditions.
A method and device for inserting a priority indicator into data streams to dynamically manage routing within network slices, allowing customers to assign desired priority levels to different types of application streams, and a system for processing and controlling data streams based on available network resources and priority indicators.
Enables dynamic prioritization of data streams according to customer needs, optimizing resource utilization and ensuring timely delivery of critical data, even in resource-constrained scenarios.
Smart Images

Figure 2025500797000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention is in the field of telecommunications, in particular in the field of communication networks structured in network slices.
[0002] In particular, the present invention relates to the transmission, processing and control of data streams routed in such network slices.
[0003] The invention applies in particular, but not exclusively, to mobile telecommunications networks, the architecture of which complies with the 3GPP (Third Generation Partnership Project) standards in their 5G version or in future versions. [Background technology]
[0004] The digitalization of industrial processes contributes to diversifying the nature of the data passing through operators' networks. For example, the Internet of Things (IoT) allows the realization of new services such as predictive maintenance with the aim of improving operational efficiency. These new services, although not necessarily in real time, are becoming increasingly important for customers.
[0005] For example, an "augmented technician" business application is known, which allows a technician to visualize various data to enrich the context of an operation scene, for example the history of operations performed on a selected industrial part, or the treatment process of a selected industrial part. The technician can also benefit from voice assistance by a remote expert. A "digital twin" business application is also known, which allows to manipulate the information measured by the connected sensors, which is to be fed back to the customer's information system to build a virtual representation of the execution environment of these sensors. This business application also allows a user in the vicinity of these sensors to benefit from voice assistance by a remote expert in case of a failure or when one or more of these sensors need to be reconfigured. Each of these applications described by way of example generally requires different kinds of data streams, which are not necessarily real-time, but which are becoming increasingly important for both customers and service providers.
[0006] Apart from IoT, other examples of non-real-time services are emerging, such as business application updates, entertainment and gaming applications for the consumer market, or mapping for the connected car sector.
[0007] The network slicing technology, especially introduced in the 5G specifications, is promising for the realization of dedicated networks and differentiated routing of application data, in particular to support IoT services with different requirements in terms of bit rate, availability or energy consumption. A network slice is a software-defined network, whose operation is specifically configured to meet the needs of a customer and / or terminal and / or application, as well as to realize new services in particular. This technology therefore makes it possible to meet the specific needs of the operator's various customers, in particular by reserving one or more slices of its communication network for each of these customers. According to the 3GPP 5G standard, a network slice is composed of physical and / or virtual network functions PNF / VNFs, which are interconnected and may belong to the access and / or core parts of the communication network. Thus, a composition of network slices serves a specific functional purpose and, once instantiated, is used to support a specific communication service for a specialized "vertical" customer (e.g., a company, a service offering, etc.) by providing a given quality of service guarantee. Each network slice may have its own architecture, its own FCAPS (Fault-management, Configuration, Accounting, Performance, and Security) operations, and its own security for a particular use case.
[0008] The state of the art in network slice specifications allows to select a network slice for a given customer application according to a mechanism implemented by URSP (short for "User Equipment Route Selection Policies") rules defined in the [3GPP TS 24.526] and [3GPP TS 23.503] specifications. In order to route a data stream from a given customer application to a corresponding network slice, several attributes are considered, namely: - Application identifier "Application ID", FQDN (Fully Qualified Domain Name), triplet "IP address, port number, protocol ID", DNN (Data Network Name) may be used.
[0009] For example, as shown in Figure 1, the technician extension application API_TA: - Stream type STR_1, which is Voice over IP or VoIP data, - Stream type STR_2, which is video streaming data; - Enriched data stream type STR_3 It implements three different types of data streams, including:
[0010] As another example, the digital twin application API_JM: - Stream type 'STR_1', which is Voice over IP or VoIP data, - Stream type 'STR_2' which is sensor data It implements two different kinds of streams, including
[0011] However, the routing mechanism according to the URSP rules is static in nature. It cannot be used to dynamically configure or control the routing priority between one data stream and another data stream from the same customer application whose data streams are routed in a particular network slice. However, it is understood that the customer would like to be able to dynamically associate different priorities to these different streams, such that STR_1 type streams are processed and routed in real time with high priority, STR_2 type streams are routed with standard priority, and STR_3 type data streams are routed with low priority.
[0012] Also known is a quality of service control policy based on the 5QI specification defined by 3GPP in the [3GPP TS 23.501 - section 5.7.3.1] specification and applied to data packets processed by a communication network conforming to the 3GPP standard. According to this specification, the routing of data packets in a network slice is determined according to several criteria, namely: - a resource type criterion specifying whether the bit rate must be guaranteed; - a priority level criterion specifying the priority level of the packet; - a packet delay budget criterion that specifies the allowed end-to-end transmission delay (including the wireless segment and the network core segment); - a packet error rate criterion specifying the rate of errors in packet transmission; - an averaging window criterion that specifies how long packets are kept in memory at the network user plane device; - Maximum data burst volume criteria characterizing the nature of the data volume must be satisfied.
[0013] The data packet priority criteria of indicator 5QI is configured to have approximately 20 fixed values associated with standardized packet types, for example conversational voice packets or conversational video packets. [Prior art documents] [Non-patent literature]
[0014] [Non-Patent Document 1] [3GPP TS 24.526] Specifications [Non-Patent Document 2] [3GPP TS 23.503] Specifications [Non-Patent Document 3] [3GPP TS 23.501 - Section 5.7.3.1] Specifications [Non-Patent Document 4] ETSI TS 123 501 Standard, September 2018 [Non-Patent Document 5] 3GPP TS 23.501 Specification [Non-Patent Document 6] ETSI GR NFV-EVE 012 document, December 2017 [Non-Patent Document 7] 3GPP TS 23.502 “4.16.12.2 UE Policy Association Modification initiated by the PCF” procedure [Non-Patent Document 8] TS23.501 specification (Section 5.8.2.11 "Parameters for N4 session management") Summary of the Invention [Problem to be solved by the invention]
[0015] A drawback of this mechanism for prioritizing data packets in a network slice is that it does not allow adaptation to the specific needs of customers who want to dynamically define their own priority levels for their own types of data streams according to the intended application and possibly change their respective priority levels according to actual conditions (e.g. nominal or alarm).
[0016] The present invention improves this situation. [Means for solving the problem]
[0017] The present invention relates to a method for transmitting a data stream received from a software application running on a terminal device in a communication network connected to the terminal device and divided into a number of network slices, the method being implemented in the terminal device and comprising: - selecting one network slice from said plurality of network slices according to information comprised at least in a header of a data stream; - obtaining a type of said stream, said type belonging to a group including at least one stream of a first type and one stream of a second type; - inserting into the data stream priority indicators associated with a type of stream, the priority indicators belonging to a group comprising at least one first indicator associated with a stream of a first type and one second indicator associated with a stream of a second type, the first priority indicator and the second priority indicator having different values; - transmitting a data stream including a priority indicator in the selected network slice; This need is met by proposing a method, characterized in that it comprises:
[0018] The present invention is based on a completely new and inventive approach, which consists in inserting a priority indicator into the data streams sent by a customer's application and eligible to be routed through a given network slice. This priority indicator is for example inserted into the header or into the useful part (i.e. the payload part) of the data stream. The priority indicator is intended to be detected by one or more network entities responsible for handling the routing of the data streams in the network slice and to be used to decide how to handle the data stream according to the available network resources and in particular whether the data stream can be routed by the selected network slice. Thus, with the present invention it is possible to prioritize the data streams sent by a software application running on a terminal device in a specific network slice. This network slice may or may not be dedicated to the software application. If the software application is a customer's software application, the network slice may be dedicated to this application or to several applications of this customer, or even in general to all streams sent by this customer. As a result, the present invention allows the customer to assign a desired priority level to each of the types of application streams implemented in the customer's software application. A software application here refers to, for example, a business application associated with a customer, which includes different streams (voice, data, streaming, management, etc.) that require different priorities according to its needs.
[0019] If a software application is configured to execute a specific service of an operator, such as a "Voice over IP" service, a targeted network slice can be reserved for routing the Voice over IP application streams transmitted by this software application, regardless of the terminal device or the customer using this terminal device. In this case, the operator advantageously configures different types of Voice over IP streams, for example according to the service quality level that each customer has access to in terms of the subscription that the customer has contracted. In this case, the software application is for example a VoIP type application, and a priority is associated, for example, to customers with different contracts of the Voice over IP software application and therefore different priorities. Thus, various parameters in the header of the data stream, among them an identifier of the software application, such as an identifier of the protocol used (for example the RTP (Real Time Protocol) protocol), the sender's IP address, or even the recipient's IP address, can be used separately or in combination.
[0020] Finally, a network slice may be configured by an operator to group together data streams transmitted by software applications of several distinct customers that have common requirements, for example in terms of availability or data stream separation. In this case, the operator may define several types of data streams and associated priority indicator values in a way that is common for all customers sharing the network slice.
[0021] Another advantage of the present invention is that it allows the selection of the network slice to be used for a data stream at the terminal device and not at the device of the communication network itself. Thus, the load is transferred from the network to the terminal. Moreover, this selection is easier to implement and better meets scalability constraints, since the terminal device only has to manage its own data streams. In fact, thanks to the implementation of the network slice on the terminal, it is possible to associate the data streams of the terminal with separate slices. This is more difficult to implement when the network slice is instantiated on a device of the operator network, where the streams are more numerous and may be encrypted, making it impossible to use header data. Moreover, the network slice architecture also provides better stream separation capabilities than virtual private networks, especially, since the customer who owns the terminal can manage the slices himself, which is not possible in the case of instantiation on the network device, as may be the case when implementing a virtual private network (VPN).
[0022] According to one aspect of the invention, the method comprises: - receiving in advance at least one rule for routing a data stream transmitted by said software application, said rule including at least one identifier of said software application, said type of stream, said priority indicator associated with said type of stream, and an identifier of a network slice; - storing said at least one routing rule in a memory; - applying said at least one routing rule when performing said selecting and said inserting. Further includes:
[0023] Advantageously, this prioritization of the data streams transmitted by the software applications is performed by pre-installing rules that define the network slice to be used as well as the value of the priority indicator to be inserted in the data stream.
[0024] For example, in the 5G architecture, the network slice is identified by the S-NSSAI parameter. Note that the 5G mobile access network maintains the context of the network slice that the terminal previously registered with and does not need to insert this information field into the header of the data stream.
[0025] If the software application is a customer application, the customer may define its own stream types and the priority indicator values that the customer associates with each of those stream types. If the software application performs an operator's service, such as a voice over IP service, the operator defines the types of data streams, e.g., per customer or subscription level type, and associates priority indicator values with the data stream types.
[0026] According to another aspect of the invention, the method further includes a step of obtaining an operating mode of the software application, the operating mode belonging to a group including at least a first operating mode and a second operating mode, and the at least one routing rule is associated with the operating mode.
[0027] One advantage is that the rules for prioritizing data streams relative to one another can be changed according to the current operating mode of the application.
[0028] For example, when the software application is a customer's software application, these operation modes are predefined by the customer and include at least a first "nominal" mode and a second "alarm" mode, with specific rules for processing the data stream being associated with each of these modes. The operation modes can further include a third mode of "Prioritised Reporting" type, which, unlike the alarm mode, is scheduled or even frequent over a given time slot. Such operation modes can advantageously be implemented in all industries for operational performance monitoring.
[0029] For example, for a "digital twin" application, a data stream of "sensor data" is associated with a minimum to average value of a priority indicator in a "nominal" operating mode, but with a maximum value of the priority indicator in an "alarm" operating mode. Indeed, this sensor data is useful for managing a crisis and must be received in real time with maximum priority in the "alarm" mode.
[0030] Thus, it should be understood that a current operating mode, for example corresponding to a nominal situation, may be predefined in the user terminal that applies the routing rules associated with this operating mode, but may be changed over time by notifications from customer entities connected to the network. Upon receiving a notification of an operating mode change, for example switching to an alert type operating mode, the user terminal applies the routing rules associated with this new operating mode to future data streams transmitted by the software application in the network slice.
[0031] The invention also relates to a device for transmitting a data stream by a software application running on a terminal device in a communication network connected to the terminal device and divided into a number of network slices, the device comprising: - selecting one network slice from the plurality of network slices according to information comprised at least in a header of a data stream; - obtaining a type of said stream, said type belonging to a group including at least one stream of a first type and one stream of a second type; - inserting into the data stream a priority indicator associated with a type of stream, the priority indicator belonging to a group including at least one first indicator associated with a stream of a first type and a second indicator associated with a stream of a second type, the first priority indicator and the second priority indicator having different values; - transmitting a data stream including the priority indicator in a selected network slice; The present invention is configured to perform the following steps.
[0032] Advantageously, said device is adapted to carry out the steps of the transmission method as described above.
[0033] Advantageously, said device is integrated in a terminal equipment connected to a communications network, such as a user terminal or a connected object.
[0034] Advantageously, said terminal device is included in a system for controlling data streams routed in a communications network.
[0035] The system, the terminal equipment and the transmitting device have at least the same advantages as those provided by the transmitting method described above.
[0036] Correspondingly, the invention also relates to a method for processing a data stream in a communication network divided into a number of network slices, said data stream being received in one of said network slices from a software application running on a terminal device connected to said network, said method being implemented by an executing entity of the network, - detecting a priority indicator of said stream in said data stream; - assessing the level of available resources in the network slice; - performing at least one action for processing the data stream according to at least said priority indicator and a level of available network resources in the network slice, said processing action belonging to a group comprising at least one first action for passing the data stream in the network slice when the level of available resources is sufficient for routing the data stream according to the priority indicator, and a second action for blocking the data stream in the network slice, intended to be performed when the level of available network resources is insufficient; Includes.
[0037] The invention is based on a completely new and inventive approach for processing a data stream received from a customer application by an execution entity of a communication network, which consists in detecting a priority indicator of this stream in its header and using the priority indicator to decide whether this stream can be routed to its destination in a network slice or whether it has to be rejected according to the level of available resources compared with the level of resources required to route the data stream and the priority level associated with the data stream.
[0038] Of course, the invention is not limited to these two pass and block actions just described. Other actions can be determined, especially when the level of resources is evaluated as insufficient for routing a data stream under conditions associated with a priority level. For example, other possible actions would be to postpone the routing of the data stream to let other data streams with higher priority pass, to clip the stream before transmitting it so that it requires fewer resources, to slow down or speed up the routing of the data stream by allocating fewer or more resources to the data stream according to its priority level, etc.
[0039] According to one aspect of the invention, the method includes the steps of pre-obtaining at least one rule for processing a data stream received from the software application, the rule including the priority indicator of the data stream, the network slice identifier, and the at least one action for processing the stream, and extracting a processing action from the rule.
[0040] To determine the action to be taken, the node device applies processing rules that it has previously received and stored. One advantage is that the node device can process the incoming data stream without delay. This embodiment is suitable for implementing simple rules.
[0041] According to another aspect of the invention, when a processing rule for processing the data stream has not been previously obtained, the method further comprises the step of notifying a control entity of the network of the priority indicator and receiving from the control entity the at least one processing action to be performed.
[0042] According to at least one other embodiment of the invention, the execution entities do not have rules at the execution entity level for processing the data streams they receive from customer applications. The basic rule they apply is to inform the control entity, which responds on a case-by-case basis with processing actions to be performed. This embodiment is suitable for implementing more complex rules. The intelligence of the network is centralized in one or more control entities.
[0043] According to yet another aspect of the invention, the execution entity is configured to manage a network slice and at least one other network slice of said communication network, and when the processing action is a second action for blocking a data stream in the network slice, the method further comprises, before executing the second processing action: - evaluating the level of resources in other network slices; - determining at least one third processing action, called an action for forwarding the data stream to another network slice, according to said level of resources and a priority indicator; Includes.
[0044] One advantage is that it gives some data streams, e.g., a highest priority data stream, an additional opportunity to be routed in the communication network when the network slice in which the data stream resides is resource-starved and when there is another network slice that has a sufficient level of available resources to route the data stream under conditions corresponding to its associated priority level.
[0045] The invention also relates to a device for processing a data stream in a communication network divided into a number of network slices, the data stream being received in one of the network slices from a software application running on a terminal device (UE, IoT) connected to the network, the device comprising: - detecting a priority indicator of said stream in said data stream; - assessing the level of resources available in the network slice; and - executing at least one action for processing the data stream according to at least said priority indicator and a level of available network resources in the network slice, said processing action belonging to a group comprising at least one first action for passing the data stream in the network slice when the level of available resources is sufficient, and a second action for blocking the data stream in the network slice, which is intended to be executed when the level of available network resources is insufficient; The present invention is configured to perform the following steps.
[0046] Advantageously, said device is configured to carry out the steps of the processing method as described above.
[0047] Advantageously, said device is integrated into an executive entity of a communications network, for example included in the user plane of this network.
[0048] Advantageously, said execution entity is comprised in a system for controlling data streams routed in a communications network.
[0049] The system, the execution entity and the processing device have at least the same advantages as those provided by the processing method described above.
[0050] Correspondingly, the invention also relates to a method for controlling the processing of a data stream in a communication network divided into a number of network slices, said data stream being transmitted by a terminal device in a network slice of said number of network slices and received by an execution entity of said network, said method being implemented by a control entity of said network, said control entity being adapted to control the execution of a policy for processing data streams routed in said network, said method comprising the steps of: - receiving, from an execution entity, notification of a priority indicator associated with said received data stream; - obtaining a level of available resources in a network slice; - determining at least one action for processing said stream according to at least the received priority indicator and a level of available resources, said processing action belonging to a group comprising at least one first action for passing a data stream in said network slice, intended to be executed when the level of available network resources is sufficient, and a second action for blocking a data stream in said network slice, intended to be executed when the level of available network resources is insufficient; - sending a response to the execution entity, the response including the processing action; Includes.
[0051] According to one embodiment of the invention, the control entity, when notified by the execution entity, applies to itself the rules for processing the data streams received by the execution entity from the customer's software applications and sends the processing actions to be performed to this execution entity. In this way, the control entity controls the processing of all data streams sent by customer applications in the network slice, and the decision intelligence is centralized in the control plane.
[0052] According to one aspect of the invention, when the determined processing action is an action for blocking the data stream in a network slice and when an execution entity is configured to manage another network slice of the plurality of network slices, the method comprises, before sending a second processing action to the execution entity: - obtaining a level of resources available in another network slice; - determining at least one third processing action, called an action for forwarding the data stream to another network slice, according to said level of resources and a priority indicator; Includes.
[0053] Advantageously, a fallback mode is implemented for the highest priority data streams that cannot be routed in the initially planned network slice: if another network slice to which the customer is entitled has sufficient network resources to route the data stream under the conditions of that priority level, the control entity may decide to transfer the data stream to another network slice to which the customer application is entitled.
[0054] The invention also relates to a device for controlling the processing of a data stream in a communication network divided into a number of network slices, said data stream being transmitted by a terminal device in a network slice of said number of network slices and being received by an execution entity of said network, said device comprising: a control entity of said network, said control entity being configured to control the execution of a policy for processing data streams routed in said network, said control entity comprising: - receiving, from an execution entity, a notification of a priority indicator associated with the received data stream; - obtaining a level of resources available in a network slice; and - determining at least one action for processing the stream according to at least the received priority indicator and a level of available resources, the processing action belonging to a group comprising at least one first action for passing the data stream in the network slice, intended to be executed when a level of available network resources is sufficient for routing the data stream according to the priority indicator, and a second action for blocking the data stream in the network slice, intended to be executed when a level of available network resources is insufficient; - sending a response to the execution entity, the response including the processing action; The present invention is configured to perform the following steps.
[0055] Advantageously, said device is configured to carry out the steps of the control method as described above.
[0056] Advantageously, said device is integrated into a control entity of a communications network, for example included in the control plane of this network.
[0057] Advantageously, said control entity is comprised in a system for controlling data streams routed in a communications network.
[0058] The system, the control entity and the control device have at least the same advantages as those provided by the control method described above.
[0059] Alternatively, the invention finally relates to a system for controlling a data stream routed in a communication network, comprising a transmitting device as described above, a processing device as described above and a control device as described above.
[0060] Advantageously, the control system according to the invention also comprises a rules management entity configured to define rules for routing, processing and controlling data streams transmitted by software applications in the network slice and to transmit these rules to the transmitting device, the processing device and the control device according to the invention.
[0061] The invention also relates to a computer program product comprising program code instructions for, when executed by a processor, implementing the transmitting method, the processing method and the control method, respectively, as previously described.
[0062] The program may use any programming language and may be in the form of source code, object code, or an intermediate code between source code and object code, such as in a partially compiled form or in any other desired form.
[0063] The invention also relates to at least one computer-readable storage medium having stored thereon a computer program comprising program code instructions for performing the steps of the method according to the invention as described above.
[0064] Such a storage medium may be any entity or device capable of storing a program. For example, the medium may include 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 mobile medium (memory card) or a hard disk or an SSD.
[0065] On the other hand, such a storage medium may be a transmissible medium, such as an electrical or optical signal, which may be conveyed via electrical or optical cables, by radio or by other means, so that the computer program contained therein can be executed remotely. The program according to the invention may in particular be downloaded over a network, for example the Internet network.
[0066] Alternatively, the one or more storage media may be one or more integrated circuits in which the program is embedded, the circuitry being adapted to perform or be used in the performance of the above-mentioned methods.
[0067] According to one embodiment, the technique is implemented using software and / or hardware components. In this context, the term "module" may be used in this document to refer to a software component, a hardware component, or a combination of hardware and software components.
[0068] A software component is any element of a program or software capable of implementing one or more computer programs, one or more subroutines of a program, or more generally a function or set of functions, as described below for the modules concerned. Such a software component is executed by a data processor of a physical entity (terminal, server, gateway, set-top box, router, etc.) and is capable of accessing the hardware resources (memory, recording media, communication buses, electronic input / output cards, user interfaces, etc.) of this physical entity. In the following, a resource is understood to be any set of hardware and / or software elements that support a function or a service, whether individually or in combination.
[0069] In the same way, a hardware component is any element of a hardware assembly capable of implementing a function or set of functions as described below for the associated module. A hardware component may be a programmable hardware component or a component having an embedded processor for executing software, such as an integrated circuit, a smart card, a memory card, an electronic card for executing firmware, etc.
[0070] Of course, each component of the system described above implements its own software module.
[0071] The various embodiments described above may be combined with each other to realize the present technique.
[0072] Other objects, features and advantages of the present invention will appear more clearly on reading the following description, given herein as an illustrative and non-limiting example with reference to the drawings in which: [Brief description of the drawings]
[0073] [Figure 1] FIG. 2 shows a schematic example of the types of data streams implemented in a customer application and intended to be routed in a slice of a communication network; [Diagram 2] FIG. 1 diagrammatically illustrates an example of an architecture of a system for controlling data streams transmitted in a communication network according to one embodiment of the invention. [Diagram 3] FIG. 2 illustrates, in the form of a flow chart, the steps of a method for transmitting a data stream in a slice of a communication network according to one embodiment of the invention. [Figure 4] FIG. 2 illustrates, in the form of a flow chart, the steps of a method for processing a data stream transmitted in a slice of a communication network according to one embodiment of the invention. [Figure 4A] FIG. 2 details the acquisition of actions for processing a data stream according to a first embodiment of the present invention. [Figure 4B] FIG. 11 details the acquisition of actions for processing a data stream according to a second embodiment of the present invention. [Diagram 5] FIG. 2 illustrates, in the form of a flow chart, the steps of a method for controlling the processing of a data stream transmitted in a slice of a communication network according to one embodiment of the invention. [Figure 6] FIG. 2 illustrates diagrammatically the processing of a data stream to be transmitted in a network slice by an executing entity of a user plane of a communication network according to one embodiment of the invention. [Figure 7] FIG. 1 diagrammatically illustrates an example of an architecture of a communication network comprising a number of execution entities configured to handle the routing of a data stream transmitted by a terminal device in at least one slice of the communication network according to one embodiment of the present invention, a number of control entities configured to control the processing of this stream by the execution entities, and a number of management entities configured to transmit processing and control rules to said number of entities. [Figure 8] FIG. 2 illustrates an example of the hardware structure of a device for transmitting a data stream in a slice of a communication network according to the present invention. [Figure 9] FIG. 2 illustrates an example of the hardware structure of a device for processing a data stream transmitted in a slice of a communication network according to the present invention. [Figure 10] FIG. 2 illustrates an example of the hardware structure of a device for controlling the processing of a data stream in a slice of a communication network according to the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0074] The present invention relates to a communication network structured in a number of network slices. The general principle of the invention is based on inserting a priority indicator into a data stream transmitted by a software application running on a terminal device connected to the communication network before being transmitted in the communication network of this operator, and using this indicator to handle the routing of this data stream in a specific network slice of the communication network. This network slice may be dedicated to a customer, to enable the customer to route a data stream generated by one or more of the customer's own software applications or business applications, or on the contrary, may be shared between several customers of the operator, to route data streams originating from different software applications of these customers, or may be dedicated to the execution of a specific service of the operator, such as a Voice over IP service.
[0075] In a communication network, the priority indicator is detected by an execution entity of the user plane of an operator's network and used to determine whether a data stream can be routed in this network slice according to the level of resources available in this network slice at this execution entity and the resource requirements corresponding to this priority level.
[0076] Advantageously, the value of the priority indicator associated with each type of data stream transmitted by the software application is predefined according to the needs of the software application. In particular, for a customer's business application, the customer defines his own types of streams and their associated priority levels. The value of the priority indicator may change over time, in particular after a change in the operating mode of the software application.
[0077] The present invention therefore enables a finer adaptation of network slicing techniques to the growing needs of customers and to the diversity of data streams related to one or more of these customers.
[0078] If the software application in question performs an operator service, the present invention enables the operator to apply its differentiated quality of service policies within the network slice.
[0079] The invention also allows operators to group together in the same network slice applications of different customers that share common requirements and to apply the same strategies for allocating the resources of the network slice to these applications. These include requirements in terms of availability of the data streams (real-time, non-real-time) transmitted by the applications, or in terms of isolation, which is the level of protection against failures such as congestion or potential attacks on the communication network.
[0080] The invention has a particular application in mobile communication networks whose architecture complies with the 3GPP 5G standard, allowing this network to be structured in slices. Of course, the invention is not limited to this example and extends to any other communication network architecture implementing techniques that allow the differentiation of data streams originating from software applications, similar to the URSP rules for 3GPP terminal devices.
[0081] In the following, the notion of priority indicator refers to a value included in a range of possible values, for example an integer value. Advantageously, this interval includes a small number of values, for example equal to the number of distinct types of data streams of the software application associated with the network slice in question.
[0082] In the following, network resources of a network slice refer to both hardware and software resources in the core network and the access network, e.g., a mobile radio access network (RAN) of a communications network.
[0083] The concept of resources encompasses the access device or node device itself, other resources of this device, such as a data modulation module, a module for allocating time slots for data transmission, a module for managing the quality of service associated with the various types of data transmitted (voice, IoT (Internet of Things), video, etc.). In the case of a base station of a cellular access network, for example, these are specific components of this radio antenna, such as physical resource blocks (PRBs), modulation modules, modules for allocating time slots for data transmission, modules for managing the quality of service (QoS) of the various types of data transmitted. The availability of these resources is evaluated based on data traffic information related to bandwidth, data bit rate, data volume, number of physical resource blocks or PRBs, etc., that are already allocated or conversely available in a mobile access device, such as a base station or a node device of the user plane of the network core.
[0084] FIG. 2 shows diagrammatically an example of the architecture of a system S for controlling data streams transmitted by software applications running on terminal devices in an operator's communication network RC divided into multiple network slices according to one embodiment of the invention.
[0085] Terminal devices here refer to both user terminals such as smart mobile phones, laptops, tablets, connected watches, etc., and IoT-type connected objects such as sensors for measuring temperature or vibration data, etc., or autonomous robots such as automated guided vehicles (AGVs) installed in industrial environments, for example.
[0086] It is assumed that the terminal equipment UE or IoT is connected to the network RC by an access network such as a mobile radio access network via a radio access device. Of course, as already mentioned, the invention is applicable to other access technologies, whether wireless or wired. Thus, the terminal equipment can be connected to the network RC in a non-restrictive manner via a base station, a femtocell associated with this base station, a digital subscriber line access multiplexer (DSLAM) device for an ADSL type access network, a Wi-Fi hotspot or a Wi-Fi repeater associated with this hotspot, an optical network termination (ONT) device for a passive optical network (PON) fiber access network, etc.
[0087] According to this embodiment of the invention, the system S comprises a terminal device 100 for transmitting a data stream in a network RC, configured to select a network slice from the slices according to at least information included in a header of the data stream, to obtain information related to a type of the stream, the type belonging to a group including at least one first type stream and a second type stream, to insert a priority indicator associated with a type of the stream into the data stream, the priority indicator belonging to a group including at least one first indicator associated with a first type stream and a second indicator associated with a second type stream, the first priority indicator and the second priority indicator having different values, and to transmit the data stream in the selected network slice. In this respect, it is noted that in the case of a 5G architecture, the network core configures the terminal device UE with all the network slices it is allowed to connect to. Each of these slices is identified by an S-NSSAI (Single - Network Slice Selection Assistance Information) identifier.
[0088] Advantageously, the device 100 is configured to receive at least one rule for routing the data stream of said software application, said rule comprising at least an identifier of said software application, said type of stream, said priority indicator associated with said type and an identifier of one of said network slices, to store said at least one routing rule in a memory and to apply said at least one routing rule when performing said selection and said insertion. For example, this rule R_UE is stored in a memory of the device 100 or a terminal equipment UE, IoT.
[0089] In this way, the device 100 implements a method for transmitting a data stream according to the invention, which is described in more detail below with respect to FIG.
[0090] According to this embodiment of the invention, the system S also comprises an execution entity EXE of the communication network, configured to manage the routing of data streams transmitted by terminal devices in at least one slice of the communication network RC. Such an execution entity belongs to the user plane of the communication network RC, according to the terminology defined in the ETSI TS 123 501 standard published in September 2018. It is either an access device or a node device of the core network. The execution entity EXE may be instantiated in the form of a physical device, dedicated or not to the respective function of the execution entity EXE, or in the form of a virtualization entity, such as a virtual function.
[0091] According to the invention, this execution entity comprises a device 200 for processing a data stream transmitted by a terminal equipment UE, a software application of the IoT, in a network slice, configured to obtain a level of available resources for routing a data stream in the network slice, to detect in said data stream a priority indicator of said stream, and to perform at least one action for processing said data stream according to at least said priority indicator and the level of network resources available in the network slice, said processing actions belonging to a group comprising at least one first action for blocking the data stream in the network slice, intended to be performed when the level of available network resources is insufficient, and a second action for passing the data stream in the network slice when the level of available network resources is sufficient.
[0092] Advantageously, the device 200 is configured to obtain at least one rule R_UP for processing a data stream received from said software application, said rule comprising said priority indicator of the data stream, said network slice identifier and said at least one action for processing said stream, to store said rule in a memory and to apply said rule to the data stream processing. This rule R_UP is advantageously stored in a memory of the device 200 or of the execution entity EXE.
[0093] In this way, the device 200 implements a method for processing a data stream according to the invention, which is described in more detail below with respect to FIG.
[0094] The system S also comprises a control entity CTR of the communication network RC, configured to control the execution of policies for processing data streams routed in said network by one or more execution entities. Such an entity is part of the control plane. Such an entity may be part of the access network or the core network. For example, in a radio access network, this is an Element Network Manager (ENM) that is part of a Network Management System (NMS) associated to a 5G / 4G base station, also known as gNodeB or eNodeB, respectively. For example, in a core network, this control entity may be a Session Management Function (SMF) that controls a User Plane Function (UPF) via the N4 interface according to the 3GPP TS 23.501 specification. The control entity CTR may be instantiated in the form of a physical device, dedicated or not to the respective functions of the controller CTR, or in the form of a virtualization entity.
[0095] According to the invention, the control entity CTR comprises a device 300 for controlling the processing by an execution entity EXE of a data stream transmitted by a software application of a terminal device UE, IoT, in a slice of a communication network, said device being configured to receive from the execution entity a notification of a priority indicator associated to said received data stream, to obtain a level of available resources for routing the data stream in the network slice, to determine at least one action for processing said stream to be executed according to at least the received priority indicator and a policy for processing the data stream transmitted by the software application, said processing action belonging to a group comprising at least one first action for blocking the data stream in the network slice, intended to be executed when the level of available network resources is insufficient, and a second action for passing the data stream in the network slice, intended to be executed when the level of available network resources is sufficient, and to send a response comprising said at least one processing action to said execution entity.
[0096] Advantageously, the device 300 is configured to obtain at least one rule R_CP for controlling a data stream received from said software application, said rule comprising said priority indicator of a data stream, said network slice identifier and said at least one action for processing said stream, to store said rule in a memory and to apply said rule to the data stream control. This rule R_CP is advantageously stored in a memory of the device 300 or of the control entity CTR.
[0097] In this way, the device 300 implements a method for controlling the processing of a data stream according to the invention, which is described in more detail below with respect to FIG.
[0098] Advantageously, the system S also comprises a management entity EMG for the multiple slices of the communication network RC. The management entity EMG is part of the management plane of the communication network RC. In the context of the network slice architecture, such an entity performs network slice management functions as described in the ETSI GR NFV-EVE 012 document published in December 2017 relating to network slice support in virtualized environments. The management entity EMG may also be instantiated in the form of a physical device, dedicated or not to the respective functions of the management entity, or in the form of a virtualized entity.
[0099] According to the invention, this management entity comprises a rule management device 400 configured to obtain business information from a customer of a software application intended to be executed by a terminal device, said information including at least the types of data streams intended to be transmitted by the software application and a priority indicator associated with each of the types of streams, and to transmit rules to the terminal device, the execution entity EXE and the control entity CTR, respectively.
[0100] In the following, an embodiment of the invention in a mobile telecommunications network, the architecture of which complies with the 5G version or future versions of the 3GPP standards and which realizes the division of the network into network slices, is described in more detail. Of course, as already mentioned, the invention is not limited to the described example but also applies to other types of fixed or mobile telecommunications networks and other wireless or wired access technologies.
[0101] With reference to Fig. 3, an embodiment of a method according to the invention for transmitting data streams received from software applications API_TA, API_JM running on a terminal UE, IoT in a communication network RC is now presented in the form of a flow chart. Advantageously, the method is implemented by a device 100 integrated in the terminal UE, IoT.
[0102] In the following, it is assumed that the communication network RC is divided into several slices SL_1 to SL_N, N being greater than 2. More specifically described is the case where slices SL_1 and SL_2 are dedicated to the use of a given customer, which in particular runs software applications API_TA and API_JM. These software applications are specific business applications of the customer defining the various types of data streams implemented and their associated priority levels.
[0103] Of course, as already mentioned, the invention is not limited to this use case but applies to any other strategy for allocating slices of an operator's communication network to customers, terminals, software applications, services, etc. In particular, according to at least one other embodiment of the invention, the operator defines a network slice dedicated to the routing of data streams transmitted as part of one of the services the operator offers to its customers, such as, for example, a Voice over IP service. In this case, the operator defines different types of Voice over IP data streams associated with different service quality levels related to different subscription levels (e.g., gold, silver or bronze) subscribed to by the customer, and associates these types with different priority indicator values: a "gold" Voice over IP data stream type having the highest priority and a "bronze" Voice over IP data stream type having the lowest priority.
[0104] In a preliminary step, rules R_UE for routing data streams originating from this software application API_TA, API_JM are received at 30, for example originating from a management entity EMG. These rules associate a priority indicator with each data stream sent by the software application API_TA, API_JM.
[0105] Typically, such a rule includes identifiers of the software applications API_TA, API_JM, an identifier of the type of data stream STR_ID, an identifier of the network slice to be used to transmit the data stream in the communication network RC, and the associated priority indicator IP value. For example, for a "Technician Extension" business application, a data stream of type STR_1, and a network slice SL_1, the structure of such a rule is "priority indicator IP - business software application API_TA - network slice SL_1 - data stream type STR_1". These are stored in a memory, for example the memory M1 of the device 100 or the memory of the terminal equipment UE, IoT.
[0106] Optionally, the rules R_UE received at 30 are associated with operation modes of the software applications API_TA, API_JM. For example, three distinct operation modes are associated: - nominal operating mode MO_1, which corresponds to normal operating conditions; - alarm operation mode MO_2 corresponding to the alarm situation, and - Post-alarm operation mode MO_3, which corresponds to returning to normal or restart status after an alarm There is.
[0107] Distinguishing between the various operating modes makes it possible to vary the respective priority levels of each of the types of data streams used by the software application according to the situation in each of these modes.
[0108] For example, the indicators should have at least the following values: - For high priority real-time streams, e.g. IP_1 equal to 1, - IP_2, for example equal to 2, for high priority non-realtime or delayed streams, - IP_3 equal to, say, 3, for low priority non-realtime or delayed streams can be taken.
[0109] An example of the assignment of priority levels to the “Technician Augmented” and “Digital Twin” business application streams for the three predefined operating modes is presented below in Table 1.
[0110] [Table 1]
[0111] In this case, the rule R_UE may, for example, include additional attributes corresponding to its associated operation mode.
[0112] At 31, information relating to the current operating mode of the software applications API_TA, API_JM is received, which here is assumed to be the nominal operating mode MO_1.
[0113] In the operation phase, a data stream STR is received at 32 from the software application API_TA, API_JM. At 33, a network slice is selected from at least one piece of information contained in the header of the data stream, for example a destination IP address identifying the device that is to receive this data stream and / or an identifier of the application API_TA, API_JM. For example, this information is extracted from the header of a signaling protocol, such as a non-access stratum (NAS) protocol, implemented in an exchange between the terminal device and the 5G core network and defined by the 3GPP TS 23.502 "4.16.12.2 UE Policy Association Modification initiated by the PCF" procedure.
[0114] At 34, the type of data stream STR_ID (e.g., audio, video streaming, or data exchange) is obtained, for example, from the doublet "(destination) IP address; protocol ID" extracted from the stream's header or from the triplet of attributes "(destination) IP address, port number, protocol ID". The triplet of attributes can be used, for example, to more finely differentiate two separate streams from the same application based on their distinct port numbers.
[0115] This is especially true when the application is configured to send these streams to the same application server, the primary server, which sends each of these streams to a separate dedicated server, the secondary server. For example, in the case of the "technician extension" application API_TA, a server specialized in pattern recognition receives the video streaming stream, another server specialized in indexing technical documents receives the enriched data stream, and yet another server specialized in human connection services receives the voice over IP stream.
[0116] At 35, if applicable, the value of the current operating mode MO_1 is obtained. At 36, the rule R_UE stored in the memory corresponding to the software application API_TA, API_JM which sent the stream STR to the type of data stream STR_ID and possibly to the current operating mode MO_1 is retrieved, making it possible to obtain the priority indicator IP value associated with this data stream STR. At 37, the priority indicator IP is inserted into the data stream STR. For example, the priority indicator IP is inserted into a header of the data stream STR, such as a header of an application protocol used by the software application API_TA, API_JM. For example, the priority indicator IP is inserted into a variable of the header of the HTTP GET request. The priority indicator IP can also be inserted into the header of an IP packet, an Ethernet frame or a 3GPP network context (PDP context, EPB bearer, PDU session). As a variant, the priority indicator IP can also be inserted into a useful part (i.e. the payload part) of such a packet, frame or context of the data stream STR.
[0117] At 38, the data stream STR thus modified is transmitted in a data slice SL_1 of the communications network RC.
[0118] It should be understood that after a change in operating mode, the value of the priority indicator to be inserted into the next data stream sent by the software application API_TA, API_JM is updated to become the value associated with the new current operating mode.
[0119] With reference to Fig. 4, an embodiment of a method for implementing a data stream received from a software application API_TA, API_JM running on a terminal device UE, IoT, in a slice SL_1 of a communication network RC according to an embodiment of the invention is now presented in the form of a flow chart. Advantageously, this data stream STR is received by an execution entity EXE of a user plane UP of the communication network RC, and the method is implemented by a device 200 integrated in this execution entity EXE, adapted to manage at least a network slice SL_1 of the network RC. If the network RC is a 5G compliant mobile communication network, the device 200 may for example be a device of a radio access network RAN, for example in an O-RAN architecture this device may be a device performing O-CU-UP ("O-RAN Central Unit-User Plane" [O-RAN]) functions or a device of the network core.
[0120] Advantageously, it is assumed here that the execution entity EXE is adapted to manage the slices SL_1 and SL_2 of the network RC.
[0121] A data stream STR is received at 40. At 41 a priority indicator IP is detected in the data stream, for example in a header or in the payload part of this data stream.
[0122] At 42, an assessment of the level NRS_1 of resources available for routing the data stream STR in the network slice SL_1 is obtained. This assessment can be performed locally or obtained from a remote device, for example another device of the user plane. The execution entity EXE is aware of the resources that are available to and can be used by the execution entity EXE for each network slice SL for which it is responsible. Indeed, in the 5G architecture, when network slices are implemented, the management plane configures each of the access network devices and the core network devices according to the characteristics of each slice. These characteristics include, among others, the bandwidth allocated to each slice.
[0123] Each processing rule R_UP then specifies the bandwidth required for the exact operation of each type of data stream that may be sent by the associated business application API_TA, API_JM.
[0124] Finally, the execution entity EXE evaluates whether the available resources for a given slice SL are sufficient to ensure the routing of the received data stream, taking into account the value of the priority indicator IP associated with that data stream. To do this, the execution entity EXE compares the amount of resources required to route the received stream with the amount of available resources, which is for example the number of PRBs in the radio access network or the bit rate in kbits / s or Mbits / s in case of the network core.
[0125] It should be noted that if several data streams are received simultaneously, their processing may advantageously be prioritized according to their associated priority levels, e.g., real-time streams are given priority over non-real-time streams.
[0126] If necessary, a second level of prioritization can be applied when several real-time streams use the same network slice and are received simultaneously by the execution entity EXE, for example by processing high-priority real-time streams before low-priority real-time streams. This is particularly true for operator "Voice over IP" applications that distinguish between priority and non-priority VoIP data streams. Note that it is possible to do the same for non-real-time streams, by distinguishing between high-priority and low-priority non-real-time streams. Note that in this case, low-priority real-time streams still have priority over non-real-time streams, and especially over high-priority non-real-time streams.
[0127] At 43, a processing action AC to be performed to handle the routing of this data stream is obtained. At 44, the processing action AC is executed.
[0128] According to the invention, a processing action AC can be obtained by the execution entity EXE in various ways, which are detailed below.
[0129] According to a first embodiment of the invention illustrated by Fig. 4A, at least one rule R_UP for processing a data stream STR received from a software application API_TA, API_JM is obtained in 430. It is assumed, for example, that a set of rules has been received from a management entity EMG in a pre-configuration phase not shown. Such a rule indicates a processing action AC to be performed on the data stream STR. Advantageously, such a processing rule R_UP comprises an identifier of the software application API_TA, API_JM, an identifier of the type of data stream STR_1, an identifier of the network slice SL_1 to be used for transmitting the data stream in the communication network RC, an associated priority indicator IP_1 value and an identifier of the action AC to be performed.
[0130] For example, the target memory may be organized as a database and the processing rules to be applied to the received data stream STR may be obtained by querying the database using an identifier of the software application detected in the stream and / or an identifier of the data stream and a priority indicator.
[0131] Advantageously, the processing action AC can have two values: - pass the data stream (AC1, e.g., equal to 1) and forward the data stream to network slice SL_1; - blocking the data stream STR (AC2, e.g. equal to 2) and removing the data stream STR from the network slice SL_1; You can take at least one of the following:
[0132] It should be understood that the actions AC_1, AC_2 are two basic actions to be performed at 44. These actions have the advantage that they are easy to implement and based on simple rules, since they are based on binary decision making. Of course, other actions can be considered to realize enriched strategies when resources are assessed as insufficient. For example, another possible action would be to accelerate or delay the transfer of the data stream STR, or to allocate less or more resources to the data stream STR, or to limit or clip the data stream before transmitting it to adapt it to the available resources. If two streams with the same priority are received simultaneously, it would be possible to transfer both by allocating less resources to each of the streams.
[0133] At 431, processing actions AC are extracted from the obtained rule R_UP and then applied at 44.
[0134] Thus, according to this first embodiment, the execution entity EXE is pre-configured to locally determine the processing actions to be performed.
[0135] Advantageously, the execution entity EXE may have previously received a first processing rule R_UP0 indicating whether the processing action to be performed should be determined locally or whether it should be notified to another entity of the communication network RC. As a variant, the execution entity EXE simply checks in memory whether it has a rule R_UP for the software application from which the received data stream originates and for the detected priority indicator IP. If no corresponding rule R_UP is found, the execution entity EXE notifies another entity or applies a default rule R_UP_D that defines the processing actions to be performed for the data streams associated with the lowest priority level IP_3 originating from the relevant software application or from the software applications of all customers of the network slice SL_1.
[0136] According to a second embodiment of the invention illustrated by figure 4B, it is envisaged that the execution entity EXE is adapted to inform another entity of the communication network RC. Advantageously, the other entity is a control entity CTR of the control plane of said network RC, adapted to control the execution of policies for processing data streams routed in the network RC. For example, a first rule R_UP0 identifies this control entity CTR to be informed and the information to be transmitted to the control entity CTR.
[0137] At 430' (in FIG. 4B), the executing entity retrieves this first rule R_UP0 and therefore extracts the identity of the control entity to be notified. In 431′, the execution entity notifies the control entity CTR of the reception of a data stream STR associated with a priority indicator IP in the network slice SL_1. It should be noted that the execution entity can trigger this notification after detection of a priority indicator IP in the data stream STR, i.e. systematically notify the control entity CTR in a message including a single priority indicator associated with a single received data stream, or as a variant, send a single notification message NTF after this period that groups the priority indicators detected in the data streams received on the network slice SL_1 during a given time period.
[0138] In return, in 432', the execution entity receives a processing action to be performed, for example one of the two actions AC_1, AC_2 discussed above, or another action for example delaying or accelerating the transfer of the data stream STR, or limiting or clipping the data stream before transfer, according to an enriched strategy. In 44, the execution entity executes the received processing action.
[0139] According to this second embodiment of the invention, the control plane applies data stream processing rules according to the priority indicators associated with these streams.
[0140] With reference to figure 5, an embodiment of a method for controlling data streams received from software applications API_TA, API_JM in a data slice SL_1 of a communications network according to this second embodiment is now presented in the form of a flow chart. Advantageously, the method is implemented by a device 300 integrated in a control entity CTR of the control plane of the communications network RC.
[0141] At 50, a notification NTF is received by the control entity CTR from an execution entity EXE of the user plane of the communication network RC. The notification NTF is for a data stream STR received by this execution entity EXE and includes at least an identifier of the type of data stream STR_1, an associated priority indicator IP_1 and an identifier of the network slice SL_1. For example, this notification is sent to the control entity in a message conforming to a protocol such as radius, diameter or http / 2. In the case of a Service-Based Architecture (SBA) for 5G, the http / 2 protocol is used.
[0142] In 51, the control entity CTR obtains an assessment of the level of available resources in the network slice SL_1. With regard to the resource requirements for transmitting a received data stream STR under the conditions provided for the priority level associated with that data stream STR, the mechanism implemented is similar to the mechanism described for step 42 and will not be detailed further.
[0143] In an access network of a 5G architecture enabling an O-RAN implementation, a control entity or function CTR retrieves information related to the available resources for each network slice from the O-CU-CP function.
[0144] In the core network, the control entity or function CTR retrieves this available resource information from the Session Management Function (SMF) that controls the User Plane Function (UPF) corresponding to the execution entity or function EXE of interest, via the N4 interface defined by 3GPP in the TS 23.501 specification (section 5.8.2.11 "Parameters for N4 session management").
[0145] At 52, a control entity or function CTR obtains rules R_CP for controlling a data stream routed on the network slice SL_1 and associated to the received priority indicator IP. Advantageously, it is assumed that a set of rules R_CP has been received from the management entity EMG in a pre-configuration phase, not shown. Such rules indicate processing actions AC to be performed on the data stream STR according to the value of its associated priority indicator. Advantageously, such control rules R_CP include an identifier of the network slice SL_1, the value of the priority indicator IP_1 and an identifier of the action AC to be performed.
[0146] It should be understood that this control rule R_CP is very similar in structure and content to the processing rule R_UP, with one difference being that the control rule R_CP may be more complex, since a control entity or function CTR generally has a broader view of the area it is responsible for than an execution entity or function EXE, which knows only its own resources and therefore has a scope of actions limited to its function.
[0147] For example, the target memory is organized as a database and the control rule R_CP to be applied to the received notification NTF is obtained by querying the database using the identifier of the data slice SL_1 and the priority indicator IP received in the notification.
[0148] At 53, a processing action AC is extracted from the received rule, then at 54 a response is sent to the execution entity in a message including at least the processing action AC. For example, this message conforms to the JSON format and is sent using the http / 2 protocol.
[0149] With reference to Fig. 6, another embodiment of the invention is now presented in the form of a flow chart, which is executed when the processing action determined for a data stream STR is to block this stream in the network slice SL_1. In particular, mechanisms are described below which may be executed either in the execution entity EXE as part of the method for processing a data stream now described with reference to Fig. 4, or in the control entity CTR as part of the method for controlling a data stream now described with reference to Fig. 5.
[0150] Thus, the mechanism in question is triggered following retrieval 43 in the execution entity EXE or following decision 53 to execute this action AC in the control entity CTR when the action AC is an action AC2 for blocking the data stream in the network slice SL_1 or, more generally, when the available resources are evaluated as insufficient and an action is taken to limit or delay the forwarding of the stream. At 60, it is checked whether there is another processing rule R_UP_FK or a control rule R_CP_FK for the data stream of the software application API_TA, API_JM associated with the priority indicator IP in the network slice SL_1, which provides a third processing action AC_3 consisting of forwarding the blocked data stream to another network slice SL_2 accessible to the customer of the associated software application. This additional rule, called fallback rule, is for example retrieved by querying a local memory database as described above.
[0151] First, it is assumed that this fallback rule is not available, in which case the processing action to be performed remains at action AC2 to block, and therefore remove, the data stream of network slice SL_1 or to limit the stream depending on the resources available for routing.
[0152] On the other hand, when this fallback rule is available for the current data stream, the availability of resources in another network slice accessible to the customer of the software application, in this case slice SL_2, is evaluated at 61. In 62, the amount of available resources is obtained and then compared with a given minimum threshold TH or resource requirement for routing the data stream STR. If this other network slice SL_2 has sufficient resources and / or more available resources than network slice SL_1 for routing the data stream STR, i.e., if the evaluated amount of resources is greater than or equal to the threshold TH, the data stream STR is forwarded to the other network slice SL_2.
[0153] Advantageously, such fallback rules R_UP_FK, R_CP_FK are associated with priority indicators corresponding to higher priority levels. For example, for software applications API_TA, API_JM, only data streams associated with priority indicator IP_1 can benefit from this fallback solution for another network slice SL_2. It should be noted that when the operational modes are executed, only data streams of type STR_1 in nominal mode MO_1 can benefit from the fallback solution, but all data streams of types STR_1, STR_2, and STR_3 in alarm mode MO_2 can benefit from the fallback solution.
[0154] This mechanism therefore has the advantage of providing an additional opportunity for a prioritized data stream to be routed when user plane UP resources are insufficient in the network slice SL_1 selected for the application that transmitted the prioritized data stream.
[0155] This is clarified as follows for the two previously described embodiments. - In the case of the first embodiment, in which the execution entity EXE determines locally the action to be performed by applying processing rules previously obtained from the management entity EMG, the fallback mechanism just described can also be performed locally either on the basis of the fallback rule R_UP_FK, provided that the execution entity is responsible for managing at least two network slices SL_1, SL_2 accessible to the software application involved, or on the basis of a decision to block or limit the data stream STR. This decision triggers the sending of a notification to the control entity CTR so that it executes the intended fallback mechanism. For example, the notification includes a priority indicator, identifiers of the software applications API_TA, API_JM, an identifier of the selected network slice SL_1. Upon receipt, the control entity CTR executes the fallback mechanism and responds to the notification by sending a confirmation of either a blocking action (or routing restriction) AC_2 or a forwarding action AC_3 specifying the network slice SL_2 to which the data stream is to be forwarded. In the case of the second embodiment, in which the execution entity EXE informs the control entity CTR on which it depends of the priority indicator detected in the data stream STR received by it and of the network slice SL_1 in which it received the priority indicator, the fallback mechanism is advantageously executed by the control entity CTR after the decision 52 to make the entity EXE execute the decision AC_2 to block the data stream STR. In this way, the control entity only sends, in response to a notification NTF from the execution entity EXE, a forwarding action AC_3 associated to the network slice SL_2 to which this forwarding is to be performed.
[0156] With reference to Fig. 7, an example of an architecture of a communication network RC implementing the invention is now presented. This architecture comprises a management plane MP, a user plane UP and a control plane CP. The management plane MP comprises a number of management entities EMG_1, EMG_2, EMG_3 configured to define rules for routing, processing and controlling data streams in different slices SL_1, SL_2 of the network RC. In particular, the management entities are configured to send routing rules of data streams to terminal devices UE, IoT connected to the network RC, to send processing rules to a number of execution entities EXE_1, EXE_2, EXE_3 of the user plane UP and to send control rules to a number of control entities CTR_1, CTR_2, CTR_3 of the control plane CP of the network RC.
[0157] These rules make it possible to determine whether a data stream can be routed or should be blocked according to the level of resources available in the network slice and the priority level of this stream.
[0158] Some of these execution entities may be configured to manage several slices SL_1, SL_2 of the network RC, while other execution entities may be configured to manage only one slice. The execution entities configured to manage at least two slices of the network RC execute the fallback mechanism described with reference to figure 6, making it possible to apply the fallback mechanism to the data stream with the highest priority.
[0159] As previously explained, this fallback mechanism may be executed as a variant by the control entities CTR_1, CTR_2, CTR_3, which they control, when they manage at least two network slices. For example, the execution entity EXE_1 detects the "alarm" operation mode and informs the control entity CTR_1, which manages the entity EXE_1. This entity CTR_1 may then decide to replicate the stream to another network slice SL_2, which is controlled by an execution entity EXE_1' (not shown) for the user plane and by the same entity CTR_1 for the control plane.
[0160] The execution entities of the user plane are located along the path or route taken by the data stream STR transmitted by the terminal device UE, IoT, to its destination. It will therefore be appreciated that each of the execution entities is configured to implement the method for processing the data stream just described under the control of the control entities CTR_1, CTR_2, CTR_3 on which it depends.
[0161] It should be noted that the invention also applies in a multi-operator context and, as a result, some execution or control entities may be configured to be aware of the resources of a network slice of another operator and to decide to forward a data stream to this network slice. For example, a control entity making a decision on routing a data stream may receive information related to the level of resources available in that network slice of another operator from a control entity managed by the other operator.
[0162] With reference to FIG. 8, an example of a hardware structure of a device 100 for transmitting a data stream in a telecommunication network to which a terminal device is connected and which is divided into a plurality of network slices is then presented, the device comprising: a module for selecting a network slice from the plurality of network slices according to at least an identifier of a software application; a module for obtaining a type of the stream, the type belonging to a group including at least one first type stream and a second type stream; a module for inserting a priority indicator associated with the type of stream into a header of the data stream, the priority indicator belonging to a group including at least one first indicator associated with a first type stream and a second indicator associated with a second type stream, the first priority indicator and the second priority indicator having different values; and a module for transmitting the data stream in the selected network slice.
[0163] Advantageously, the device 100 comprises a module for receiving at least one rule for routing a data stream of the software application, the rule comprising at least an identifier of the software application, the type of stream, the priority indicator associated with the type of stream, and an identifier of a network slice, and a module for storing the at least one routing rule in a memory, the selection module and the insertion module being configured to apply the at least one rule. Advantageously, the device 100 also comprises a module for obtaining an operation mode of the software application, the operation mode belonging to a group comprising at least one first operation mode and a second operation mode, and the at least one routing rule being associated with the operation mode.
[0164] The term "module" can correspond to a software component as well as a hardware component or a set of hardware and software components, a software component itself corresponding to one or more computer programs or subprograms, or more generally, any element of a program capable of implementing a function or set of functions.
[0165] More generally, such a device 100 comprises a random access memory 103 (e.g. a RAM memory) and a processing unit 102, for example equipped with a processor and controlled by a computer program Pg1 representing a selection module, an acquisition module, an insertion module, a reception module and a storage module stored in a read-only memory 101 (e.g. a ROM memory or a hard disk). At initialization, the code instructions of the computer program are for example loaded into the random access memory 103 before being executed by the processor of the processing unit 102. The random access memory 103 may also contain for example acquired identifiers of software applications, types of data streams and operating modes.
[0166] Figure 8 shows only one particular of several possible ways of implementing device 100 such that device 100 performs steps of the method for transmitting a data stream as described above in its various embodiments with respect to Figure 3. In fact, these steps may be performed differently on a reprogrammable computing machine (a PC computer, a DSP processor, or a microcontroller) executing a program including a sequence of instructions, or on a dedicated computing machine (e.g., a set of logic gates such as an FPGA or an ASIC, or any other hardware module).
[0167] If the device 100 is implemented in a reprogrammable computing machine, the corresponding program (which is a sequence of instructions) can be stored on a removable storage medium (e.g., an SD card, a USB flash drive, a CD-ROM or a DVD-ROM, etc.) or on a non-removable storage medium, which is readable in part or in whole by a computer or processor.
[0168] Although various embodiments have been described above with respect to the device 100 integrated in a terminal device connected to a communication network RC, the device 100 may also be integrated in a device for accessing this network, for example a connectivity gateway incorporating this device 100. Such a connectivity gateway typically serves as an interface between a light IoT module (having low on-board processing power) and the communication network RC. This is performed, for example, for energy management. IoT sensors feed back measurement data on the energy consumption of users to the connectivity gateway, which is typically configured to aggregate around 10 IoT sensors.
[0169] With reference to FIG. 9, an example of a hardware structure of a device 200 for processing a data stream received in a telecommunication network divided into a plurality of network slices is then presented, the data stream being received in a network slice of the plurality of network slices from a software application running on a terminal device connected to the network, the device comprising: a module for obtaining an assessment of the level of resources available in the network slice; a module for detecting a priority indicator in a header of the data stream; and a module for performing at least one action for processing the data stream according to at least the priority indicator and the level of network resources available in the network slice, the processing action belonging to a group including at least one first action for passing the data stream in the network slice when the level of available resources is sufficient and a second action for blocking the data stream in the network slice, which is intended to be performed when the level of available network resources is insufficient.
[0170] Advantageously, the device 200 comprises a module for pre-obtaining at least one rule for processing a data stream received from said software application, said rule comprising said priority indicator of the data stream, said network slice identifier and said at least one action for processing said stream, and an extraction module (for extracting a processing action from said rule). Advantageously, said device also comprises a module for notifying a control entity of said network of said priority indicator, configured to be executed when a processing rule for processing said data stream has not been pre-obtained, and a module for receiving from said control entity said at least one processing action to be executed. Advantageously, the device 200 finally comprises a module for obtaining an assessment of the level of resources in another network slice, and a module for determining, according to said level of resources (and the priority indicator), at least one third processing action, called an action for forwarding the data stream, as an alternative to the second processing action. These modules are configured to be executed when an execution entity is configured to manage a network slice and said at least one other network slice of said communication network, and when the processing action is a second action for blocking the data stream in the network slice.
[0171] The term "module" can correspond to a software component as well as a hardware component or a set of hardware and software components, a software component itself corresponding to one or more computer programs or subprograms, or more generally, any element of a program capable of implementing a function or set of functions.
[0172] More generally, such a device 200 comprises a random access memory 203 (e.g., a RAM memory) and a processing unit 202, for example equipped with a processor and controlled by a computer program Pg2 representing the above-mentioned modules stored in a read-only memory 201 (e.g., a ROM memory or a hard disk). At initialization, the code instructions of the computer program are, for example, loaded into the random access memory 203 before being executed by the processor of the processing unit 202. The random access memory 203 may also include, for example, the obtained identifiers of the software applications, the priority indicators, the network slices, the level of resources evaluated for the network slices, and the type of data stream. The random access memory 203 may also include previously received processing rules, the resource levels evaluated for the network slices, decision thresholds implemented to determine whether the evaluated resource levels are sufficient to route the data stream.
[0173] Figure 9 shows only one particular of several possible ways of realizing device 200 to perform the steps of the method for controlling the processing of a data stream as detailed above with respect to Figures 4, 4A, 4B, and 6 in its various embodiments. In fact, these steps may be performed differently on a reprogrammable computing machine (a PC computer, a DSP processor, or a microcontroller) executing a program including a sequence of instructions, or on a dedicated computing machine (e.g., a set of logic gates such as an FPGA or an ASIC, or any other hardware module).
[0174] If the device 200 is implemented in a reprogrammable computing machine, the corresponding program (which is a sequence of instructions) can be stored on a removable storage medium (e.g., an SD card, a USB flash drive, a CD-ROM or a DVD-ROM, etc.) or on a non-removable storage medium, which is readable in part or in whole by a computer or processor.
[0175] Various embodiments have been described above with respect to the device 200 integrated in an executing entity of a communication network RC, for example a node device of an access network, for example a base station of a mobile radio access network, or a router device of a core network.
[0176] Finally, with reference to FIG. 10, an example of a hardware structure of a device 300 for controlling processing of a data stream received in a telecommunications network divided into a plurality of network slices is presented, the data stream being transmitted by a terminal device in a network slice of the plurality of network slices and received by an execution entity of the network, the device comprising: a module for receiving notification of a priority indicator (IP) associated with the received data stream from the execution entity; a module for obtaining a level of available resources in the network slice; a module for determining at least one action for processing the stream according to at least the received priority indicator and the level of available resources; and a module for sending a response to the execution entity, the response including the processing action.
[0177] Advantageously, the device 300 comprises a module for pre-obtaining at least one rule for controlling the processing of a data stream received from said software application, said rule comprising said priority indicator of the data stream, said network slice identifier and said at least one action for processing said stream, and a module for storing said at least one rule in a memory. Advantageously, said device 300 also comprises a module for obtaining a level of resources available in another network slice, and a module for determining, according to said level of resources and the priority indicator, at least one third processing action, called an action for forwarding the data stream, as an alternative to the second processing action. These modules are configured to be executed before sending the second processing action to the execution entity when the determined processing action is an action for blocking said data stream in the network slice and when the execution entity is configured to manage another network slice of said plurality of network slices. The term "module" can correspond to a software component as well as a hardware component or a set of hardware and software components, a software component itself corresponding to one or more computer programs or subprograms, or more generally, any element of a program capable of implementing a function or set of functions.
[0178] More generally, such a device 300 comprises a random access memory 303 (e.g., a RAM memory) and a processing unit 302, for example equipped with a processor and controlled by a computer program Pg3 representing the above-mentioned modules stored in a read-only memory 301 (e.g., a ROM memory or a hard disk). At initialization, the code instructions of the computer program are, for example, loaded into the random access memory 303 before being executed by the processor of the processing unit 302. The random access memory 303 may also include, for example, previously received control rules, obtained identifiers of software applications, priority indicators, network slices, levels of resources evaluated for the network slices, types of data streams. The random access memory 303 may also include levels of resources evaluated for another network slice, decision thresholds implemented to determine whether the evaluated resource levels are sufficient to route the data stream.
[0179] Figure 10 shows only one particular of several possible ways of realizing the device 300 such that it performs the steps of the method for controlling the processing of a data stream as detailed above with respect to Figures 5 and 6 in its various embodiments. In fact, these steps may be performed differently on a reprogrammable computing machine (a PC computer, a DSP processor, or a microcontroller) executing a program including a sequence of instructions, or on a dedicated computing machine (e.g., a set of logic gates such as an FPGA or an ASIC, or any other hardware module).
[0180] If the device 300 is implemented in a reprogrammable computing machine, the corresponding program (which is a sequence of instructions) can be stored on a removable storage medium (e.g., an SD card, a USB flash drive, a CD-ROM or a DVD-ROM, etc.) or on a non-removable storage medium, which is readable in part or in whole by a computer or processor.
[0181] Various embodiments have been described above for a device 300 incorporated in a control entity of a communication network RC, for example, a device for controlling an access network or a device for controlling a core network. For example, this device 300 is implemented in an O-CU-CP functional entity of a mobile access network according to the O-RAN specification. For a mobile core network, this device 300 can be implemented in a functional entity SMF according to the 3GPP specification of the 5G architecture. [Explanation of symbols]
[0182] 100 devices 101 Read-only memory 102 Processing Unit 103 Random Access Memory 200 devices 201 Read-only memory 202 Processing Unit 203 Random Access Memory 300 devices 301 Read-only memory 302 Processing Unit 303 Random Access Memory 400 Rule Management Device AC_1 Action AC_2 Block action AC_3 Transfer action API_JM Digital Twin Application API_TA Technician Extension Application CP Control Plane CTR,CTR_1,CTR_2,CTR_3 Control Entity EMG,EMG_1,EMG_2,EMG_3 Management Entity EXE,EXE_1,EXE_2,EXE_3,EXE_1' Execution entity M1 Memory MO_1 Nominal operating mode MO_2 Alarm operation mode MO_3 Post-alarm operation mode MP Management Plane NRS_1,NRS_2 Resource levels NTF notification Pg1, Pg2, Pg3 Computer Program RC Communication Network R_CP Control Rules R_CP_FK Fallback rule R_UE rule R_UP Processing Rule R_UP0 First processing rule R_UP_D Default rule R_UP_FK Fallback rule S System SL_1,SL_2,SL_N slices STR Data Stream STR_1,STR_2,STR_3,STR_1',STR_2' Stream type TH Threshold UE, IoT terminal equipment UP User Plane
Claims
1. A method for transmitting a data stream received from a software application running on a terminal device (UE, IoT) in a communication network (RC) to which the terminal device is connected and which is divided into a number of network slices (SL_1, SL_2), the method being implemented in the terminal device, the method comprising: selecting (33) one network slice (SL_1) from the plurality of network slices according to information included at least in a header of the data stream; - obtaining (34) a type of said stream, said type belonging to a group including at least one of a first type of stream (STR_1) and a second type of stream (STR_2); - a step (37) of inserting into the data stream a priority indicator (IP) associated with said type of stream (STR_ID), said priority indicator belonging to a group comprising at least one first priority indicator (IP_1) associated with said first type of stream (STR_1) and a second priority indicator (IP_2) associated with said second type of stream (STR_2), said first priority indicator and said second priority indicator having different values; transmitting (38) the data stream including the priority indicator in the selected network slice (SL_1); 16. A method for transmitting a data stream, comprising:
2. - receiving (30) in advance at least one routing rule (R_UE) for routing a data stream transmitted by said software application, said rule including at least an identifier of said software application, said type of stream, said priority indicator (IP) associated with said type of stream, and an identifier of said network slice (SL_1); storing said at least one routing rule in a memory; applying said at least one routing rule when performing said selection (33) and said insertion (37); 2. A method for transmitting a data stream according to claim 1, comprising:
3. 3. The method for transmitting a data stream as claimed in claim 2, further comprising a step of obtaining (35) an operating mode of the software application, the operating mode belonging to a group including at least a first operating mode (MO_1) and a second operating mode (MO_2), and wherein the at least one routing rule is associated with the operating mode.
4. A method for processing a data stream (STR) in a communication network (RC) divided into a plurality of network slices, the data stream being received in one of the plurality of network slices from a software application running on a terminal device (UE, IoT) connected to the network, the method being performed by an execution entity (EXE) of the network, detecting (41) in said data stream a priority indicator (IP) of said stream; evaluating (42) the level of available resources in the network slice; performing (44) at least one processing action (AC) for processing the data stream according to at least the priority indicator (IP) and the level (NRS_1) of available network resources in the network slice (SL_1), the processing action (AC) belonging to a group comprising at least one first processing action (AC_1) for passing the data stream in the network slice, intended to be performed when the level of available network resources is sufficient for routing the data stream according to the priority indicator (IP), and a second processing action (AC_2) for blocking the data stream in the network slice, intended to be performed when the level of available network resources is insufficient; 1. A method for processing a data stream, comprising:
5. - obtaining (430) in advance at least one rule (R_UP) for processing a data stream received from said software application, said rule comprising said priority indicator (IP) of a data stream, an identifier (SL_1) of said network slice, and said at least one processing action (AC) for processing said stream; Extracting the processing action from the rule (431); 5. A method for processing a data stream according to claim 4, comprising:
6. when no processing rules for processing the data stream have been previously obtained, notifying (431') said priority indicator to a control entity (CTR) of said network; receiving (432') from the control entity said at least one processing action to be performed; The method for processing a data stream according to claim 4, further comprising:
7. When the execution entity is configured to manage the network slice (SL_1) and at least one other network slice (SL_2) of the communication network (RC), and the processing action is the second processing action (AC_2) for blocking the data stream in the network slice (SL_1), the method comprises, before executing the second processing action: - evaluating (60) a level of resources (NRS_2) in said other network slice (SL_2); determining (61) at least one third processing action (AC_3) related to an action for forwarding said data stream to said other network slice (SL_2) according to said level of resources (NRS_2) and said priority indicator (IP); A method for processing a data stream according to any one of claims 4 to 6, characterized in that it comprises:
8. A method for controlling processing of a data stream (STR) in a communication network divided into a plurality of network slices, the data stream being transmitted by a terminal device (UE, IoT) in a network slice (SL_1) of the plurality of network slices and received by an execution entity (EXE) of the network, the method being performed by a control entity (CTR) of the network, the control entity being configured to control execution of a policy for processing the data stream routed in the network, receiving (50) from said execution entity a notification (NTF) of a priority indicator (IP) associated with said received data stream (STR); obtaining (51) a level (NRS_1) of resources available in said network slice (SL_1); determining (53) at least one processing action for processing said stream according to at least said received priority indicator (IP) and said level of available resources (NRS_1), said processing action belonging to a group comprising at least one first processing action (AC_1) for passing said data stream in said network slice, intended to be executed when said level of available network resources is sufficient for routing said data stream according to said priority indicator (IP), and a second processing action (AC_2) for blocking said data stream in said network slice, intended to be executed when said level of available network resources is insufficient; sending (54) a response to the execution entity, the response including the processing action; 1. A method for controlling the processing of a data stream, comprising:
9. When the determined processing action is the second processing action (AC_2) for blocking the data stream in the network slice and when the execution entity is configured to manage another network slice (SL_2) of the plurality of network slices, the method comprises, before sending the second processing action to the execution entity (EXE), obtaining a level of resources (NRS_2) available in said another network slice (SL_2); determining (61) at least one third processing action (AC_3) related to an action for forwarding said data stream to said other network slice (SL_2) according to said level of resources (NRS_2) and said priority indicator (IP); A method for controlling the processing of a data stream according to claim 8, characterized in that it comprises:
10. A device (100) for transmitting a data stream by a software application running on a terminal device (UE, IoT) in a communication network to which the terminal device is connected and which is divided into a plurality of network slices, the device comprising: selecting one network slice (SL_1) from the plurality of network slices according to information included in at least a header of the data stream; obtaining a type of the stream, the type belonging to a group including at least one of a first type stream (STR_1) and a second type stream (STR_2); inserting a priority indicator (IP) associated with said type of stream (STR_ID) into said data stream, said priority indicator belonging to a group including at least one first priority indicator (IP_1) associated with said first type of stream (STR_1) and a second priority indicator (IP_2) associated with said second type of stream (STR_2), said first priority indicator and said second priority indicator having different values; transmitting (38) the data stream (STR) including the priority indicator in the selected network slice (SL_1); A device (100) configured to perform the following:
11. A device (200) for processing a data stream (STR) in a communication network (RC) divided into a number of network slices, the data stream being received in one of the network slices from a software application running on a terminal device (UE, IoT) connected to the network, the device comprising: Detecting (41) a priority indicator (IP) of said stream in said data stream; assessing (42) a level of available resources in the network slice; and Executing (44) at least one processing action (AC) for processing the data stream according to at least the priority indicator (IP) and the level (NRS) of available network resources in the network slice (SL_1), the processing action (AC) belonging to a group including at least one first processing action (AC_1) for passing the data stream in the network slice, intended to be executed when the level of available network resources is sufficient, and a second processing action (AC_2) for blocking the data stream in the network slice, intended to be executed when the level of available network resources is insufficient; A device (200) configured to perform the following:
12. A device (300) for controlling processing of a data stream (STR) in a communication network divided into a plurality of network slices, the data stream being transmitted by a terminal device (UE, IoT) in a network slice (SL_1) of the plurality of network slices and received by an execution entity (EXE) of the network, the device comprising: a control entity (CTR) of the network, the control entity being configured to control execution of a policy for processing the data stream routed in the network, receiving from said execution entity a notification (NTF) of a priority indicator (IP) associated with said received data stream (STR); Obtaining a level (NRS_1) of resources available in the network slice (SL_1); and determining at least one processing action for processing the stream according to at least the received priority indicator (IP) and the level of available resources (NRS_1), wherein the processing action belongs to a group including at least one first processing action (AC_1) for passing the data stream in the network slice, intended to be executed when the level of available network resources is sufficient, and a second processing action (AC_2) for blocking the data stream in the network slice, intended to be executed when the level of available network resources is insufficient; sending a response to the execution entity, the response including the processing action; A device (300) configured to perform the following:
13. A terminal device (UE, IoT) connected to a communication network (RC) divided into a plurality of network slices, A terminal device (UE, IoT), characterized in that it comprises a device (100) for transmitting a data stream in a network slice of a plurality of network slices, the device (100) being as claimed in claim 10.
14. A system (S) for controlling routed data streams in a communication network (RC), comprising: At least one device (100) for transmitting a data stream, the device (100) being as claimed in claim 10; A device (200) for processing a data stream, the device (200) being as claimed in claim 11; A device (300) for controlling the processing of a data stream, the device (300) being as claimed in claim 12; A system (S) comprising:
15. A computer program comprising program code instructions which, when executed by a processor, performs the method according to any one of claims 1 to 9.