The disclosure relates to methods for handling messages in a network and nodes configured to operate in accordance with those methods.
There exist various techniques for handling messages in a network. Generally, the term “client” can be used to refer to a sender of a message in a network and the term “server” can be used to refer to a receiver of a message in a network.
An example of a message in a network is a request in the network, such as a request for a service (i.e. a service request) in the network or a request for a notification (i.e. a notification request) in the network. A service request is generally from a consumer of the service (“service consumer”) to a producer of the service (“service producer”). For example, a service request may be from a network function (NF) node of a service consumer to an NF node of a service producer. The NF node of the service consumer and the NF node of the service producer can communicate directly or indirectly. This is referred to as direct communication and indirect communication respectively. In the case of indirect communication, the NF node of the service consumer and the NF node of the service producer may communicate via a service communication proxy (SCP) node.
Thus, for a regular request such as a service request, a client may refer to an NF node of a service consumer and/or an SCP, and a server may refer to an NF node of a service producer and/or an SCP. For a notification request, a client may refer to an NF node of a service producer and/or an SCP, and a server may refer to an NF node of a service consumer and/or an SCP.
In the systems illustrated in
In the systems illustrated in
In the system illustrated in
In the system illustrated in
For the fifth generation core (5GC), from Release 16, the SCP node is included as a network element to allow indirect communication between an NF node of a service consumer and an NF node of a service producer. That is, the SCP node can be used in indirect routing scenarios. The indirect communication that is used can be either of the two indirect communications options described earlier with reference to
In some scenarios, a client (e.g. an NF node of a service consumer) may need to initially select and/or reselect (e.g. in case of a failure) a server (e.g. an NF node of a service producer) among a possible plurality of (e.g. functionally equivalent) server instances. Commonly, this selection and/or reselection can be performed based on server characteristics (or properties). These characteristics may be any one or more of those that are defined in a profile of the server. The characteristics can include, for example, server instance, server service instance priority, locality, capacity, and/or load, etc.
In existing techniques, customers can request that an NF (e.g. service) instance upgrade (such as a software upgrade) is tested and this can be with a controlled amount of traffic. For example, it may be that full traffic towards an upgraded NF (e.g. service) instance is only considered once stability has been proven via testing. In this example, the testing is performed at NF (e.g. service) instance level. Testing with a controlled amount of traffic can be referred to as “canary testing”.
However, even when employing canary testing, multiple upgrades in a network can impact network functionality. For example, multiple NFs and/or multiple NF service types in an end-to-end signalling path can be impacted by the upgrades.
It is an object of the disclosure to obviate or eliminate at least some of the above-described disadvantages associated with existing techniques.
Therefore, according to an aspect of the disclosure, there is provided a first method for handling messages in a network. The first method is performed by a first network function (NF) node in the network. The first method comprises initiating transmission of a first message towards a second NF node in the network in response to an event that signals first information is to be managed by a third NF node in the network. The first message comprises the first information and an indication of whether the third NF node is to be an NF node that supports testing in the network. The first message comprises the indication for the third NF node to take into account when managing the first information.
According to another aspect of the disclosure, there is provided a first NF node comprising processing circuitry configured to operate in accordance with the first method described in respect of the first NF node. In some embodiments, the first NF node may comprise at least one memory for storing instructions which, when executed by the processing circuitry, cause the first NF node to operate in accordance with the first method described in respect of the first NF node.
According to another aspect of the disclosure, there is provided a second method for handling messages in a network. The second method is performed by a second NF node in the network. The second method comprises receiving a first message from a first NF node in the network in response to an event that signals first information is to be managed by a third NF node in the network. The first message comprises the first information and an indication of whether the third NF node is to be an NF node that supports testing in the network. The first message comprises the indication for the third NF node to take into account when managing the first information.
According to another aspect of the disclosure, there is provided a second NF node comprising processing circuitry configured to operate in accordance with the second method described in respect of the second NF node. In some embodiments, the second NF node may comprise at least one memory for storing instructions which, when executed by the processing circuitry, cause the second NF node to operate in accordance with the second method described in respect of the second NF node.
According to another aspect of the disclosure, there is provided a third method performed by a system. The third method comprises the method described in respect of the first NF node and the method described in respect of the second NF node.
According to another aspect of the disclosure, there is provided a system comprising at least one first NF node as described earlier and at least one second NF node as described earlier.
According to another aspect of the disclosure, there is provided a computer program comprising instructions which, when executed by processing circuitry, cause the processing circuitry to perform the first method described in respect of the first NF node and/or the second method described in respect of the second NF node.
According to another aspect of the disclosure, there is provided a computer program product, embodied on a non-transitory machine-readable medium, comprising instructions which are executable by processing circuitry to cause the processing circuitry to perform the first method described in respect of the first NF node and/or the second method described in respect of the second NF node.
Therefore, there is provided an improved technique for handling messages in a network.
For a better understanding of the techniques, and to show how they may be put into effect, reference will now be made, by way of example, to the accompanying drawings, in which:
Some of the embodiments contemplated herein will now be described more fully with reference to the accompanying drawings. Other embodiments, however, are contained within the scope of the subject-matter disclosed herein, the disclosed subject-matter should not be construed as limited to only the embodiments set forth herein; rather, these embodiments are provided by way of example to convey the scope of the subject-matter to those skilled in the art.
Herein, techniques for handling messages in a network are described. The techniques described herein can be used in respect of any network, such as any communications or telecommunications network, e.g. cellular network. The network may be a fifth generation (5G) network or any other generation network. In some embodiments, the network may be a core network or a radio access network (RAN). The techniques are implemented by a first network function (NF) node and a second NF node.
An NF is a third generation partnership project (3GPP) adopted, or 3GPP defined, processing function in a network, which has defined functional behaviour and 3GPP defined interfaces. An NF can be implemented either as a network element on a dedicated hardware, as a software instance running on a dedicated hardware, or as a virtualised function instantiated on an appropriate platform, e.g. on a cloud infrastructure. Herein, the term “node” in relation to an “NF node” will be understood to cover each of these scenarios. Herein, references to a plurality of NF nodes may refer to, for example, functionally equivalent instances of NF nodes.
In some embodiments, the first NF node 10 referred to herein can be a wireless device, e.g. a user equipment (UE). In some embodiments, the first NF node 10 referred to herein may be an access and mobility management function (AMF) node or a network exposure function (NEF) node. In some embodiments, such as those where the first message referred to herein is a service request, the first NF node 10 can be a first NF node of a service consumer. In some embodiments, the service consumer referred to herein can be a network operator, such as a mobile network operator (MNO).
As illustrated in
Briefly, the processing circuitry 12 of the first NF node 10 is configured to initiate transmission of a first message towards a second NF node in the network in response to an event that signals first information is to be managed by a third NF node in the network. The first message comprises the first information and an indication of whether the third NF node is to be an NF node that supports testing in the network. The first message comprises the indication for the third NF node to take into account when managing the first information. Herein, the term “initiate” can mean, for example, cause or establish. Thus, the processing circuitry 12 of the first NF node 10 can be configured to itself transmit the first message (e.g. via the communications interface 16 of the first NF node 10) or can be configured to cause another node to transmit the first message.
As illustrated in
The processing circuitry 12 of the first NF node 10 can be communicatively coupled (e.g. connected) to the memory 14 of the first NF node 10. In some embodiments, the memory 14 of the first NF node 10 may be for storing program code or instructions which, when executed by the processing circuitry 12 of the first NF node 10, cause the first NF node 10 to operate in the manner described herein in respect of the first NF node 10. For example, in some embodiments, the memory 14 of the first NF node 10 may be configured to store program code or instructions that can be executed by the processing circuitry 12 of the first NF node 10 to cause the first NF node 10 to operate in accordance with the method described herein in respect of the first NF node 10. Alternatively or in addition, the memory 14 of the first NF node 10 can be configured to store any information, data, messages, requests, responses, indications, notifications, signals, or similar, that are described herein. The processing circuitry 12 of the first NF node 10 may be configured to control the memory 14 of the first NF node 10 to store any of the information, data, messages, requests, responses, indications, notifications, signals, or similar, that are described herein.
In some embodiments, as illustrated in
Although the first NF node 10 is illustrated in
With reference to
Herein, an NF node that supports testing in the network can be an NF node that is enabled (e.g. configured) to carry out testing. Such an NF node can be said to be “testing enabled”. In some embodiments, an NF node that supports testing in the network can be an NF node that supports testing with a predefined (e.g. controlled) amount of network traffic. That is, an NF node that supports testing in the network can be an NF node that supports canary testing in the network. Thus, any reference to “testing” referred to herein can comprise “canary testing”. Also, herein, an NF node that supports testing in the network can be an NF node that is already undergoing testing (i.e. that is under testing) in the network or an NF node that is capable of undergoing testing (i.e. that is capable of being under testing) in the network.
In some embodiments, it can be the case that the third NF node is to be an NF node that supports testing in the network if the first information comprises information that is to be managed under testing conditions, the first information corresponds to an entity that is under testing in the network, and/or the first information corresponds to one or more functionalities that are under testing in the network.
In some embodiments, the first information may correspond to one or more functionalities that are under testing in the network. In some of these embodiments, the first message may comprise an indication of the one or more functionalities that are under testing in the network.
Although not illustrated in
Although also not illustrated in
Although also not illustrated in
In some embodiments, where an NF node that supports testing in the network is available, selecting the third NF node to manage the first information may comprise selecting the third NF node to be an NF node that supports testing in the network. In some of these embodiments, the first message may comprise an indication that the third NF node supports testing in the network. In some embodiments, selecting the third NF node to be an NF node that supports testing in the network may comprise selecting the third NF node to be an NF node having a profile comprising one or more attributes indicative that the NF node supports testing in the network. In some of these embodiments, the profile may comprise a plurality of attributes and each attribute of the plurality of attributes can be indicative that the NF node supports testing in the network in respect of a different functionality. In some embodiments, the first message may comprise an indication of one or more functionalities that are under testing in the network and the third NF node selected can be an NF node that supports testing in the network for the one or more functionalities.
In some embodiments, where an NF node that supports testing in the network is not available, selecting the third NF node to manage the first information may comprise selecting the third NF node to be an NF node that does not support testing in the network. In some of these embodiments, the first message may comprise an indication that the third NF node does not support testing in the network.
In some embodiments, the first message may comprise a request for an indication of whether the third NF node supports testing in the network. Although not illustrated in
In some embodiments, such as those where the first message referred to herein is a service request, the second NF node 20, 50 can be a second NF node of a service producer. In some embodiments, the second NF node 20, 50 referred to herein can be a session management function (SMF) node 20 or a policy control function (PCF) node 50. In other embodiments, the second NF node 70 referred to herein can be a service communication proxy (SCP) node that is configured to operate as an SCP between the first NF node 10 referred to herein and the third NF node referred to herein. In some embodiments, the third NF node referred to herein can be the same NF node as the second NF node 20, 50. Thus, in some embodiments, the third NF node can be as described herein in respect of the second NF node 20, 50.
As illustrated in
Briefly, the processing circuitry 22 of the second NF node 20, 50, 70 is configured to receive a first message from the first NF node 10 in the network in response to an event that signals first information is to be managed by a third NF node in the network. The first message comprises the first information and an indication of whether the third NF node is to be an NF node that supports testing in the network. The first message comprises the indication for the third NF node to take into account when managing the first information.
As illustrated in
The processing circuitry 22 of the second NF node 20, 50, 70 can be communicatively coupled (e.g. connected) to the memory 24 of the second NF node 20, 50, 70. In some embodiments, the memory 24 of the second NF node 20, 50, 70 may be for storing program code or instructions which, when executed by the processing circuitry 22 of the second NF node 20, 50, 70, cause the second NF node 20, 50, 70 to operate in the manner described herein in respect of the second NF node 20, 50, 70. For example, in some embodiments, the memory 24 of the second NF node 20, 50, 70 may be configured to store program code or instructions that can be executed by the processing circuitry 22 of the second NF node 20, 50, 70 to cause the second NF node 20, 50, 70 to operate in accordance with the method described herein in respect of the second NF node 20, 50, 70. Alternatively or in addition, the memory 24 of the second NF node 20, 50, 70 can be configured to store any information, data, messages, requests, responses, indications, notifications, signals, or similar, that are described herein. The processing circuitry 22 of the second NF node 20, 50, 70 may be configured to control the memory 24 of the second NF node 20, 50, 70 to store any of the information, data, messages, requests, responses, indications, notifications, signals, or similar, that are described herein.
In some embodiments, as illustrated in
Although the second NF node 20, 50, 70 is illustrated in
With reference to
In some embodiments, it can be the case that the third NF node is to be an NF node that supports testing in the network if the first information comprises information that is to be managed under testing conditions, the first information corresponds to an entity that is under testing in the network, and/or the first information corresponds to one or more functionalities that are under testing in the network.
In some embodiments, the first information may correspond to one or more functionalities that are under testing in the network. In some of these embodiments, the first message may comprise an indication of the one or more functionalities that are under testing in the network.
In some embodiments, such as those where the first NF node selects the third NF node, the first message may comprise an indication of whether the third NF node supports testing in the network.
Although not illustrated in
In some embodiments, where an NF node that supports testing in the network is not available, selecting the third NF node to manage the first information may comprise selecting the third NF node to be an NF node that does not support testing in the network.
In some embodiments, such as those where the second NF node selects the third NF node, the first message may comprise a request for an indication of whether the third NF node supports testing in the network.
Although not illustrated in
Although also not illustrated in
Although also not illustrated in
In some embodiments, the first message referred to herein may comprise one or more parameters on the basis of which the third NF node is to be selected. In some embodiments, the first message referred to herein may comprise an indication of an application programming interface (API) root of a uniform resource identifier (URI) to be used to reach the third NF node. Alternatively or in addition, in some embodiments, the first message referred to herein may comprise an indication of a set of NF nodes from which the third NF node is to be selected. In some embodiments, the NF nodes of a set of NF nodes can have one or more characteristics in common. For example, the NF nodes of a set of NF nodes can be of the same type (e.g. they can all be session management function (SMF) nodes, policy control function (PCF) nodes, or another type of NF node), can support the same service(s), and/or can support the same network slice(s). The NF nodes of a set of NF nodes may be deployed in different locations (e.g. different data centers) and/or have access to (or share) the same context data. The NF nodes of a set of NF nodes can thus be interchangeable.
As mentioned earlier, the first message referred to herein comprises the indication for the third NF node to take into account when it manages the first information (e.g. when it executes a service in embodiments where the first information is a request for a service to be provided).
For example, if the indication is that the third NF node is to be an NF node that supports testing in the network and the third NF node supports testing in the network, the third NF node may manage the first information (e.g. execute the service) under testing conditions. In this case, the third NF node may optionally also initiate transmission of the first message towards at least one other (fourth) NF node in the network and, in the same way as the third NF node, the at least one other (fourth) NF node can take into account the indication when it manages the first information.
On the other hand, if the indication is that the third NF node is to be an NF node that supports testing in the network and the third NF node does not support testing in the network, the third NF node may initiate transmission of a response towards the first NF node to indicate this and/or initiate transmission of the first message towards at least one other (fourth) NF node in the network. In the same way as the third NF node, the at least one other (fourth) NF node can take into account the indication when it manages the first information.
In some embodiments, the first information referred to herein can be a request for (e.g. the third NF node to provide) a service, such as a service requested by the first NF node 10. For example, the request can be a service-based interface (SBI) request. Generally, a service is software intended to be managed for users. Herein, a service can be any type of service, such as a communication service (e.g. a notification service or a callback service), a context management (e.g. user equipment context management (UECM)) service, a data management (DM) service, or any other type of service. In a more specific embodiment, the service referred to herein can be a service that provides a notification to the first NF node 10 of a change to an international mobile equipment identity (IMEI) or a permanent equipment identifier (PMI) for any of the wireless devices. In another more specific embodiment, the service can be a service that provides a notification to the first NF node 10 of any of the wireless devices moving from one public land mobile network (PLMN) to another PLMN. However, these are only some example use cases and the techniques described herein are also applicable to many other use cases. Herein, references to providing a service can refer to, for example, executing or running the service.
In some embodiments, the event referred to herein can be an event internal to the first NF node 10. In other embodiments, the event referred to herein can be an event external to the first NF node 10. In some embodiments, the event referred to herein can be any trigger of an “under testing” procedure, such as any procedure that involves testing in the network. In some embodiments, the (e.g. internal) event referred to herein can be a monitoring event that is configured in the first NF node 10. For example, the monitoring event can be the first NF node 10 identifying that a wireless device (e.g. UE) moved from the network, a certain timer reaching a threshold, or any other monitoring event. In some embodiments, the (e.g. external) event referred to herein can be the first NF node 10 receiving the first information. In some embodiments, the first information referred to herein may be received from an entity to which the first information corresponds.
The entity referred to herein (e.g. to which the first information corresponds and/or from which the first information is received) may be an application function (AF) node, a wireless device, or any other entity. For example, the entity referred to herein may be an AF node in embodiments where the first NF node 10 referred to herein is an NEF node. In this case, the identifier of the AF node can, for example, be a GPSI. Similarly, the entity referred to herein may be a wireless device in embodiments where the first NF node 10 referred to herein is an AMF node.
The wireless device referred to herein can comprise any type, and any combination of types, of wireless device. Examples of a type of wireless device as referred to herein include, but are not limited to, a user equipment (UE), such as a smart phone, a mobile phone, a cell phone, a voice over IP (VoIP) phone, a wireless local loop phone, a desktop computer, a personal digital assistant (PDA), a wireless camera, a gaming console or device, a music storage device, a playback appliance, a wearable terminal device, a wireless endpoint, a mobile station, a tablet, a laptop, a laptop-embedded equipment (LEE), a laptop-mounted equipment (LME), a smart device, a wireless customer-premise equipment (CPE), a vehicle-mounted wireless terminal device, etc. The wireless device as referred to herein may support device-to-device (D2D) communication, for example, by implementing a third generation partnership project (3GPP) standard for sidelink communication, vehicle-to-vehicle (V2V), vehicle-to-infrastructure (V2I), vehicle-to-everything (V2X) and may in this case be referred to as a D2D communication device.
As yet another specific example, in an Internet of Things (IoT) scenario, the wireless device as referred to herein may represent a machine or other device that performs monitoring and/or measurements, and transmits the results of such monitoring and/or measurements to another wireless device and/or a network node. The wireless device as referred to herein may in this case be a machine-to-machine (M2M) device, which may in a 3GPP context be referred to as a machine type communication (MTC) device.
As one particular example, the wireless device as referred to herein may be a user equipment (UE), e.g. implementing the 3GPP narrow band internet of things (NB-IoT) standard. Particular examples of such machines or devices are sensors, metering devices such as power meters, industrial machinery, or home or personal appliances (e.g. refrigerators, televisions, etc), personal wearables (e.g. watches, fitness trackers, etc). In other scenarios, the wireless device as referred to herein may represent a vehicle or other equipment that is capable of monitoring and/or reporting on its operational status or other functions associated with its operation. The wireless device as referred to herein may represent the endpoint of a wireless connection, in which case the wireless device as referred to herein may be referred to as a wireless terminal. Furthermore, the wireless device as referred to herein may be mobile, in which case it may also be referred to as a mobile device or a mobile terminal.
The wireless device referred to herein can be a wireless device in a fifth generation core (5GC) network. In some embodiments, the wireless devices referred to herein can be in a single PLMN or a plurality of PLMNs.
As mentioned earlier, in some embodiments, the first NF node 10 referred to herein may be an access and mobility management function (AMF) node or a network exposure function (NEF) node. Alternatively or in addition, in some embodiments, the third NF node referred to herein may be a session management function (SMF) node or a policy control function (PCF) node.
In some embodiments, the third NF node referred to herein can be the same NF node as the second NF node referred to herein. In other embodiments, the third NF node referred to herein can be a different NF node from the second NF node referred to herein. In some embodiments, where the third NF node is a different NF node from the second NF node, the second NF node referred to herein can be a service communication proxy (SCP) node that is configured to operate as an SCP between the first NF node 10 referred to herein and the third NF node referred to herein.
In some embodiments, the SCP node referred to herein and the first NF node 10 referred to herein may be deployed in independent deployment units, and/or the SCP node referred to herein and one or both of the second NF node referred to herein and third NF node referred to herein may be deployed in independent deployment units. Thus, an SCP node based on independent deployment units is possible, as described in 3GPP TS 23.501 V17.3.0. In other embodiments, the SCP node referred to herein may be deployed as a distributed network element. For example, in some embodiments, part (e.g. a service agent) of the SCP node referred to herein may be deployed in the same deployment unit as the first NF node 10 referred to herein, and/or part (e.g. a service agent) of the SCP node referred to herein may be deployed in the same deployment unit as one or both of the second NF node referred to herein and third NF node referred to herein. Thus, an SCP node based on a service mesh is possible, as described in 3GPP TS 23.501 V17.3.0.
In some embodiments, the SCP node referred to herein can be a first SCP node and at least one second SCP node may be configured to operate as an SCP between the first NF node 10 referred to herein and the first SCP node referred to herein, and/or at least one third SCP node may be configured to operate as an SCP between the first SCP node referred to herein and one or both of the second NF node referred to herein and the third NF node referred to herein. Thus, a multipath of SCP nodes is possible. In some embodiments, the first SCP node referred to herein and the at least one second SCP node and/or the at least one third SCP node may be deployed in independent deployment units. In some embodiments, the at least one second SCP node and/or the at least one third SCP node may be deployed as distributed network elements. In some embodiments, an entity may comprise the first SCP node referred to herein and a network repository function (NRF) node.
There is also provided a system comprising at least one first NF node 10 as described herein and at least one second NF node 20, 50, 70 as described herein. A method performed by the system comprises the method described herein in respect of the first NF node 10 and the method described herein in respect of the second NF node 20, 50, 70. Some example systems will now be described with reference to the signalling diagrams of
Although examples of the types of nodes/entities and the number of nodes/entities have been provided with reference to
As illustrated by arrow 100 of
As illustrated by block 106 of
As illustrated by arrow 108 of
As illustrated by block 112 of
As illustrated by arrow 114 of
As mentioned above, for the selection of an NF node to manage the first information (e.g. execute a service request), it is not known whether or not the selected NF node 20, 60 supports testing (e.g. canary testing). It is also not possible to identify whether or not the first information (e.g. certain requests and/or other network traffic) that is to be managed is itself under testing (e.g. canary testing) or whether or not the UE 30 from which the first information is received supports testing (e.g. canary testing). There is thus no control over which first information reaches each NF node 20, 40, 50, 60. The first information is transmitted to one or more NF nodes 20, 40, 50, 60 regardless of whether those one or more NF nodes 20, 40, 50, 60 support testing (e.g. canary testing) in the network. As such, there is no control on the amount of network traffic that reaches an NF node that supports testing (e.g. canary testing) in the network. This can result in NF nodes becoming overloaded and/or failing.
These problems can be resolved by way of the technique described herein, such as in the manner illustrated in
As illustrated in
Although examples of the types of nodes/entities and the number of nodes/entities have been provided with reference to
As illustrated by arrow 400 of
As illustrated by block 402 of
In some embodiments, the AMF node 10 may check whether second information stored in a memory is indicative that the NF node that is to manage the first information is to be an NF node that supports testing in the network. The memory can be a memory 14 of the AMF node 10 or a memory external to the AMF node 10. In some embodiments, a unified data management (UDM) node may comprise the memory external to the AMF node 10 and/or the memory external to the AMF node 10 may be a unified data repository (UDR). In some embodiments, the second information stored in the memory can be a profile (e.g. subscription profile) of the UE 30 to which the first information corresponds. This profile can, for example, comprise an attribute indicative of whether an NF node that supports testing in the network is required. In some embodiments, the AMF node 10 may acquire an identifier (e.g. SUCI, SUPI, GPSI, and/or other identifier) for the UE 30 to which the first information corresponds and identify the profile of the UE 30 using the identifier. The profile of the UE 30 may comprise the identifier. In a more detailed example, the AMF node 10 may identify the subscription to which the request corresponds (e.g. based on the identifier for the UE 30) and, in the corresponding subscription profile, it may be newly indicated (e.g. provisioned in the UDM node) that the subscription is under testing (e.g. by a new attribute).
In this way, the AMF node 10 can identify whether the first information is required to be managed by a part of the network that supports testing based on local configuration or the AMF node 10 (or other NF node that has access to the UDM node and/or UDR data like the AMF node 10) may check information in a profile. The profile may indicate one or more functionalities (or features) that are under testing. It may be, for example, that one functionality is defined to be under testing, such as by configuration or in the profile.
In these cases, the AMF node 10 may identify whether the first information is related to this functionality. That is, based on the functionality executed by the AMF node 10 (e.g. as per reception of the first information), certain logic may be executed, that may be configured to be under testing. For example, the functionality can be a mobility from one type of network to another type of network (e.g. a fourth generation (4G) network to a fifth generation (5G) network), a specific authentication method, and/or any other functionality. In some embodiments, a plurality of functionalities may be defined to be under testing simultaneously, such as for a given subscription or set of subscriptions.
In the embodiment of
If an NF node that supports testing in the network is available, then the AMF node 10 can select such an NF node to manage the first information. Thus, as illustrated by block 406 of
In some embodiments, if the first information is affected by testing, the AMF node 10 may select an NF node among suitable ones (e.g. based on one or more selection criteria) that are defined to support testing. In order to identify the NF nodes that support testing, the AMF node may check a new attribute in the NF profile that is indicative of that. Thus, in some embodiments, the AMF node 10 may select an NF node having a profile comprising one or more attributes indicative that the NF node supports testing in the network. In some cases, the profile may comprise a plurality of attributes and each attribute of the plurality of attributes can be indicative that the NF node supports testing in the network in respect of a different functionality. For example, the NF profile may comprise a plurality of values that can correspond to different functionalities (or features/modifications) that may be under testing independently. This can allow different NF nodes to be defined for different functionalities under testing and this is known easily by the AMF node 10 based on the attribute(s) in the NF profile. The AMF node 10 may have access to NF profiles either by discovering them from a network repository function (NRF) node or using previously cached discovery results. For example, the AMF node 10 may acquire the NF profiles either by requesting them from the NRF node or by retrieving them from a memory 14 of the AMF node 10.
On the other hand, if an NF node that supports testing in the network is not available, then the AMF node 10 can select such an NF node to manage the first information. For example, it can be the case that the first information is affected by testing but the AMF node 10 fails to discover a suitable NF node that supports testing and, in such a case, the AMF node 10 may select any NF node in the normal way.
For completeness, it is noted that, if the first information is not affected by testing, then any NF node may be selected in the normal way.
However, in the embodiment illustrated in
The first message can, for example, comprise an indication that indicates whether the first information is under testing, e.g. with granularity to indicate one or more functionalities that may be under testing. The fact that the first information is under testing can be indicative that an NF node that is to manage the first information is to be an NF node that supports testing in the network. The indication about which one or more functionalities are under testing can allow the receiving NF node to later find another (next) NF node in the signalling path. It may be necessary to find another (next) NF node, for example, where the previous receiving NF node is indicated as supporting testing only for a certain functionality (or certain functionalities).
If an NF node that supports testing in the network is selected to manage the first information, as is the case in the embodiment illustrated in
As illustrated by arrow 410 of
The SMF node 20 receiving the first message (whether it is a testing enabled NF as in this embodiment or a non-testing enabled NF selected because no testing enabled NFs were found by the AMF node 10) may know that the first information is under testing (and optionally what functionality is affected) based on the indication included in the first message. Then, the SMF node 20 behaves in the same way as the AMF node 10 from block 412 of
That is, if an NF node that supports testing in the network is available, then the SMF node 20 can select such an NF node to manage the first information. Thus, as illustrated by block 412 of
As illustrated by arrow 414 of
Although not illustrated in
As illustrated in
Although examples of the types of nodes/entities and the number of nodes/entities have been provided with reference to
At steps 500 to 508 and steps 512 to 516 of
Although steps 500 to 508 and steps 512 to 516 of
Thus, as illustrated by arrow 508 of
Step 518 of
In the embodiment illustrated in
If the indication of whether the selected NF node 20, 50 supports testing in the network is not included in a message, it may be interpreted by the NF node that receives that message that testing (e.g. E2E testing) has been unsuccessful, e.g. due to lack of support for the testing functionality by that receiving NF node. The indication of whether the selected NF node 20, 50 supports testing in the network can provide a key performance indicator (KPI) for the result of the testing. The NF nodes 10, 20, 50 can propagate the indication to have end-to-end KPI visibility.
As illustrated in
Although examples of the types of nodes/entities and the number of nodes/entities have been provided with reference to
In some embodiments, the AMF node 10 may provide information about the one or more selected NF nodes to the SCP node 70. The SCP node 70 may be responsible for further selection of an NF node (e.g. within a provided set of NF nodes, if any). The information about an NF node can be, for example, an indication of an application programming interface (API) root of a uniform resource identifier (URI) to be used to reach the NF node and/or an indication of a set of NF nodes from which the NF node is to be selected. In the art, the API root of the uniform resource identifier URI can be referred to as the “sbi-target-apiroot” and the set of NF nodes can be referred to as the “sbi-target-nf-set”.
In more detail, at steps 600 to 606 of
Step 612 of
Steps 614 and 616 of
As illustrated in
Although examples of the types of nodes/entities and the number of nodes/entities have been provided with reference to
In the embodiment illustrated in
In more detail, at steps 700 to 702 of
Step 712 of
Steps 714 and 716 of
The techniques described herein thus relate to testing (e.g. canary testing) in a network. This can also be referred to as network (e.g. canary) testing. In some embodiments, the techniques described herein can be based on an identification by the origin NF node (e.g. the first NF node 10 referred to herein) of whether the first information (e.g. the request) referred to herein is subject to testing. For example, this can be based on local configuration at the origin NF node or on a subscription for the entity 30 to which the first information corresponds, which may be obtained from a UDM node according to some embodiments (e.g. at registration of the origin NF node at the UDM node). In some embodiments, the testing may be defined only for one or more specific entities (e.g. UEs) and/or one or more specific functionalities. It may be that only part of the network traffic is routed via one or more NFs that support testing.
If the first information (e.g. the request) referred to herein is subject to network testing, then the origin NF node can select among the suitable NF nodes one that is configured as “supporting testing” (e.g. “under testing” or “under canary testing”) for that NF node to manage the first information. An indication of whether an NF node supports testing can be part of the NF profile, such as the NF profile that is registered in an NRF node. As an option, the indication may include one or more potentially under testing functionalities. Thus, testing of multiple functionalities in the network can be allowed (e.g. simultaneously). If no NF node that supports testing is found, any other node can be selected.
For network traffic that is not identified as under testing, it may be that an NF node identified as supporting testing is not selected. In this case, the origin NF node may include an indication in the first message that is sent to the selected NF node. This indication can identify that network testing is ongoing for this first information and can optionally also indicate one or more specific functionalities to which it applies.
The peer NF node (e.g. the second NF node 20, 50, 70 referred to herein) that receives the first information (e.g. the request) referred to herein can behave as if it were the origin NF node. That is, the peer NF node may itself select a peer NF node, e.g. following the same testing criteria. It may be that the origin NF node sends multiple first messages towards multiple peer NF nodes according to some embodiments and the behaviour of each peer NF node may be similar.
A definition of the one or more functionalities (or features) referred to herein that may be under testing will now be described.
The one or more functionalities (or features) referred to herein can be provided (e.g. as a list) in an NF profile. Thus, a first definition is provided for the one or more functionalities in the NF profile. In this respect, the one or more functionalities can be encoded in the NF profile in different ways. In some embodiments, the one or more functionalities can be encoded using the “customInfo” attribute of the NF profile defined in 3GPP TS 29.510 V17.4.0. The format of the (e.g. list of) one or more functionalities can be implementation-specific. In some embodiments, the one or more functionalities can be encoded by defining a new attribute in the NF profile defined in sections 6.1.6.2.2 and 6.2.6.2.3 of 3GPP TS 29.510 V17.4.0. For example, the one or more functionalities may be defined as follows:
A new “CanaryFeatureType” may also be defined as follows:
The one or more functionalities (or features) referred to herein can be provided (e.g. as a list) in the first message, which can be an SBI request or any other request. Thus, a second definition is provided for the one or more functionalities in the first message. In this respect, the first message can comprise a header (e.g. a hypertext transfer protocol (HTTP) header) and the header can comprise the one or more functionalities. For example, the one or more functionalities (or features) may be defined as follows:
Other embodiments include those defined in the following numbered statements:
Embodiment 1. A method for handling messages in a network, wherein the method is performed by a first network function, NF, node (10) in the network, the method comprising:
Embodiment 2. A method according to Embodiment 1, wherein:
Embodiment 3. A method according to Embodiment 1 or 2, wherein:
Embodiment 4. A method according to any of the preceding Embodiments, the method comprising:
Embodiment 5. A method according to Embodiment 4, wherein:
Embodiment 6. A method according to Embodiment 5, wherein:
Embodiment 7. A method according to Embodiment 6, wherein:
Embodiment 8. A method according to any of Embodiments 5 to 7, wherein:
Embodiment 9. A method according to Embodiment 8, the method comprising:
Embodiment 10. A method according to Embodiment 9, wherein:
Embodiment 11. A method according to any of the preceding Embodiments, the method comprising:
Embodiment 12. A method according to Embodiment 11, wherein:
Embodiment 13. A method according to Embodiment 12, wherein:
Embodiment 14. A method according to Embodiment 12 or 13, wherein:
Embodiment 15. A method according to Embodiment 14, wherein:
Embodiment 16. A method according to any of Embodiments 12 to 15, wherein:
Embodiment 17. A method according to Embodiment 11, wherein:
Embodiment 18. A method according to Embodiment 17, wherein:
Embodiment 19. A method according to any of the preceding Embodiments, wherein:
Embodiment 20. A method according to Embodiment 19, the method comprising:
Embodiment 21. A method according to any of the preceding Embodiments, wherein:
Embodiment 22. A method according to any of the preceding Embodiments, wherein:
Embodiment 23. A method according to any of the preceding Embodiments, wherein:
Embodiment 24. A method according to any of the preceding Embodiments, wherein:
Embodiment 25. A method according to any of the preceding Embodiments, wherein:
Embodiment 26. A method according to any of the preceding Embodiments, wherein:
Embodiment 27. A method according to Embodiment 26, wherein:
Embodiment 28. A method according to any of the preceding Embodiments, wherein:
Embodiment 29. A method for handling messages in a network, wherein the method is performed by a second network function, NF, node (20, 50, 70) in the network, the method comprising:
Embodiment 30. A method according to Embodiment 29, wherein:
Embodiment 31. A method according to Embodiment 29 or 30, wherein:
Embodiment 32. A method according to any of Embodiments 29 to 31, wherein:
Embodiment 33. A method according to any of Embodiments 29 to 32, the method comprising:
Embodiment 34. A method according to Embodiment 33, wherein:
Embodiment 35. A method according to Embodiment 34, wherein:
Embodiment 36. A method according to Embodiment 35, wherein:
Embodiment 37. A method according to any of Embodiments 34 to 36, wherein:
Embodiment 38. A method according to Embodiment 33, wherein:
Embodiment 39. A method according to any of Embodiments 29 to 38, wherein:
Embodiment 40. A method according to Embodiment 39, the method comprising:
Embodiment 41. A method according to any of Embodiments 29 to 40, wherein:
Embodiment 42. A method according to any of Embodiments 29 to 41, wherein:
Embodiment 43. A method according to any of Embodiments 29 to 42, wherein:
Embodiment 44. A method according to any of Embodiments 29 to 43, wherein:
Embodiment 45. A method according to any of Embodiments 29 to 44, wherein:
Embodiment 46. A method according to any of Embodiments 29 to 45, wherein:
Embodiment 47. A method according to any of Embodiments 29 to 45, wherein:
Embodiment 48. A method according to Embodiment 47, wherein:
Embodiment 49. A method according to Embodiment 47 or 48, the method comprising:
Embodiment 50. A method according to any of Embodiments 47 to 49, the method comprising:
Embodiment 51. A method according to any of Embodiments 29 to 50, wherein:
Embodiment 52. A method performed by a system, the method comprising:
Embodiment 53. A first network function, NF, node (10) comprising:
Embodiment 54. A first NF node (10) according to Embodiment 53, wherein:
Embodiment 55. A second network function, NF, node (20, 50, 70) comprising:
Embodiment 56. A second NF node (20, 50, 70) according to Embodiment 55, wherein:
Embodiment 57. A system comprising:
Embodiment 58. A computer program comprising instructions which, when executed by processing circuitry, cause the processing circuitry to perform the method according to any of Embodiments 1 to 28 and/or any of Embodiments 29 to 51.
Embodiment 59. A computer program product, embodied on a non-transitory machine-readable medium, comprising instructions which are executable by processing circuitry to cause the processing circuitry to perform the method according to any of Embodiments 1 to 28 and/or any of Embodiments 29 to 51.
The technique described herein provides a mechanism to support network testing (e.g. canary testing). In some embodiments, the technique described herein can be based on the identification by an origin NF node 10 of whether the first information (e.g. request/interaction received) corresponds to an entity 30 and/or functionality under testing. In some embodiments, the peer NF nodes 20, 50, 70 can be configured with an indication of whether they support testing.
In the manner described herein, testing can be considered at network level, which can be particularly beneficial. For example, in order to test an upgraded network functionality, it is beneficial for the signalling path to traverse all the NF types and/or NF service types that have been upgraded (e.g. as part of the same network functionality upgrade). Otherwise, the functionality may only be partially tested and unwanted effects in the signalling may occur. On the other hand, a software upgrade is generally not performed for individual functionalities (or corrections) and instead periodic software upgrades can be planned, e.g. as part of a package of functionalities. This can be, for example, every 3 months. This means that, in some cases, it is possible that a software upgrade can impact multiple (e.g. many, if not all) the NF types and/or NF service types in the network. Thus, testing at network level is advantageous and there is provided herein a mechanism to support that.
The mechanism provides various technical advantages. For example, the mechanism can provide support for network testing that may be required by customers. The mechanism can allow testing from the origin and/or can involve one or more (e.g. multiple or all) NF nodes that support testing in the signalling path. The network testing may be based on a limited amount of entities (e.g. UEs), which may even be selected among specific entities that are defined for testing, thereby limiting impact if there is any failure. In case there is partitioning (or segmentation) in the network, the mechanism can allow the testing to be constrained to one or more specific partitions (or segments) in the network if required. The mechanism can allow a determination to be made that one or more functionalities are under testing and then, for example, only first information (e.g. requests) specific for the one or more functionalities may be routed to one or more NF nodes that support testing. This can allow control over the impacts of testing in case of error.
There is also provided a computer program comprising instructions which, when executed by processing circuitry (such as the processing circuitry 12 of the first NF node 10 described earlier and/or the processing circuitry 22 of the second NF node 20, 50, 70 described earlier), cause the processing circuitry to perform at least part of the method described herein. There is provided a computer program product, embodied on a non-transitory machine-readable medium, comprising instructions which are executable by processing circuitry (such as the processing circuitry 12 of the first NF node 10 described earlier and/or the processing circuitry 22 of the second NF node 20, 50, 70 described earlier) to cause the processing circuitry to perform at least part of the method described herein. There is provided a computer program product comprising a carrier containing instructions for causing processing circuitry (such as the processing circuitry 12 of the first NF node 10 described earlier and/or the processing circuitry 22 of the second NF node 20, 50, 70 described earlier) to perform at least part of the method described herein.
In some embodiments, the carrier can be any one of an electronic signal, an optical signal, an electromagnetic signal, an electrical signal, a radio signal, a microwave signal, or a computer-readable storage medium.
In some embodiments, the node functionality described herein can be performed by hardware. Thus, in some embodiments, any one or more of the first NF node 10, the second NF node 20, the third NF node 50, and the SCP node 70 described herein can be a hardware node. However, it will also be understood that optionally at least part or all of the node functionality described herein can be virtualized. For example, the functions performed by any one or more of the first NF node 10, the second NF node 20, the third NF node 50, and the SCP node 70 described herein can be implemented in software running on generic hardware that is configured to orchestrate the node functionality. Thus, in some embodiments, any one or more of the first NF node 10, the second NF node 20, the third NF node 50, and the SCP node 70 described herein can be a virtual node. In some embodiments, at least part or all of the node functionality described herein may be performed in a network enabled cloud. The node functionality described herein may all be at the same location or at least some of the node functionality may be distributed.
It will be understood that at least some or all of the method steps described herein can be automated in some embodiments. That is, in some embodiments, at least some or all of the method steps described herein can be performed automatically. The method described herein can be a computer-implemented method.
Thus, in the manner described herein, there is advantageously provided an improved technique for handling messages in a network.
It should be noted that the above-mentioned embodiments illustrate rather than limit the idea, and that those skilled in the art will be able to design many alternative embodiments without departing from the scope of the appended claims. The word “comprising” does not exclude the presence of elements or steps other than those listed in a claim, “a” or “an” does not exclude a plurality, and a single processor or other unit may fulfil the functions of several units recited in the claims. Any reference signs in the claims shall not be construed so as to limit their scope.
Number | Date | Country | Kind |
---|---|---|---|
22382233.9 | Mar 2022 | EP | regional |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2023/055438 | 3/3/2023 | WO |