WO2022022842A1 - Service request handling - Google Patents

Service request handling Download PDF

Info

Publication number
WO2022022842A1
WO2022022842A1 PCT/EP2020/080061 EP2020080061W WO2022022842A1 WO 2022022842 A1 WO2022022842 A1 WO 2022022842A1 EP 2020080061 W EP2020080061 W EP 2020080061W WO 2022022842 A1 WO2022022842 A1 WO 2022022842A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
scp
request
identifier
service
Prior art date
Application number
PCT/EP2020/080061
Other languages
French (fr)
Inventor
RODRIGO Maria Cruz BARTOLOME
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Publication of WO2022022842A1 publication Critical patent/WO2022022842A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Definitions

  • the disclosure relates to methods for initiating and handling a service request in a network and nodes configured to operate in accordance with those methods.
  • a service request is generally from a consumer of the service (“service consumer”) to a producer of the service (“service producer”).
  • 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.
  • the NF node of the service consumer and the NF node of the service producer may communicate via a service communication proxy (SCP) node.
  • SCP service communication proxy
  • Figure 1A-D illustrates different existing systems for handling service requests, as set out in 3GPP TS 23.501 v16.4.0.
  • Figure 1A and 1 B illustrates a system that uses direct communication
  • Figure 1C and 1 D illustrates a system that uses indirect communication.
  • a service request is sent directly from the NF node of the service consumer to the NF node of the service producer.
  • a response to the service request is sent directly from the NF node of the service producer to the NF node of the service consumer.
  • any subsequent service requests are sent directly from the NF node of the service consumer to the NF node of the service producer.
  • the system illustrated in Figure 1 B also comprises a network repository function (NRF).
  • NRF network repository function
  • the NF node of the consumer can receive an NF profile for one or more NF nodes of the service producer and, based on the received NF profile(s) can select an NF node of the service producer to which to send the service request.
  • the NRF is not used and instead the NF node of the consumer may be configured with the NF profile(s) of the NF node(s) of the service producer.
  • a service request is sent indirectly from the NF node of the service consumer to the NF node of the service producer via a service communication proxy (SCP) node.
  • a response to the service request is sent indirectly from the NF node of the service producer to the NF node of the service consumer via the SCP.
  • any subsequent service requests are sent indirectly from the NF node of the service consumer to the NF node of the service producer via the SCP.
  • the systems illustrated in Figure 1C and D also comprise an NRF.
  • the NF node of the consumer can query the NRF to discover suitable NF nodes of the service producer to which to send the service request.
  • the NF node of the consumer can receive an NF profile for one or more NF nodes of the service producer and, based on the received NF profile(s) can select an NF node of the service producer to which to send the service request.
  • the service request sent from the NF node of the service consumer to the SCP comprises the address of the selected NF node of the service producer.
  • the NF node of the service consumer can forward the service request without performing any further discovery or selection.
  • the SCP may communicate with the NRF to acquire selection parameters (e.g. location, capacity, etc.) and the SCP may select an NF node of the service producer to which to send the service request.
  • the NF node of the consumer does not carry out the discovery or selection process. Instead, the NF node of the consumer adds any necessary discovery and selection parameters (required to find a suitable NF node of the service producer) to the service request that it sends via the SCP.
  • the SCP uses the request address and the discovery and selection parameters in the service request to route the service request to a suitable NF node of the service producer.
  • the SCP can perform discovery with the NRF.
  • the SCP 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.
  • the indirect communication that is used can be either of the two indirect communications options described earlier with reference to Figure 1C and 1 D.
  • FIG. 2A-C is a signalling diagram illustrating an exchange of signals in an existing system, such as the system illustrated in Figure 1 D but it will be understood the issue described can also apply to the system illustrated in Figure 1C.
  • the system illustrated in Figure 2A-C comprises a first SCP node 10, a first NF node 20 of a service consumer (“NFc”), a second NF node 30 of a service producer (“NFp1”), and a third NF node 70 of a service producer (“NFp2”).
  • the first SCP node 10 is configured to operate as an SCP between the first NF node 20 and the second NF node 30.
  • the second NF node 30 can be configured to run a service 40 and the third NF node 70 can be configured to run a service 80.
  • the second NF node 30 and the third NF node 70 can be configured to run the same service or a different service.
  • the second NF node 30 and the third NF node 70 can be part of a set 402 of NF nodes of a service producer.
  • the system illustrated in Figure 2A-C also comprises a network repository function node 60.
  • steps 600-628 relate to a first request for a user equipment (UE)/session context.
  • the UE/session context may be stored.
  • the first NF node 20 determines what discovery (and selection) parameters to use. More specifically, the first NF node 20 identifies the discovery parameters to include in the request.
  • the discovery parameters are those that allow the first SCP node 10 to select the required NF node of the service producer.
  • the discovery parameters can be associated with a certain service in a received request, which is not illustrated in Figure 2A-C.
  • the second NF node 30 does not support binding.
  • the first NF node 20 stores the UE/session context for the request received. This storage may be cached or externally stored.
  • the first NF node 20 initiates transmission of a service request towards the first SCP node 10.
  • this service request may be referred to as the “first request” 602.
  • the service request is for an NF node to provide a first service 40 requested by the first NF node 20.
  • the first NF node 20 may know via which SCP node to route the service request by configuration or other means.
  • the first request comprises the address of this SCP node.
  • this SCP node is the first SCP node 10.
  • the discovery parameters are included in the service request.
  • the service request can comprise a hypertext transfer protocol (HTTP) header that identifies the parameters to be used for discovery and selection.
  • HTTP hypertext transfer protocol
  • the first SCP node 10 initiates transmission of a discovery request to the NRF node 60 to obtain NF profile(s) of one or more NF nodes of the service producer for the service that needs to be executed.
  • the discovery request comprises the received discovery parameters.
  • the first SCP node 10 receives a response from the NRF node 60 comprising the NF profile(s) of one or more NF nodes of the service producer.
  • the first SCP node 10 stores the NF profile(s) of one or more NF nodes of the service producer.
  • the first SCP node 10 selects one NF node of the service producer from the one(s) discovered using, for example, functional criteria (e.g. subscription permanent identifier (SUPI), network slice selection assistance information (NSSAI), data network name (DNN), etc.) and/or non-functional criteria (e.g. load, capacity, etc.).
  • functional criteria e.g. subscription permanent identifier (SUPI), network slice selection assistance information (NSSAI), data network name (DNN), etc.
  • non-functional criteria e.g. load, capacity, etc.
  • the first SCP node 10 replaces its own address (namely, the scp-address) in the received service request with the address of the selected second NF node 30.
  • the first SCP node 10 may perform any extra functionality, such as monitoring and/or tracing.
  • the first SCP node 10 initiates transmission of the service request towards the selected second NF node 30.
  • the service request is for the second NF node 30 to provide the first service 40 requested by the first NF node 20.
  • the first SCP node 10 receives a response.
  • this response may be referred to as the “first response” 622.
  • the response 622 can comprise the result (e.g. that the service request is successful), some business logic (BL) information (e.g. as a result of providing the service), and/or location information.
  • the location information is information indicative of a location of the resource in the second NF node 30 used when providing the first service 40.
  • the first SCP node 10 includes, in the response to be sent to the first NF node 20, an identifier that (e.g.
  • the second NF node 30 identifies the second NF node 30 (namely, sbi-producer-ld).
  • this identifier may be referred to as the “first identifier”.
  • the first SCP node 10 needs to include the identifier that identifies the second NF node 30 (namely, sbi-producer-ld) in the response to the first NF node 20.
  • the first SCP node 10 When using delegated discovery, the first SCP node 10 includes the identifier of the second NF node 30 in the response to be transmitted to the first NF node 20 if and only if the second NF node 30 does not return binding information in its response 622. If the second NF node 30 includes client binding in its response 622, the first SCP node 10 does not include the identifier of the second NF node 30 in the response to be transmitted to the first NF node 20.
  • the first SCP node 10 initiates transmission of the response (optionally comprising the first identifier) towards the first NF node 20.
  • the first NF node 20 can store the information comprised in the response, e.g. the result, the BL information, and/or the location information.
  • the information comprised in the response can be stored with the UE/session context.
  • steps 630-650 relate to subsequent service requests for an existing UE/Session context.
  • another request (not illustrated) to execute a service is received by the first NF node 20 and this service request is identified to correspond to the same UE/session context in respect of which the earlier request was received.
  • the first NF node 20 can, for example, determine the corresponding UE/session context based on the BL information.
  • the first NF node 20 extracts, from the location information, an address of the second NF node 30, which may be an application programming interface (API) root of a uniform resource identifier (URI) used to reach of the second NF node 30 (i.e. the sbi-target-apiroot).
  • API application programming interface
  • URI uniform resource identifier
  • the first NF node 20 initiates transmission of a subsequent service request towards the first SCP node 10.
  • this subsequent service request may be referred to as the “subsequent second request”.
  • the subsequent service request is for an NF node to provide a second service 40, 80 requested by the first NF node 20, which may be the same or a different service to the first service 40.
  • the first NF node 20 may know via which SCP (e.g. in this illustration, the first SCP node 10) to route the service request by configuration or other means.
  • the subsequent service request can comprise the address of the second NF node 30 (e.g. the sbi-target-apiroot).
  • a hypertext transfer protocol (HTTP) header can comprise this address.
  • the first SCP node 10 replaces its own address (namely, the scp-address) in the received subsequent service request with the address of the second NF node 30 (e.g. the sbi-target-apiroot).
  • the first SCP node 10 may perform any extra functionality, such as monitoring and/or tracing.
  • the first SCP node 10 initiates transmission of the subsequent service request towards the second NF node 30.
  • the service request is for the second NF node 30 to provide the second service 40, 80 requested by the first NF node 20.
  • the first SCP node 10 identifies that a reselection of NF node is required, e.g. based on the error.
  • the first SCP node 10 has no means to select an alternative NF node.
  • the first SCP node 10 does not have any information to be able to find an alternative NF node to be able to fulfil the subsequent service request and thus reselection is not possible.
  • the first SCP node 10 initiates transmission of a response to the first NF node 20.
  • the response comprises information (e.g. an existing HTTP error, such as a 504 error) indicative that there is an error situation.
  • an existing HTTP error such as a 504 error
  • there is no additional information to store other than that already stored.
  • the procedure fails.
  • the first SCP node 10 can find an alternative NF node (or alternative instance of the same NF node) of the service provider, e.g. in case of failure of the originally selected second NF node 30.
  • a method for initiating a service request in a network is performed by a first network function (NF) node of a service consumer.
  • a first service communication proxy (SCP) node is configured to operate as an SCP between the first NF node and a second NF node of a service producer in the network.
  • the method is performed following a first request for the second NF node to provide a service requested by the first NF node.
  • the method comprises initiating transmission of a subsequent second request towards the first SCP node.
  • the second request is for the second NF node to provide the service requested by the first NF node.
  • the second request comprises a first identifier that identifies the second NF node.
  • the first identifier allows the first SCP node to identify a profile of the second NF node and a set of NF nodes of the service producer that comprises the second NF node.
  • the first identifier may be from a response to the first request.
  • the method may comprise controlling a memory to store the first identifier from the response to the first request.
  • the method may comprise controlling the memory to store the first identifier only if binding information is not present in the response to the first request and/or only if the first NF node does not support binding.
  • the memory may be controlled to store the first identifier from the response to the first request in response to receiving the response to the first request.
  • the method may comprise retrieving the first identifier from the memory.
  • the response to the first request may be received from the first SCP node.
  • the second request may comprise the first identifier only if binding information is not present in the response to the first request.
  • the second request may comprise the first identifier only if the first NF node does not support binding.
  • the method may comprise incorporating the first identifier into the second request.
  • a header may comprise the first identifier.
  • the header may be a 3gpp-Sbi-Producer-ld header.
  • the first SCP node and the first NF node may be deployed in independent deployment units and/or the first SCP node and the second NF node may be deployed in independent deployment units.
  • the first SCP node may be deployed as a distributed network element.
  • part of the first SCP node may be deployed in the same deployment unit as the first NF node and/or part of the first SCP node may be deployed in the same deployment unit as the second NF node.
  • At least one second SCP node may be configured to operate as an SCP between the first NF node and the first SCP node, and/or at least one third SCP node may be configured to operate as an SCP between the first SCP node and the second NF node.
  • the first SCP node and one or both of the at least one second SCP node and the at least one third SCP node may be deployed in independent deployment units.
  • the at least one second SCP node and/or the at least one third SCP node may be deployed as distributed network elements.
  • an entity may comprise the first SCP node and a network repository function (NRF) node.
  • NRF network repository function
  • a first NF node comprising processing circuitry configured to operate in accordance with the method described earlier in respect of the first NF node.
  • 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 method described earlier in respect of the first NF node.
  • a method for handling a service request in a network is performed by a first service communication proxy (SCP) node that is configured to operate as an SCP between a first network function (NF) node of a service consumer and a second NF node of a service producer in the network.
  • the method is performed if, following a first request for the second NF node to provide a service requested by the first NF node, a subsequent second request received at the first SCP node cannot be fulfilled.
  • the second request is for the second NF node to provide the service requested by the first NF node.
  • the second request comprises a first identifier that identifies the second NF node and that allows the SCP node to identify a profile of the second NF node.
  • the method comprises identifying, using the first identifier, a set of NF nodes of the service producer that comprises the second NF node.
  • the set of NF nodes further comprises a third NF node of the service producer.
  • the method comprises initiating transmission of the second request towards the third NF node for the third NF node to provide the service and/or a second identifier towards the first NF node.
  • the second identifier identifies the third NF node.
  • transmission of the second identifier towards the first NF node may be initiated irrespective of whether binding information is present in a response to the subsequent second request received from the third NF node.
  • the second request cannot be fulfilled if the second request transmitted towards the second NF node is unsuccessful, no response is received from the second NF node to the second request transmitted towards the second NF node, or transmission of the second request towards the second NF node is prevented.
  • identifying the set of NF nodes using the first identifier may comprise identifying the set of NF nodes from the profile of the second NF node, wherein the profile of the second NF node is identified using the first identifier.
  • the profile of the second NF node may be stored at the first SCP node and/or a network repository function (NRF) node.
  • NRF network repository function
  • identifying the set of NF nodes may comprise acquiring a third identifier that identifies the set of NF nodes.
  • the method may comprise identifying, using the third identifier, one or more NF nodes of the set of NF nodes, wherein the one or more identified NF nodes comprise the third NF node.
  • identifying the third NF node of the set of NF nodes using the third identifier may comprise identifying the third NF node from a profile of the third NF node, wherein the profile of the third NF node comprises the third identifier.
  • the profile of the third NF node may be stored at the first SCP node and/or a network repository function (NRF) node.
  • NRF network repository function
  • the method may comprise selecting the third NF node from the one or more identified NF nodes. In some embodiments, the method may comprise, in response to the first request, initiating transmission of a response to the first request towards the first NF node, wherein the response to the first request comprises the first identifier.
  • the response to the first request may comprise the first identifier irrespective of whether binding information is present in the response to the first request.
  • the second request may comprise the first identifier only if binding information is not present in the response to the first request.
  • the second request may comprise the first identifier only if the first NF node does not support binding.
  • a header may comprise the first identifier.
  • the header may be a 3gpp-Sbi-Producer-ld header.
  • the first SCP node and the first NF node may be deployed in independent deployment units, the first SCP node and the second NF node may be deployed in independent deployment units, and/or the first SCP node and the third NF node may be deployed in independent deployment units.
  • the first SCP node may be deployed as a distributed network element.
  • part of the first SCP node may be deployed in the same deployment unit as the first NF node, part of the first SCP node may be deployed in the same deployment unit as the second NF node, and/or part of the first SCP node may be deployed in the same deployment unit as the third NF node.
  • At least one second SCP node may be configured to operate as an SCP between the first NF node and the first SCP node
  • at least one third SCP node may be configured to operate as an SCP between the first SCP node and the second NF node
  • at least one fourth SCP node may be configured to operate as an SCP between the first SCP node and the third NF node.
  • the first SCP node and one or more of the at least one second SCP node, the at least one third SCP node, and the at least one fourth SCP node may be deployed in independent deployment units.
  • the at least one second SCP node, the at least one third SCP node, and/or the at least one fourth SCP node may be deployed as distributed network elements.
  • an entity may comprise the first SCP node and a network repository function (NRF) node.
  • NRF network repository function
  • a first SCP node comprising processing circuitry configured to operate in accordance with the method described earlier in respect of the first SCP node.
  • the first SCP node may comprise at least one memory for storing instructions which, when executed by the processing circuitry, cause the first SCP node to operate in accordance with the method described earlier in respect of the first SCP node.
  • a method performed by a system comprises the method as described earlier in respect of the first NF node and/or the method described earlier in respect of the first SCP node.
  • a system comprising at least one first NF node as described earlier and/or at least one first SCP node as described earlier.
  • a computer program comprising instructions which, when executed by processing circuitry, cause the processing circuitry to perform the method as described earlier in respect of the first NF node and/or first SCP node.
  • 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 as described earlier in respect of the first NF node and/or first SCP node.
  • Figure 1 A-D is a block diagram illustrating different existing systems
  • Figure 2A-C is a signalling diagram illustrating an exchange of signals in an existing system
  • Figure 3 is a block diagram illustrating a first network function (NF) node according to an embodiment
  • Figure 4 is a flowchart illustrating a method performed by a first NF node according to an embodiment
  • FIG. 5 is a block diagram illustrating a first service communication proxy (SCP) node according to an embodiment
  • Figure 6 is a flowchart illustrating a method performed by a first SCP node according to an embodiment
  • Figure 7A-C is a signalling diagram illustrating an exchange of signals in a system according to an embodiment
  • Figure 8 is a block diagram illustrating a first NF node according to an embodiment
  • FIG. 9 is a block diagram illustrating a first SCP node according to an embodiment. Detailed Description
  • a service request can also be referred to as a request for a service.
  • a service is software intended to be managed for users.
  • a service can be any type of service, such as a communication service a context management (e.g. user equipment context management (UECM)) service, a data management (DM) service, or any other type of service.
  • UECM user equipment context management
  • DM data management
  • the techniques described herein can be used in respect of any network, such as any communications network.
  • the network may be a fifth generation (5G) network or any other generation network.
  • the network may be a core network or a radio access network (RAN).
  • the techniques are implemented by a first service communication proxy (SCP) node and a first network function (NF) node.
  • SCP service communication proxy
  • NF network function
  • 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.
  • 3GPP third generation partnership project
  • NF node in relation to an “NF node” will be understood to cover each of these scenarios.
  • Figure 3 illustrates a first NF node 20 of a service consumer in accordance with an embodiment.
  • the first NF node 20 is for initiating a service request in a network.
  • a first SCP node 10 is configured to operate as an SCP between the first NF node and a second NF node of a service producer in the network.
  • the first NF node 20 can be, for example, be a physical machine (e.g. a server) or a virtual machine (VM).
  • the first NF node 20 can be, for example, a user equipment (UE).
  • the first NF node 20 comprises processing circuitry (or logic) 22.
  • the processing circuitry 22 controls the operation of the first NF node 20 and can implement the method described herein in respect of the first NF node 20.
  • the processing circuitry 22 can be configured or programmed to control the first NF node 20 in the manner described herein.
  • the processing circuitry 22 can comprise one or more hardware components, such as one or more processors, one or more processing units, one or more multi-core processors and/or one or more modules.
  • each of the one or more hardware components can be configured to perform, or is for performing, individual or multiple steps of the method described herein in respect of the first NF node 20.
  • the processing circuitry 22 can be configured to run software to perform the method described herein in respect of the first NF node 20.
  • the software may be containerised according to some embodiments.
  • the processing circuitry 22 may be configured to run a container to perform the method described herein in respect of the first NF node 20.
  • the processing circuitry 22 of the first NF node 20 is configured to, following a first request for the second NF node to provide a service requested by the first NF node 20, initiate transmission of a subsequent second request towards the first SCP node.
  • the second request is for the second NF node to provide the service requested by the first NF node 20.
  • the second request comprises a first identifier that (e.g. uniquely) identifies the second NF node.
  • the first identifier allows the first SCP node 10 to identify a profile of the second NF node and a set of NF nodes of the service producer that comprises the second NF node.
  • the first NF node 20 may optionally comprise a memory 24.
  • the memory 24 of the first NF node 20 can comprise a volatile memory or a non-volatile memory.
  • the memory 24 of the first NF node 20 may comprise a non-transitory media. Examples of the memory 24 of the first NF node 20 include, but are not limited to, a random access memory (RAM), a read only memory (ROM), a mass storage media such as a hard disk, a removable storage media such as a compact disk (CD) or a digital video disk (DVD), and/or any other memory.
  • the processing circuitry 22 of the first NF node 20 can be connected to the memory 24 of the first NF node 20.
  • the memory 24 of the first NF node 20 may be for storing program code or instructions which, when executed by the processing circuitry 22 of the first NF node 20, cause the first NF node 20 to operate in the manner described herein in respect of the first NF node 20.
  • the memory 24 of the first NF node 20 may be configured to store program code or instructions that can be executed by the processing circuitry 22 of the first NF node 20 to cause the first NF node 20 to operate in accordance with the method described herein in respect of the first NF node 20.
  • the memory 24 of the first NF node 20 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 first NF node 20 may be configured to control the memory 24 of the first NF node 20 to store information, data, messages, requests, responses, indications, notifications, signals, or similar, that are described herein.
  • the first NF node 20 may optionally comprise a communications interface 26.
  • the communications interface 26 of the first NF node 20 can be connected to the processing circuitry 22 of the first NF node 20 and/or the memory 24 of first NF node 20.
  • the communications interface 26 of the first NF node 20 may be operable to allow the processing circuitry 22 of the first NF node 20 to communicate with the memory 24 of the first NF node 20 and/or vice versa.
  • the communications interface 26 of the first NF node 20 may be operable to allow the processing circuitry 22 of the first NF node 20 to communicate with the first SCP node 10 and/or any other node.
  • the communications interface 26 of the first NF node 20 can be configured to transmit and/or receive information, data, messages, requests, responses, indications, notifications, signals, or similar, that are described herein.
  • the processing circuitry 22 of the first NF node 20 may be configured to control the communications interface 26 of the first NF node 20 to transmit and/or receive information, data, messages, requests, responses, indications, notifications, signals, or similar, that are described herein.
  • first NF node 20 is illustrated in Figure 3 as comprising a single memory 24, it will be appreciated that the first NF node 20 may comprise at least one memory (i.e. a single memory or a plurality of memories) 24 that operate in the manner described herein.
  • first NF node 20 is illustrated in Figure 3 as comprising a single communications interface 26, it will be appreciated that the first NF node 20 may comprise at least one communications interface (i.e. a single communications interface or a plurality of communications interface) 26 that operate in the manner described herein.
  • Figure 3 only shows the components required to illustrate an embodiment of the first NF node 20 and, in practical implementations, the first NF node 20 may comprise additional or alternative components to those shown.
  • Figure 4 is a flowchart illustrating a method performed by a first NF node 20 in accordance with an embodiment.
  • the method of Figure 4 is for initiating a service request in the network.
  • the first NF node 20 described earlier with reference to Figure 3 is configured to operate in accordance with the method of Figure 4.
  • the method can be performed by or under the control of the processing circuitry 22 of the first NF node 20.
  • a first SCP node 10 is configured to operate as an SCP between the first NF node 20 and a second NF node of a service producer in the network.
  • the method of Figure 4 is performed following a first request for the second NF node to provide a service requested by the first NF node.
  • transmission of a subsequent second request is initiated towards the first SCP node.
  • the second request is for the second NF node to provide the service requested by the first NF node 20.
  • the second request comprises a first identifier that (e.g. uniquely) identifies the second NF node.
  • the first identifier allows the first SCP node to identify a profile of the second NF node and a set of NF nodes of the service producer that comprises the second NF node.
  • the term “initiate” can mean, for example, cause or establish.
  • the processing circuitry 22 of the first NF node 20 can be configured to itself transmit the subsequent second request (e.g. via a communications interface 26 of the first NF node 20) or can be configured to cause another node to transmit the subsequent second request.
  • Figure 5 illustrates a first SCP node 10 in accordance with an embodiment.
  • the first SCP node 10 is for handling a service request in a network.
  • the first SCP node 10 is configured to operate as an SCP between the first NF node 20 of the service consumer and the second NF node of the service producer in the network.
  • the first SCP node 10 can be, for example, be a physical machine (e.g. a server) or a virtual machine (VM).
  • the first SCP node 10 comprises processing circuitry (or logic) 12.
  • the processing circuitry 12 controls the operation of the first SCP node 10 and can implement the method described herein in respect of the first SCP node 10.
  • the processing circuitry 12 can be configured or programmed to control the first SCP node 10 in the manner described herein.
  • the processing circuitry 12 can comprise one or more hardware components, such as one or more processors, one or more processing units, one or more multi-core processors and/or one or more modules.
  • each of the one or more hardware components can be configured to perform, or is for performing, individual or multiple steps of the method described herein in respect of the first SCP node 10.
  • the processing circuitry 12 can be configured to run software to perform the method described herein in respect of the first SCP node 10.
  • the software may be containerised according to some embodiments.
  • the processing circuitry 12 may be configured to run a container to perform the method described herein in respect of the first SCP node 10.
  • the processing circuitry 12 of the first SCP node 10 is configured to operate if, following a first request for the second NF node to provide a service requested by the first NF node 20, a subsequent second request received at the first SCP node 10 cannot be fulfilled.
  • the second request is for the second NF node to provide the service requested by the first NF node 20 and wherein the second request comprises a first identifier that (e.g. uniquely) identifies the second NF node and that allows the first SCP node 10 to identify a profile of the second NF node.
  • the processing circuitry 12 of the first SCP node 10 is configured to identify, using the first identifier, a set of NF nodes of the service producer that comprises the second NF node.
  • the set of NF nodes further comprises a third NF node of the service producer.
  • the processing circuitry 12 of the first SCP node 10 is configured to initiate transmission of the second request towards the third NF node for the third NF node to provide the service and/or a second identifier towards the first NF node.
  • the second identifier (e.g. uniquely) identifies the third NF node.
  • the first SCP node 10 may optionally comprise a memory 14.
  • the memory 14 of the first SCP node 10 can comprise a volatile memory or a non-volatile memory. In some embodiments, the memory 14 of the first SCP node 10 may comprise a non-transitory media. Examples of the memory 14 of the first SCP node 10 include, but are not limited to, a random access memory (RAM), a read only memory (ROM), a mass storage media such as a hard disk, a removable storage media such as a compact disk (CD) or a digital video disk (DVD), and/or any other memory.
  • RAM random access memory
  • ROM read only memory
  • CD compact disk
  • DVD digital video disk
  • the processing circuitry 12 of the first SCP node 10 can be connected to the memory 14 of the first SCP node 10.
  • the memory 14 of the first SCP node 10 may be for storing program code or instructions which, when executed by the processing circuitry 12 of the first SCP node 10, cause the first SCP node 10 to operate in the manner described herein in respect of the first SCP node 10.
  • the memory 14 of the first SCP node 10 may be configured to store program code or instructions that can be executed by the processing circuitry 12 of the first SCP node 10 to cause the first SCP node 10 to operate in accordance with the method described herein in respect of the first SCP node 10.
  • the memory 14 of the first SCP 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 SCP node 10 may be configured to control the memory 14 of the first SCP node 10 to store information, data, messages, requests, responses, indications, notifications, signals, or similar, that are described herein.
  • the first SCP node 10 may optionally comprise a communications interface 16.
  • the communications interface 16 of the first SCP node 10 can be connected to the processing circuitry 12 of the first SCP node 10 and/or the memory 14 of first SCP node 10.
  • the communications interface 16 of the first SCP node 10 may be operable to allow the processing circuitry 12 of the first SCP node 10 to communicate with the memory 14 of the first SCP node 10 and/or vice versa.
  • the communications interface 16 of the first SCP node 10 may be operable to allow the processing circuitry 12 of the first SCP node 10 to communicate with the first NF node and/or any other node.
  • the communications interface 16 of the first SCP node 10 can be configured to transmit and/or receive information, data, messages, requests, responses, indications, notifications, signals, or similar, that are described herein.
  • the processing circuitry 12 of the first SCP node 10 may be configured to control the communications interface 16 of the first SCP node 10 to transmit and/or receive information, data, messages, requests, responses, indications, notifications, signals, or similar, that are described herein.
  • first SCP node 10 is illustrated in Figure 5 as comprising a single memory 14, it will be appreciated that the first SCP node 10 may comprise at least one memory (i.e. a single memory or a plurality of memories) 14 that operate in the manner described herein.
  • first SCP node 10 is illustrated in Figure 5 as comprising a single communications interface 16
  • first SCP node 10 may comprise at least one communications interface (i.e. a single communications interface or a plurality of communications interface) 16 that operate in the manner described herein.
  • Figure 5 only shows the components required to illustrate an embodiment of the first SCP node 10 and, in practical implementations, the first SCP node 10 may comprise additional or alternative components to those shown.
  • Figure 6 is a flowchart illustrating a method performed by a first SCP node 10 in accordance with an embodiment.
  • the first SCP node 10 is configured to operate as an SCP between the first NF node 20 of the service consumer and the second NF node of the service producer in the network.
  • the method is for handling a service request in the network.
  • the first SCP node 10 described earlier with reference to Figure 5 is configured to operate in accordance with the method of Figure 6.
  • the method can be performed by or under the control of the processing circuitry 12 of the first SCP node 10.
  • the method is performed if, following a first request for the second NF node to provide a service requested by the first NF node 20, a subsequent second request received at the first SCP node 10 cannot be fulfilled.
  • the second request is for the second NF node to provide the service requested by the first NF node 20.
  • the second request comprises a first identifier that (e.g. uniquely) identifies the second NF node and that allows the first SCP node 10 to identify a profile of the second NF node.
  • a set of NF nodes of the service producer that comprises the second NF node is identifying using the first identifier.
  • the set of NF nodes further comprises a third NF node of the service producer.
  • transmission of the second request is initiated towards the third NF node for the third NF node to provide the service and/or transmission of a second identifier is initiated towards the first NF node 20.
  • the second identifier (e.g. uniquely) identifies the third NF node.
  • the term “initiate” can mean, for example, cause or establish.
  • the processing circuitry 12 of the first SCP node 10 can be configured to itself transmit the second request and/or the second identifier (e.g. via a communications interface 16 of the first SCP node 10) or can be configured to cause another node to transmit the second request and/or the second identifier.
  • the system can comprise at least one first SCP node 10 as described herein and/or at least one first NF node 20 as described herein.
  • the system may also comprise any one or more of the other nodes mentioned herein.
  • Figure 7A-C is a signalling diagram illustrating an exchange of signals in a system according to an embodiment.
  • the system illustrated in Figure 7A-C comprises a first SCP node 10 and a first NF node 20 of a service consumer (“NFc”).
  • the first NF node 20 can be as described earlier with reference to Figures 3 and 4.
  • the first SCP node 10 can be as described earlier with reference to Figures 5 and 6.
  • the system illustrated in Figure 7A-C comprises a second NF node 30 of a service producer (“NFp1”) and a third NF node 70 of a service producer (“NFp2”).
  • the first SCP node 10 is configured to operate as an SCP between the first NF node 20 and the second NF node 30.
  • the first SCP node 10 is also configured to operate as an SCP between the first NF node 20 and the third NF node 70.
  • the second NF node 30 can be configured to run a service 40.
  • the third NF node 70 can be configured to run a service 80.
  • the second NF node 30 and the third NF node 70 can be configured to run the same service (e.g. different instances of the same service) or a different service.
  • the second NF node 30 and the third NF node 70 can be part of a set 402 of NF nodes of a service producer.
  • the system illustrated in Figure 7A-C comprises a network repository function (NRF) node 60.
  • an entity may comprise the first SCP node 10 and the NRF node 60. That is, in some embodiments, the first SCP node 10 can be merged with the NRF node 60 in a combined entity.
  • the first SCP node 10 and the first NF node 20 may be deployed in independent deployment units
  • the first SCP node 10 and the second NF node 30 may be deployed in independent deployment units
  • the first SCP node 10 and the third NF node 70 may be deployed in independent deployment units.
  • the first SCP node 10 may be deployed as a distributed network element.
  • part (e.g. a service agent) of the first SCP node 10 may be deployed in the same deployment unit as the first NF node 20
  • part (e.g. a service agent) of the first SCP node 10 may be deployed in the same deployment unit as the second NF node 30
  • part (e.g. a service agent) of the first SCP node 10 may be deployed in the same deployment unit as the third NF node 70.
  • an SCP node based on service mesh is possible, as described in 3GPP TS 23.501 V16.4.0.
  • At least one second SCP node may be configured to operate as an SCP between the first NF node 20 and the first SCP node 10
  • at least one third SCP node may be configured to operate as an SCP between the first SCP node 10 and the second NF node
  • at least one fourth SCP node is configured to operate as an SCP between the first SCP node 10 and the third NF node 70.
  • the first SCP node 10 and one or more of the at least one at least one second SCP node, the at least one third SCP node, and the at least one fourth SCP node are deployed in independent deployment units.
  • the at least one second SCP node and/or the at least one third SCP node may be deployed as distributed network elements.
  • Steps 500-502 and 600-624 of Figure 7A-C are as described earlier with reference to Figure 2A-C.
  • the first SCP node 10 in response to the first request 606, the first SCP node 10 initiates transmission of the response to the first request 606 towards the first NF node 20.
  • the first NF node 20 receives the response 700 to the first request 606 from the first SCP node 10.
  • the response 700 to the first request 606 comprises the first identifier.
  • a header of the response 700 to the first request 606 may comprise the first identifier.
  • the header may, for example, be a hypertext transfer protocol (HTTP) header.
  • the header may be an existing header (e.g.
  • the response 700 to the first request 606 may comprise the first identifier irrespective of whether binding information is present in the response 62 to the first request 606 received from the second NF node 30 and/or irrespective of whether the first NF node 20 supports binding.
  • the first identifier is always received by the first NF node 20, regardless of whether the response 700 to the first request 606 comprises binding information and/or regardless of whether the first NF node 20 actually supports binding.
  • binding information can be any information that is indicative of one or more parameters by which the first NF node 20 is bound when selecting a second service 40, 80 in an NF node 30, 70 of a service producer for a subsequent second request 706, 712.
  • the subsequent second request 706, 712 can be a subsequent second request that follows the first request 606, 620 directly, or a subsequent second request that follows the first request 606, 620 indirectly, e.g. it may be a request that follows another one or more requests that follow the first request 606, 620.
  • the subsequent second request may be linked to the first service 40.
  • the subsequent second request may be associated with a resource used to provide the first service 40.
  • the first service 40 and the second service 40 may be the same service, or the first service 40 and the second service 80 may be different services.
  • binding information is well-recognised in the art and thus a person skilled in the art will be aware of various parameters that may be indicated by the binding information referred to herein. Nevertheless, some examples will be provided for completeness.
  • the one or more parameters may comprise a parameter that binds the first NF node 20 to selecting the second service 40, 80 in the second NF node 30 for the subsequent second request 706, 712, or a parameter that binds the first NF node 20 to selecting the second service 40, 80 in a third NF node 70 for the subsequent second request 706, 712.
  • the parameter that binds the first NF node 20 to selecting the second service 40, 80 in the second NF node 30 for the subsequent second request 706, 712 comprises an identifier that (e.g.
  • the binding information can comprise an identifier that (e.g. uniquely) identifies the second NF node 30 (or the selected instance of the second NF node 30, e.g. NFp instance Id), an identifier that (e.g. uniquely) identifies the set 402 of NF nodes that comprises the second NF node 30 (e.g. NFp Set X Id), and a name of the first service 40 (e.g. Service A).
  • Other examples of one or more parameters that the binding information may comprise are those in Table 6.3.1.0-1 of 3GPP TS 23.501 V16.5.0.
  • the first NF node 20 may control a memory 24, 701 to store the first identifier from the response 700 to the first request 606. In some embodiments, the first NF node 20 may control the memory 24, 701 to store the first identifier only if binding information is not present in the response 700 to the first request 606 and/or only if the first NF node 20 does not support binding. In some embodiments, the first NF node 20 may control the memory 24, 701 to store the first identifier in response to receiving the response 700 to the first request 606.
  • the first NF node 20 may retrieve the first identifier from the memory 24, 701.
  • the first NF node 20 may also extract, from the location information, an address of the second NF node 30, which may be an application programming interface (API) root of a uniform resource identifier (URI) used to reach of the second NF node 30 (i.e. the sbi-target-apiroot).
  • API application programming interface
  • URI uniform resource identifier
  • the first NF node 20 may incorporate the first identifier into the second request.
  • the first NF node 20 initiates transmission of a subsequent second request towards the first SCP node 10.
  • the second request 706 is for the second NF node 30 to provide the service 40 requested by the first NF node 20.
  • the second request 706 comprises the first identifier that identifies the second NF node 30 (i.e. sbi-producer-id) and optionally also the address of the second NF node 30 (e.g. sbi-target-apiroot).
  • a header (e.g. a 3gpp-Sbi-Producer-ld header) of the second request 706 may comprise the first identifier.
  • the header may, for example, be HTTP header.
  • the header may be an existing header (e.g. a 3gpp-Sbi-Producer-ld header, or 3gpp-Sbi-Discovery-target-nf-instance-id) or a new custom header.
  • the second request 706 may comprise the first identifier only if binding information is not present in the response 700 to the first request 606 and/or only if the first NF node 20 does not support binding.
  • the first identifier allows the first SCP node 10 to identify a profile of the second NF node 30 and a set of NF nodes of the service producer that comprises the second NF node 30.
  • the first identifier is from the response 700 to the first request 606.
  • the second request 706 may comprise the first identifier only if binding information is not present in the response 700 to the first request 606 and/or only if the first NF node 20 does not support binding.
  • Steps 636-644 of Figure 7A-C are as described earlier with reference to Figure 2A-C.
  • the first SCP node 10 now has the means (by way of the first identifier) to take action to fulfil the subsequent second request.
  • the first SCP node 10 uses the first identifier to identify a set 402 of NF nodes of the service producer that comprises the second NF node 30.
  • the set 402 of NF nodes further comprises the third NF node 70 of the service producer.
  • the subsequent second request 706 received at the first SCP node 10 cannot be fulfilled.
  • the second request cannot be fulfilled if the second request 640 transmitted towards the second NF node 30 is unsuccessful, no response 642 is received from the second NF node 30 to the second request 640 transmitted towards the second NF node 30, or transmission of the second request 640 towards the second NF node 30 is prevented.
  • identifying the set 402 of NF nodes using the first identifier at block 708 of Figure 7A-C may comprise identifying the set 402 of NF nodes from the profile of the second NF node 30.
  • the profile of the second NF node 30 may be identified using the first identifier.
  • the profile of the second NF node 30 may be stored at the first SCP node 10 and/or the NRF node 60.
  • the profile of the second NF node 30 may be locally cached at the first SCP node 10 (see step 612), or newly discovered in the manner described earlier with reference to steps 608 and 610.
  • identifying the set 402 of NF nodes may comprise acquiring a third identifier that (e.g. uniquely) identifies the set 402 of NF nodes.
  • the method may comprise identifying, using the third identifier, one or more NF nodes of the set 402 of NF nodes.
  • the one or more identified NF nodes comprise the third NF node 70.
  • identifying the third NF node 70 of the set 402 of NF nodes using the third identifier may comprise identifying the third NF node 70 from a profile of the third NF node 70.
  • the profile of the third NF node 70 may comprise the third identifier.
  • the third NF node 70 can be identified as one that is in the same set as the second NF node 30.
  • the profile of the third NF node 70 may be stored at the first SCP node 10 and/or the NRF node 60.
  • the profile of the third NF node 70 may be locally cached at the first SCP node 10 (see step 612), or newly discovered in the manner described earlier with reference to steps 608 and 610.
  • the first SCP node 10 can use the first identifier to find the corresponding set of NF nodes (if any) and then a search based on the third identifier offers alternative NF nodes (if any).
  • the first SCP node 10 may select an NF node from the one or more identified NF nodes. For the purpose of this illustration, it is assumed that the first SCP node 10 selects the third NF node 70 from the one or more identified NF nodes. As illustrated by arrow 712 of Figure 7A-C, the first SCP node 10 initiates transmission of the second request towards the third NF node 70 for the third NF node 70 to provide the service 80. As illustrated by arrow 714 of Figure 7A-C, the first SCP node 10 receives a response to the second request from the third NF node 70. As in the illustration, the response can be indicative that the subsequent second request is successful. The response can comprise some business logic (BL) information.
  • BL business logic
  • the first SCP node 10 includes, in the response, a second identifier that (e.g. uniquely) identifies the third NF node 70.
  • a second identifier that (e.g. uniquely) identifies the third NF node 70.
  • the first SCP node 10 initiates transmission of a response to the subsequent second request towards the first NF node 20.
  • the first SCP node 10 initiates transmission of the second identifier (i.e. sbi-producer-id) towards the first NF node 20.
  • the response to the subsequent second request can comprise the second identifier.
  • the first SCP node 10 includes the second identifier irrespective of whether binding information is present in the response 714 to the subsequent second request 706 received from the third NF node 70.
  • transmission of the second identifier towards the first NF node 20 may be initiated irrespective of whether binding information is present in the response 714 to the subsequent second request 706 received from the third NF node 70.
  • the response to the subsequent second request may also comprise the result that the subsequent second request is successful and optionally also the BL information.
  • the first NF node 20 may store the second identifier, the result, and/or the BL information, e.g. with the UE/session context.
  • FIG. 8 is a block diagram illustrating a first NF node 800 of a service consumer in accordance with an embodiment.
  • the first NF node 800 can initiate a service request in a network.
  • a first NF node can operate as an SCP between the first NF node and a second NF node of a service producer in the network.
  • the first NF node 800 comprises a transmission initiating module 802 configured to, following a first request for the second NF node to provide a service requested by the first NF node, initiate transmission of a subsequent second request towards the first SCP node.
  • the second request is for the second NF node to provide the service requested by the first NF node.
  • the second request comprises a first identifier that identifies the second NF node.
  • the first identifier allows the first SCP node to identify a profile of the second NF node and a set of NF nodes of the service producer that comprises the second NF node.
  • the first NF node 800 may operate in the manner described herein in respect of the first NF node.
  • FIG. 9 is a block diagram illustrating a first SCP node 900 in accordance with an embodiment.
  • the first SCP node 900 can handle a service request in a network.
  • the first SCP node 900 can operate as an SCP between a first NF node of a service consumer and a second NF node of a service producer in the network.
  • the first SCP node 900 can operate if, following a first request for the second NF node to provide a service requested by the first NF node 800, a subsequent second request received at the first SCP node 900 cannot be fulfilled.
  • the second request is for the second NF node to provide the service requested by the first NF node 800.
  • the second request comprises a first identifier that identifies the second NF node and that allows the first SCP node 900 to identify a profile of the second NF node.
  • the first SCP node 900 comprises an identifying module 902 configured to identify, using the first identifier, a set of NF nodes of the service producer that comprises the second NF node.
  • the set of NF nodes further comprises a third NF node of the service producer.
  • the first SCP node 900 comprises a transmission initiating module 904 configured to initiating transmission of the second request towards the third NF node for the third NF node to provide the service and/or a second identifier towards the first NF node 800.
  • the second identifier identifies the third NF node.
  • the first SCP node 900 may operate in the manner described herein in respect of the first SCP node.
  • a computer program comprising instructions which, when executed by processing circuitry (such as the processing circuitry 12 of the first SCP node 10 described earlier and/or the processing circuitry 22 of the first NF node 20 described earlier), cause the processing circuitry to perform at least part of the method described herein.
  • 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 SCP node 10 described earlier and/or the processing circuitry 22 of the first NF node 20 described earlier) to cause the processing circuitry to perform at least part of the method described herein.
  • a computer program product comprising a carrier containing instructions for causing processing circuitry (such as the processing circuitry 12 of the first SCP node 10 described earlier and/or the processing circuitry 22 of the first NF node 20 described earlier) to perform at least part of the method described herein.
  • 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.
  • the first SCP node functionality and/or the first NF node functionality described herein can be performed by hardware.
  • any one or more of the first SCP node 10 and the first NF node 20 described herein can be a hardware node.
  • optionally at least part or all of the first SCP node functionality and/or the first NF node functionality described herein can be virtualized.
  • the functions performed by any one or more of the first SCP node 10 and the first NF node 20 described herein can be implemented in software running on generic hardware that is configured to orchestrate the node functionality.
  • any one or more of the first SCP node 10 and the first NF node 20 described herein can be a virtual node.
  • at least part or all of the first SCP node functionality and/or the first NF node functionality described herein may be performed in a network enabled cloud.
  • the first SCP node functionality and/or the first NF node functionality described herein may all be at the same location or at least some of the node functionality may be distributed.
  • the first SCP node 10 may include the first identifier that identifies the second NF node 30 (Sbi- Producer-ld) in the response back to the first NF node 20 (e.g. regardless of whether the second NF node 30 has included or has not included binding information), while the first NF node 20 includes the first identifier in a subsequent request (e.g. regardless of whether the first NF node 20 supports binding).
  • the first SCP node 20 is able to select an alternative third NF node 70 (or an alternative instance of the same second NF node 30) in case of failure of the original second NF node 30, and this is possible for the case when either the second NF node 30 and/or the first NF node 20 does not support binding.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

There is provided a method for handling a service request. The method is performed by a first network function (NF) node of a service consumer. A service communication proxy (SCR) node is configured to operate as an SCR between the first NF node and a second NF node of a service producer in the network. Following a first request for the second NF node to provide a service requested by the first NF node, transmission of a subsequent second request is initiated (202) towards the SCR node. The second request is for the second NF node to provide the service requested by the first NF node. The second request comprises an identifier that identifies the second NF node. The identifier allows the SCR node to identify a profile of the second NF node and a set of NF nodes of the service producer that comprises the second NF node.

Description

SERVICE REQUEST HANDLING
Technical Field
The disclosure relates to methods for initiating and handling a service request in a network and nodes configured to operate in accordance with those methods.
Background
There exist various techniques for handling a request for a service in a 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.
Figure 1A-D illustrates different existing systems for handling service requests, as set out in 3GPP TS 23.501 v16.4.0. In more detail, Figure 1A and 1 B illustrates a system that uses direct communication, while Figure 1C and 1 D illustrates a system that uses indirect communication.
In the systems illustrated in Figure 1A and 1 B, a service request is sent directly from the NF node of the service consumer to the NF node of the service producer. A response to the service request is sent directly from the NF node of the service producer to the NF node of the service consumer. Similarly, any subsequent service requests are sent directly from the NF node of the service consumer to the NF node of the service producer. The system illustrated in Figure 1 B also comprises a network repository function (NRF). Thus, in the system illustrated in Figure 1 B, the NF node of the consumer can query the NRF to discover suitable NF nodes of the service producer to which to send the service request. In response to such a query, the NF node of the consumer can receive an NF profile for one or more NF nodes of the service producer and, based on the received NF profile(s) can select an NF node of the service producer to which to send the service request. In the system illustrated in Figure 1 A, the NRF is not used and instead the NF node of the consumer may be configured with the NF profile(s) of the NF node(s) of the service producer.
In the systems illustrated in Figure 1C and 1 D, a service request is sent indirectly from the NF node of the service consumer to the NF node of the service producer via a service communication proxy (SCP) node. A response to the service request is sent indirectly from the NF node of the service producer to the NF node of the service consumer via the SCP. Similarly, any subsequent service requests are sent indirectly from the NF node of the service consumer to the NF node of the service producer via the SCP. The systems illustrated in Figure 1C and D also comprise an NRF.
In the system illustrated in Figure 1C, the NF node of the consumer can query the NRF to discover suitable NF nodes of the service producer to which to send the service request. In response to such a query, the NF node of the consumer can receive an NF profile for one or more NF nodes of the service producer and, based on the received NF profile(s) can select an NF node of the service producer to which to send the service request. In this case, the service request sent from the NF node of the service consumer to the SCP comprises the address of the selected NF node of the service producer. The NF node of the service consumer can forward the service request without performing any further discovery or selection. In case the selected NF node of the service producer is not accessible for any reason, it may be up to the NF node of the service consumer to find an alternative. In other cases, the SCP may communicate with the NRF to acquire selection parameters (e.g. location, capacity, etc.) and the SCP may select an NF node of the service producer to which to send the service request.
In the system illustrated in Figure 1 D, the NF node of the consumer does not carry out the discovery or selection process. Instead, the NF node of the consumer adds any necessary discovery and selection parameters (required to find a suitable NF node of the service producer) to the service request that it sends via the SCP. The SCP uses the request address and the discovery and selection parameters in the service request to route the service request to a suitable NF node of the service producer. The SCP can perform discovery with the NRF. For the fifth generation core (5GC), from Release 16, the SCP 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. The indirect communication that is used can be either of the two indirect communications options described earlier with reference to Figure 1C and 1 D.
Figure 2A-C is a signalling diagram illustrating an exchange of signals in an existing system, such as the system illustrated in Figure 1 D but it will be understood the issue described can also apply to the system illustrated in Figure 1C. The system illustrated in Figure 2A-C comprises a first SCP node 10, a first NF node 20 of a service consumer (“NFc”), a second NF node 30 of a service producer (“NFp1”), and a third NF node 70 of a service producer (“NFp2”). The first SCP node 10 is configured to operate as an SCP between the first NF node 20 and the second NF node 30. The second NF node 30 can be configured to run a service 40 and the third NF node 70 can be configured to run a service 80. The second NF node 30 and the third NF node 70 can be configured to run the same service or a different service. The second NF node 30 and the third NF node 70 can be part of a set 402 of NF nodes of a service producer. The system illustrated in Figure 2A-C also comprises a network repository function node 60.
In Figure 2A-C, steps 600-628 relate to a first request for a user equipment (UE)/session context. As illustrated by block 500 of Figure 2A-C, the UE/session context may be stored. As illustrated by block 600 of Figure 2A-C, the first NF node 20 determines what discovery (and selection) parameters to use. More specifically, the first NF node 20 identifies the discovery parameters to include in the request. The discovery parameters are those that allow the first SCP node 10 to select the required NF node of the service producer. The discovery parameters can be associated with a certain service in a received request, which is not illustrated in Figure 2A-C. As illustrated by block 602 of Figure 2A-C, the second NF node 30 does not support binding. As illustrated by blocks 502 and 604 of Figure 2A-C, the first NF node 20 stores the UE/session context for the request received. This storage may be cached or externally stored.
As illustrated by arrow 606 of Figure 2A-C, the first NF node 20 initiates transmission of a service request towards the first SCP node 10. Herein, this service request may be referred to as the “first request” 602. The service request is for an NF node to provide a first service 40 requested by the first NF node 20. The first NF node 20 may know via which SCP node to route the service request by configuration or other means. The first request comprises the address of this SCP node. In this illustration, this SCP node is the first SCP node 10. The discovery parameters are included in the service request. For example, the service request can comprise a hypertext transfer protocol (HTTP) header that identifies the parameters to be used for discovery and selection.
As illustrated by arrow 608 of Figure 2A-C, the first SCP node 10 initiates transmission of a discovery request to the NRF node 60 to obtain NF profile(s) of one or more NF nodes of the service producer for the service that needs to be executed. The discovery request comprises the received discovery parameters. As illustrated by arrow 610 of Figure 2A-C, the first SCP node 10 receives a response from the NRF node 60 comprising the NF profile(s) of one or more NF nodes of the service producer. As illustrated by blocks 504 and arrow 612 of Figure 2A-C, the first SCP node 10 stores the NF profile(s) of one or more NF nodes of the service producer. As illustrated by block 614 of Figure 2A-C, the first SCP node 10 selects one NF node of the service producer from the one(s) discovered using, for example, functional criteria (e.g. subscription permanent identifier (SUPI), network slice selection assistance information (NSSAI), data network name (DNN), etc.) and/or non-functional criteria (e.g. load, capacity, etc.). For the purpose of the illustration, it is assumed that the first SCP node 10 selects the second NF node 30.
As illustrated by block 616 of Figure 2A-C, the first SCP node 10 replaces its own address (namely, the scp-address) in the received service request with the address of the selected second NF node 30. As illustrated by block 618 of Figure 2A-C, the first SCP node 10 may perform any extra functionality, such as monitoring and/or tracing. As illustrated by arrow 620 of Figure 2A-C, the first SCP node 10 initiates transmission of the service request towards the selected second NF node 30. Here, the service request is for the second NF node 30 to provide the first service 40 requested by the first NF node 20.
As illustrated by arrow 622 of Figure 2A-C, the first SCP node 10 receives a response. Herein, this response may be referred to as the “first response” 622. The response 622 can comprise the result (e.g. that the service request is successful), some business logic (BL) information (e.g. as a result of providing the service), and/or location information. The location information is information indicative of a location of the resource in the second NF node 30 used when providing the first service 40. As illustrated by block 624 of Figure 2A-C, the first SCP node 10 includes, in the response to be sent to the first NF node 20, an identifier that (e.g. uniquely) identifies the second NF node 30 (namely, sbi-producer-ld). Herein, this identifier may be referred to as the “first identifier”. According to 3GPP TS 29.500 V16.3.0, if the second NF node 30 does not support a binding functionality, it does not include binding information in its response 622 to the first SCP node 10. Then, the first SCP node 10 needs to include the identifier that identifies the second NF node 30 (namely, sbi-producer-ld) in the response to the first NF node 20. When using delegated discovery, the first SCP node 10 includes the identifier of the second NF node 30 in the response to be transmitted to the first NF node 20 if and only if the second NF node 30 does not return binding information in its response 622. If the second NF node 30 includes client binding in its response 622, the first SCP node 10 does not include the identifier of the second NF node 30 in the response to be transmitted to the first NF node 20.
As illustrated by arrow 626 of Figure 2A-C, the first SCP node 10 initiates transmission of the response (optionally comprising the first identifier) towards the first NF node 20. As illustrated by blocks 506 and 628 of Figure 2A-C, the first NF node 20 can store the information comprised in the response, e.g. the result, the BL information, and/or the location information. The information comprised in the response can be stored with the UE/session context.
In Figure 2A-C, steps 630-650 relate to subsequent service requests for an existing UE/Session context. As illustrated by block 630 of Figure 2A-C, another request (not illustrated) to execute a service is received by the first NF node 20 and this service request is identified to correspond to the same UE/session context in respect of which the earlier request was received. The first NF node 20 can, for example, determine the corresponding UE/session context based on the BL information. As illustrated by block 632 of Figure 2A-C, the first NF node 20 extracts, from the location information, an address of the second NF node 30, which may be an application programming interface (API) root of a uniform resource identifier (URI) used to reach of the second NF node 30 (i.e. the sbi-target-apiroot). As illustrated by arrow 634 of Figure 2A-C, the first NF node 20 initiates transmission of a subsequent service request towards the first SCP node 10. Herein, this subsequent service request may be referred to as the “subsequent second request”. The subsequent service request is for an NF node to provide a second service 40, 80 requested by the first NF node 20, which may be the same or a different service to the first service 40. The first NF node 20 may know via which SCP (e.g. in this illustration, the first SCP node 10) to route the service request by configuration or other means. The subsequent service request can comprise the address of the second NF node 30 (e.g. the sbi-target-apiroot). A hypertext transfer protocol (HTTP) header can comprise this address. As illustrated by block 636 of Figure 2A-C, the first SCP node 10 replaces its own address (namely, the scp-address) in the received subsequent service request with the address of the second NF node 30 (e.g. the sbi-target-apiroot). As illustrated by block 638 of Figure 2A-C, the first SCP node 10 may perform any extra functionality, such as monitoring and/or tracing.
As illustrated by arrow 640 of Figure 2A-C, the first SCP node 10 initiates transmission of the subsequent service request towards the second NF node 30. Here, the service request is for the second NF node 30 to provide the second service 40, 80 requested by the first NF node 20. As illustrated by arrow 642 of Figure 2A-C, there is an error response or a lack of response from the second NF node 30. As illustrated by block 644 of Figure 2A-C, the first SCP node 10 identifies that a reselection of NF node is required, e.g. based on the error. However, as illustrated by block 646 of Figure 2A-C, the first SCP node 10 has no means to select an alternative NF node. In particular, the first SCP node 10 does not have any information to be able to find an alternative NF node to be able to fulfil the subsequent service request and thus reselection is not possible. As illustrated by arrow 648 of Figure 2A-C, the first SCP node 10 initiates transmission of a response to the first NF node 20. The response comprises information (e.g. an existing HTTP error, such as a 504 error) indicative that there is an error situation. As illustrated by block 508 of Figure 2A-C, there is no additional information to store, other than that already stored. As illustrated by block 650 of Figure 2A-C, the procedure fails.
Thus, in cases where the second NF node 30 does not support binding, there is currently no way in which the first SCP node 10 can find an alternative NF node (or alternative instance of the same NF node) of the service provider, e.g. in case of failure of the originally selected second NF node 30.
Summary
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 method for initiating a service request in a network. The method is performed by a first network function (NF) node of a service consumer. A first service communication proxy (SCP) node is configured to operate as an SCP between the first NF node and a second NF node of a service producer in the network. The method is performed following a first request for the second NF node to provide a service requested by the first NF node. The method comprises initiating transmission of a subsequent second request towards the first SCP node. The second request is for the second NF node to provide the service requested by the first NF node. The second request comprises a first identifier that identifies the second NF node. The first identifier allows the first SCP node to identify a profile of the second NF node and a set of NF nodes of the service producer that comprises the second NF node.
In some embodiments, the first identifier may be from a response to the first request.
In some embodiments, the method may comprise controlling a memory to store the first identifier from the response to the first request.
In some embodiments, the method may comprise controlling the memory to store the first identifier only if binding information is not present in the response to the first request and/or only if the first NF node does not support binding.
In some embodiments, the memory may be controlled to store the first identifier from the response to the first request in response to receiving the response to the first request. In some embodiments, the method may comprise retrieving the first identifier from the memory.
In some embodiments, the response to the first request may be received from the first SCP node.
In some embodiments, the second request may comprise the first identifier only if binding information is not present in the response to the first request.
In some embodiments, the second request may comprise the first identifier only if the first NF node does not support binding.
In some embodiments, the method may comprise incorporating the first identifier into the second request.
In some embodiments, a header may comprise the first identifier.
In some embodiments, the header may be a 3gpp-Sbi-Producer-ld header.
In some embodiments, the first SCP node and the first NF node may be deployed in independent deployment units and/or the first SCP node and the second NF node may be deployed in independent deployment units.
In some embodiments, the first SCP node may be deployed as a distributed network element.
In some embodiments, part of the first SCP node may be deployed in the same deployment unit as the first NF node and/or part of the first SCP node may be deployed in the same deployment unit as the second NF node.
In some embodiments, at least one second SCP node may be configured to operate as an SCP between the first NF node and the first SCP node, and/or at least one third SCP node may be configured to operate as an SCP between the first SCP node and the second NF node. In some embodiments, the first SCP node and one or both of the at least one second SCP node and 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 and a network repository function (NRF) node.
According to another aspect of the disclosure, there is provided a first NF node comprising processing circuitry configured to operate in accordance with the method described earlier 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 method described earlier in respect of the first NF node.
According to another aspect of the disclosure, there is provided a method for handling a service request in a network. The method is performed by a first service communication proxy (SCP) node that is configured to operate as an SCP between a first network function (NF) node of a service consumer and a second NF node of a service producer in the network. The method is performed if, following a first request for the second NF node to provide a service requested by the first NF node, a subsequent second request received at the first SCP node cannot be fulfilled. The second request is for the second NF node to provide the service requested by the first NF node. The second request comprises a first identifier that identifies the second NF node and that allows the SCP node to identify a profile of the second NF node. The method comprises identifying, using the first identifier, a set of NF nodes of the service producer that comprises the second NF node. The set of NF nodes further comprises a third NF node of the service producer. The method comprises initiating transmission of the second request towards the third NF node for the third NF node to provide the service and/or a second identifier towards the first NF node. The second identifier identifies the third NF node. In some embodiments, transmission of the second identifier towards the first NF node may be initiated irrespective of whether binding information is present in a response to the subsequent second request received from the third NF node.
In some embodiments, it may be that the second request cannot be fulfilled if the second request transmitted towards the second NF node is unsuccessful, no response is received from the second NF node to the second request transmitted towards the second NF node, or transmission of the second request towards the second NF node is prevented.
In some embodiments, identifying the set of NF nodes using the first identifier may comprise identifying the set of NF nodes from the profile of the second NF node, wherein the profile of the second NF node is identified using the first identifier.
In some embodiments, the profile of the second NF node may be stored at the first SCP node and/or a network repository function (NRF) node.
In some embodiments, identifying the set of NF nodes may comprise acquiring a third identifier that identifies the set of NF nodes.
In some embodiments, the method may comprise identifying, using the third identifier, one or more NF nodes of the set of NF nodes, wherein the one or more identified NF nodes comprise the third NF node.
In some embodiments, identifying the third NF node of the set of NF nodes using the third identifier may comprise identifying the third NF node from a profile of the third NF node, wherein the profile of the third NF node comprises the third identifier. In some embodiments, the profile of the third NF node may be stored at the first SCP node and/or a network repository function (NRF) node.
In some embodiments, the method may comprise selecting the third NF node from the one or more identified NF nodes. In some embodiments, the method may comprise, in response to the first request, initiating transmission of a response to the first request towards the first NF node, wherein the response to the first request comprises the first identifier.
In some embodiments, the response to the first request may comprise the first identifier irrespective of whether binding information is present in the response to the first request.
In some embodiments, the second request may comprise the first identifier only if binding information is not present in the response to the first request.
In some embodiments, the second request may comprise the first identifier only if the first NF node does not support binding.
In some embodiments, a header may comprise the first identifier.
In some embodiments, the header may be a 3gpp-Sbi-Producer-ld header.
In some embodiments, the first SCP node and the first NF node may be deployed in independent deployment units, the first SCP node and the second NF node may be deployed in independent deployment units, and/or the first SCP node and the third NF node may be deployed in independent deployment units.
In some embodiments, the first SCP node may be deployed as a distributed network element.
In some embodiments, part of the first SCP node may be deployed in the same deployment unit as the first NF node, part of the first SCP node may be deployed in the same deployment unit as the second NF node, and/or part of the first SCP node may be deployed in the same deployment unit as the third NF node.
In some embodiments, at least one second SCP node may be configured to operate as an SCP between the first NF node and the first SCP node, at least one third SCP node may be configured to operate as an SCP between the first SCP node and the second NF node, and/or at least one fourth SCP node may be configured to operate as an SCP between the first SCP node and the third NF node.
In some embodiments, the first SCP node and one or more of the at least one second SCP node, the at least one third SCP node, and the at least one fourth SCP node may be deployed in independent deployment units.
In some embodiments, the at least one second SCP node, the at least one third SCP node, and/or the at least one fourth SCP node may be deployed as distributed network elements.
In some embodiments, an entity may comprise the first SCP node and a network repository function (NRF) node.
According to another aspect of the disclosure, there is provided a first SCP node comprising processing circuitry configured to operate in accordance with the method described earlier in respect of the first SCP node.
In some embodiments, the first SCP node may comprise at least one memory for storing instructions which, when executed by the processing circuitry, cause the first SCP node to operate in accordance with the method described earlier in respect of the first SCP node.
According to another aspect of the disclosure, there is provided a method performed by a system. The method comprises the method as described earlier in respect of the first NF node and/or the method described earlier in respect of the first SCP node.
According to another aspect of the disclosure, there is provided a system comprising at least one first NF node as described earlier and/or at least one first SCP 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 method as described earlier in respect of the first NF node and/or first SCP 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 method as described earlier in respect of the first NF node and/or first SCP node.
Thus, an improved technique for handling service requests in a network is provided. Brief description of the drawings
For a better understanding of the technique, and to show how it may be put into effect, reference will now be made, by way of example, to the accompanying drawings, in which:
Figure 1 A-D is a block diagram illustrating different existing systems;
Figure 2A-C is a signalling diagram illustrating an exchange of signals in an existing system;
Figure 3 is a block diagram illustrating a first network function (NF) node according to an embodiment;
Figure 4 is a flowchart illustrating a method performed by a first NF node according to an embodiment;
Figure 5 is a block diagram illustrating a first service communication proxy (SCP) node according to an embodiment;
Figure 6 is a flowchart illustrating a method performed by a first SCP node according to an embodiment;
Figure 7A-C is a signalling diagram illustrating an exchange of signals in a system according to an embodiment; Figure 8 is a block diagram illustrating a first NF node according to an embodiment; and
Figure 9 is a block diagram illustrating a first SCP node according to an embodiment. Detailed Description
Herein, techniques for handling a service request in a network are described. A service request can also be referred to as a request for a service. 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 a context management (e.g. user equipment context management (UECM)) service, a data management (DM) service, or any other type of service. The techniques described herein can be used in respect of any network, such as any communications 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 service communication proxy (SCP) node and a first network function (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.
Figure 3 illustrates a first NF node 20 of a service consumer in accordance with an embodiment. The first NF node 20 is for initiating a service request in a network. A first SCP node 10 is configured to operate as an SCP between the first NF node and a second NF node of a service producer in the network. In some embodiments, the first NF node 20 can be, for example, be a physical machine (e.g. a server) or a virtual machine (VM). The first NF node 20 can be, for example, a user equipment (UE). As illustrated in Figure 3, the first NF node 20 comprises processing circuitry (or logic) 22. The processing circuitry 22 controls the operation of the first NF node 20 and can implement the method described herein in respect of the first NF node 20. The processing circuitry 22 can be configured or programmed to control the first NF node 20 in the manner described herein. The processing circuitry 22 can comprise one or more hardware components, such as one or more processors, one or more processing units, one or more multi-core processors and/or one or more modules. In particular implementations, each of the one or more hardware components can be configured to perform, or is for performing, individual or multiple steps of the method described herein in respect of the first NF node 20. In some embodiments, the processing circuitry 22 can be configured to run software to perform the method described herein in respect of the first NF node 20. The software may be containerised according to some embodiments. Thus, in some embodiments, the processing circuitry 22 may be configured to run a container to perform the method described herein in respect of the first NF node 20.
Briefly, the processing circuitry 22 of the first NF node 20 is configured to, following a first request for the second NF node to provide a service requested by the first NF node 20, initiate transmission of a subsequent second request towards the first SCP node. The second request is for the second NF node to provide the service requested by the first NF node 20. The second request comprises a first identifier that (e.g. uniquely) identifies the second NF node. The first identifier allows the first SCP node 10 to identify a profile of the second NF node and a set of NF nodes of the service producer that comprises the second NF node.
As illustrated in Figure 3, in some embodiments, the first NF node 20 may optionally comprise a memory 24. The memory 24 of the first NF node 20 can comprise a volatile memory or a non-volatile memory. In some embodiments, the memory 24 of the first NF node 20 may comprise a non-transitory media. Examples of the memory 24 of the first NF node 20 include, but are not limited to, a random access memory (RAM), a read only memory (ROM), a mass storage media such as a hard disk, a removable storage media such as a compact disk (CD) or a digital video disk (DVD), and/or any other memory. The processing circuitry 22 of the first NF node 20 can be connected to the memory 24 of the first NF node 20. In some embodiments, the memory 24 of the first NF node 20 may be for storing program code or instructions which, when executed by the processing circuitry 22 of the first NF node 20, cause the first NF node 20 to operate in the manner described herein in respect of the first NF node 20. For example, in some embodiments, the memory 24 of the first NF node 20 may be configured to store program code or instructions that can be executed by the processing circuitry 22 of the first NF node 20 to cause the first NF node 20 to operate in accordance with the method described herein in respect of the first NF node 20. Alternatively or in addition, the memory 24 of the first NF node 20 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 first NF node 20 may be configured to control the memory 24 of the first NF node 20 to store information, data, messages, requests, responses, indications, notifications, signals, or similar, that are described herein.
In some embodiments, as illustrated in Figure 3, the first NF node 20 may optionally comprise a communications interface 26. The communications interface 26 of the first NF node 20 can be connected to the processing circuitry 22 of the first NF node 20 and/or the memory 24 of first NF node 20. The communications interface 26 of the first NF node 20 may be operable to allow the processing circuitry 22 of the first NF node 20 to communicate with the memory 24 of the first NF node 20 and/or vice versa. Similarly, the communications interface 26 of the first NF node 20 may be operable to allow the processing circuitry 22 of the first NF node 20 to communicate with the first SCP node 10 and/or any other node. The communications interface 26 of the first NF node 20 can be configured to transmit and/or receive information, data, messages, requests, responses, indications, notifications, signals, or similar, that are described herein. In some embodiments, the processing circuitry 22 of the first NF node 20 may be configured to control the communications interface 26 of the first NF node 20 to transmit and/or receive information, data, messages, requests, responses, indications, notifications, signals, or similar, that are described herein.
Although the first NF node 20 is illustrated in Figure 3 as comprising a single memory 24, it will be appreciated that the first NF node 20 may comprise at least one memory (i.e. a single memory or a plurality of memories) 24 that operate in the manner described herein. Similarly, although the first NF node 20 is illustrated in Figure 3 as comprising a single communications interface 26, it will be appreciated that the first NF node 20 may comprise at least one communications interface (i.e. a single communications interface or a plurality of communications interface) 26 that operate in the manner described herein. It will also be appreciated that Figure 3 only shows the components required to illustrate an embodiment of the first NF node 20 and, in practical implementations, the first NF node 20 may comprise additional or alternative components to those shown.
Figure 4 is a flowchart illustrating a method performed by a first NF node 20 in accordance with an embodiment. The method of Figure 4 is for initiating a service request in the network. The first NF node 20 described earlier with reference to Figure 3 is configured to operate in accordance with the method of Figure 4. The method can be performed by or under the control of the processing circuitry 22 of the first NF node 20. A first SCP node 10 is configured to operate as an SCP between the first NF node 20 and a second NF node of a service producer in the network.
The method of Figure 4 is performed following a first request for the second NF node to provide a service requested by the first NF node. As illustrated at block 202 of Figure 4, transmission of a subsequent second request is initiated towards the first SCP node. The second request is for the second NF node to provide the service requested by the first NF node 20. The second request comprises a first identifier that (e.g. uniquely) identifies the second NF node. The first identifier allows the first SCP node to identify a profile of the second NF node and a set of NF nodes of the service producer that comprises the second NF node.
Herein, the term “initiate” can mean, for example, cause or establish. Thus, the processing circuitry 22 of the first NF node 20 can be configured to itself transmit the subsequent second request (e.g. via a communications interface 26 of the first NF node 20) or can be configured to cause another node to transmit the subsequent second request.
Figure 5 illustrates a first SCP node 10 in accordance with an embodiment. The first SCP node 10 is for handling a service request in a network. The first SCP node 10 is configured to operate as an SCP between the first NF node 20 of the service consumer and the second NF node of the service producer in the network. In some embodiments, the first SCP node 10 can be, for example, be a physical machine (e.g. a server) or a virtual machine (VM).
As illustrated in Figure 5, the first SCP node 10 comprises processing circuitry (or logic) 12. The processing circuitry 12 controls the operation of the first SCP node 10 and can implement the method described herein in respect of the first SCP node 10. The processing circuitry 12 can be configured or programmed to control the first SCP node 10 in the manner described herein. The processing circuitry 12 can comprise one or more hardware components, such as one or more processors, one or more processing units, one or more multi-core processors and/or one or more modules. In particular implementations, each of the one or more hardware components can be configured to perform, or is for performing, individual or multiple steps of the method described herein in respect of the first SCP node 10. In some embodiments, the processing circuitry 12 can be configured to run software to perform the method described herein in respect of the first SCP node 10. The software may be containerised according to some embodiments. Thus, in some embodiments, the processing circuitry 12 may be configured to run a container to perform the method described herein in respect of the first SCP node 10.
Briefly, the processing circuitry 12 of the first SCP node 10 is configured to operate if, following a first request for the second NF node to provide a service requested by the first NF node 20, a subsequent second request received at the first SCP node 10 cannot be fulfilled. The second request is for the second NF node to provide the service requested by the first NF node 20 and wherein the second request comprises a first identifier that (e.g. uniquely) identifies the second NF node and that allows the first SCP node 10 to identify a profile of the second NF node. Specifically, the processing circuitry 12 of the first SCP node 10 is configured to identify, using the first identifier, a set of NF nodes of the service producer that comprises the second NF node. The set of NF nodes further comprises a third NF node of the service producer. The processing circuitry 12 of the first SCP node 10 is configured to initiate transmission of the second request towards the third NF node for the third NF node to provide the service and/or a second identifier towards the first NF node. The second identifier (e.g. uniquely) identifies the third NF node. As illustrated in Figure 5, in some embodiments, the first SCP node 10 may optionally comprise a memory 14. The memory 14 of the first SCP node 10 can comprise a volatile memory or a non-volatile memory. In some embodiments, the memory 14 of the first SCP node 10 may comprise a non-transitory media. Examples of the memory 14 of the first SCP node 10 include, but are not limited to, a random access memory (RAM), a read only memory (ROM), a mass storage media such as a hard disk, a removable storage media such as a compact disk (CD) or a digital video disk (DVD), and/or any other memory.
The processing circuitry 12 of the first SCP node 10 can be connected to the memory 14 of the first SCP node 10. In some embodiments, the memory 14 of the first SCP node 10 may be for storing program code or instructions which, when executed by the processing circuitry 12 of the first SCP node 10, cause the first SCP node 10 to operate in the manner described herein in respect of the first SCP node 10. For example, in some embodiments, the memory 14 of the first SCP node 10 may be configured to store program code or instructions that can be executed by the processing circuitry 12 of the first SCP node 10 to cause the first SCP node 10 to operate in accordance with the method described herein in respect of the first SCP node 10. Alternatively or in addition, the memory 14 of the first SCP 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 SCP node 10 may be configured to control the memory 14 of the first SCP node 10 to store information, data, messages, requests, responses, indications, notifications, signals, or similar, that are described herein.
In some embodiments, as illustrated in Figure 5, the first SCP node 10 may optionally comprise a communications interface 16. The communications interface 16 of the first SCP node 10 can be connected to the processing circuitry 12 of the first SCP node 10 and/or the memory 14 of first SCP node 10. The communications interface 16 of the first SCP node 10 may be operable to allow the processing circuitry 12 of the first SCP node 10 to communicate with the memory 14 of the first SCP node 10 and/or vice versa. Similarly, the communications interface 16 of the first SCP node 10 may be operable to allow the processing circuitry 12 of the first SCP node 10 to communicate with the first NF node and/or any other node. The communications interface 16 of the first SCP node 10 can be configured to transmit and/or receive information, data, messages, requests, responses, indications, notifications, signals, or similar, that are described herein. In some embodiments, the processing circuitry 12 of the first SCP node 10 may be configured to control the communications interface 16 of the first SCP node 10 to transmit and/or receive information, data, messages, requests, responses, indications, notifications, signals, or similar, that are described herein.
Although the first SCP node 10 is illustrated in Figure 5 as comprising a single memory 14, it will be appreciated that the first SCP node 10 may comprise at least one memory (i.e. a single memory or a plurality of memories) 14 that operate in the manner described herein. Similarly, although the first SCP node 10 is illustrated in Figure 5 as comprising a single communications interface 16, it will be appreciated that the first SCP node 10 may comprise at least one communications interface (i.e. a single communications interface or a plurality of communications interface) 16 that operate in the manner described herein. It will also be appreciated that Figure 5 only shows the components required to illustrate an embodiment of the first SCP node 10 and, in practical implementations, the first SCP node 10 may comprise additional or alternative components to those shown.
Figure 6 is a flowchart illustrating a method performed by a first SCP node 10 in accordance with an embodiment. The first SCP node 10 is configured to operate as an SCP between the first NF node 20 of the service consumer and the second NF node of the service producer in the network. The method is for handling a service request in the network. The first SCP node 10 described earlier with reference to Figure 5 is configured to operate in accordance with the method of Figure 6. The method can be performed by or under the control of the processing circuitry 12 of the first SCP node 10. The method is performed if, following a first request for the second NF node to provide a service requested by the first NF node 20, a subsequent second request received at the first SCP node 10 cannot be fulfilled. The second request is for the second NF node to provide the service requested by the first NF node 20. The second request comprises a first identifier that (e.g. uniquely) identifies the second NF node and that allows the first SCP node 10 to identify a profile of the second NF node.
As illustrated at block 102 of Figure 6, a set of NF nodes of the service producer that comprises the second NF node is identifying using the first identifier. The set of NF nodes further comprises a third NF node of the service producer. As illustrated at block 104 of Figure 6, transmission of the second request is initiated towards the third NF node for the third NF node to provide the service and/or transmission of a second identifier is initiated towards the first NF node 20. The second identifier (e.g. uniquely) identifies the third NF node.
As mentioned earlier, the term “initiate” can mean, for example, cause or establish. Thus, the processing circuitry 12 of the first SCP node 10 can be configured to itself transmit the second request and/or the second identifier (e.g. via a communications interface 16 of the first SCP node 10) or can be configured to cause another node to transmit the second request and/or the second identifier.
There is also provided a system. The system can comprise at least one first SCP node 10 as described herein and/or at least one first NF node 20 as described herein. The system may also comprise any one or more of the other nodes mentioned herein.
Figure 7A-C is a signalling diagram illustrating an exchange of signals in a system according to an embodiment. The system illustrated in Figure 7A-C comprises a first SCP node 10 and a first NF node 20 of a service consumer (“NFc”). The first NF node 20 can be as described earlier with reference to Figures 3 and 4. The first SCP node 10 can be as described earlier with reference to Figures 5 and 6.
The system illustrated in Figure 7A-C comprises a second NF node 30 of a service producer (“NFp1”) and a third NF node 70 of a service producer (“NFp2”). The first SCP node 10 is configured to operate as an SCP between the first NF node 20 and the second NF node 30. The first SCP node 10 is also configured to operate as an SCP between the first NF node 20 and the third NF node 70. The second NF node 30 can be configured to run a service 40. The third NF node 70 can be configured to run a service 80. The second NF node 30 and the third NF node 70 can be configured to run the same service (e.g. different instances of the same service) or a different service. The second NF node 30 and the third NF node 70 can be part of a set 402 of NF nodes of a service producer. The system illustrated in Figure 7A-C comprises a network repository function (NRF) node 60. In some embodiments, an entity may comprise the first SCP node 10 and the NRF node 60. That is, in some embodiments, the first SCP node 10 can be merged with the NRF node 60 in a combined entity. In some embodiments, the first SCP node 10 and the first NF node 20 may be deployed in independent deployment units, the first SCP node 10 and the second NF node 30 may be deployed in independent deployment units, and/or the first SCP node 10 and the third NF node 70 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 V16.4.0. In other embodiments, the first SCP node 10 may be deployed as a distributed network element. For example, in some embodiments, part (e.g. a service agent) of the first SCP node 10 may be deployed in the same deployment unit as the first NF node 20, part (e.g. a service agent) of the first SCP node 10 may be deployed in the same deployment unit as the second NF node 30, and/or part (e.g. a service agent) of the first SCP node 10 may be deployed in the same deployment unit as the third NF node 70. Thus, an SCP node based on service mesh is possible, as described in 3GPP TS 23.501 V16.4.0.
In some embodiments, at least one second SCP node may be configured to operate as an SCP between the first NF node 20 and the first SCP node 10, at least one third SCP node may be configured to operate as an SCP between the first SCP node 10 and the second NF node 30, and/or at least one fourth SCP node is configured to operate as an SCP between the first SCP node 10 and the third NF node 70. Thus, a multipath of SCP nodes is possible. In some of these embodiments, the first SCP node 10 and one or more of the at least one at least one second SCP node, the at least one third SCP node, and the at least one fourth SCP node are 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.
Steps 500-502 and 600-624 of Figure 7A-C are as described earlier with reference to Figure 2A-C. As illustrated by arrow 700 of Figure 7A-C, in response to the first request 606, the first SCP node 10 initiates transmission of the response to the first request 606 towards the first NF node 20. The first NF node 20 receives the response 700 to the first request 606 from the first SCP node 10. The response 700 to the first request 606 comprises the first identifier. In some embodiments, a header of the response 700 to the first request 606 may comprise the first identifier. The header may, for example, be a hypertext transfer protocol (HTTP) header. The header may be an existing header (e.g. a 3gpp-Sbi-Producer-ld header) or a new custom header (e.g. 3gpp-Sbi-Discovery-target-nf-instance-id). In some embodiments, the response 700 to the first request 606 may comprise the first identifier irrespective of whether binding information is present in the response 62 to the first request 606 received from the second NF node 30 and/or irrespective of whether the first NF node 20 supports binding. Thus, the first identifier is always received by the first NF node 20, regardless of whether the response 700 to the first request 606 comprises binding information and/or regardless of whether the first NF node 20 actually supports binding.
Herein, binding information can be any information that is indicative of one or more parameters by which the first NF node 20 is bound when selecting a second service 40, 80 in an NF node 30, 70 of a service producer for a subsequent second request 706, 712. The subsequent second request 706, 712 can be a subsequent second request that follows the first request 606, 620 directly, or a subsequent second request that follows the first request 606, 620 indirectly, e.g. it may be a request that follows another one or more requests that follow the first request 606, 620. In some embodiments, the subsequent second request may be linked to the first service 40. For example, the subsequent second request may be associated with a resource used to provide the first service 40. The first service 40 and the second service 40 may be the same service, or the first service 40 and the second service 80 may be different services. The term “binding information” is well-recognised in the art and thus a person skilled in the art will be aware of various parameters that may be indicated by the binding information referred to herein. Nevertheless, some examples will be provided for completeness.
For example, in some embodiments, the one or more parameters may comprise a parameter that binds the first NF node 20 to selecting the second service 40, 80 in the second NF node 30 for the subsequent second request 706, 712, or a parameter that binds the first NF node 20 to selecting the second service 40, 80 in a third NF node 70 for the subsequent second request 706, 712. In some embodiments, the parameter that binds the first NF node 20 to selecting the second service 40, 80 in the second NF node 30 for the subsequent second request 706, 712 comprises an identifier that (e.g. uniquely) identifies the second NF node 30 and/or the parameter that binds the first NF node 20 to selecting the second service 40, 80 in the third NF node 70 for the subsequent second request 706, 712 comprises an identifier that (e.g. uniquely) identifies the set 402 of NF nodes. In some embodiments, as mentioned earlier, the binding information can comprise an identifier that (e.g. uniquely) identifies the second NF node 30 (or the selected instance of the second NF node 30, e.g. NFp instance Id), an identifier that (e.g. uniquely) identifies the set 402 of NF nodes that comprises the second NF node 30 (e.g. NFp Set X Id), and a name of the first service 40 (e.g. Service A). Other examples of one or more parameters that the binding information may comprise are those in Table 6.3.1.0-1 of 3GPP TS 23.501 V16.5.0.
Returning back to Figure 7A-C, as illustrated by blocks 701 and 702, in some embodiments, the first NF node 20 may control a memory 24, 701 to store the first identifier from the response 700 to the first request 606. In some embodiments, the first NF node 20 may control the memory 24, 701 to store the first identifier only if binding information is not present in the response 700 to the first request 606 and/or only if the first NF node 20 does not support binding. In some embodiments, the first NF node 20 may control the memory 24, 701 to store the first identifier in response to receiving the response 700 to the first request 606.
As illustrated by block 704 of Figure 7A-C, in some embodiments, the first NF node 20 may retrieve the first identifier from the memory 24, 701. The first NF node 20 may also extract, from the location information, an address of the second NF node 30, which may be an application programming interface (API) root of a uniform resource identifier (URI) used to reach of the second NF node 30 (i.e. the sbi-target-apiroot). Although not illustrated, in some embodiments, the first NF node 20 may incorporate the first identifier into the second request.
As illustrated by arrow 706 of Figure 7A-C, the first NF node 20 initiates transmission of a subsequent second request towards the first SCP node 10. The second request 706 is for the second NF node 30 to provide the service 40 requested by the first NF node 20. The second request 706 comprises the first identifier that identifies the second NF node 30 (i.e. sbi-producer-id) and optionally also the address of the second NF node 30 (e.g. sbi-target-apiroot). The address of the second NF node 30 does not allow the first SCP node 10 to identify a profile of the second NF node 30, whereas the first identifier does allow the first SCP node 10 to identify a profile of the second NF node 30. In some embodiments, a header (e.g. a 3gpp-Sbi-Producer-ld header) of the second request 706 may comprise the first identifier. The header may, for example, be HTTP header. The header may be an existing header (e.g. a 3gpp-Sbi-Producer-ld header, or 3gpp-Sbi-Discovery-target-nf-instance-id) or a new custom header. In some embodiments, the second request 706 may comprise the first identifier only if binding information is not present in the response 700 to the first request 606 and/or only if the first NF node 20 does not support binding. As described earlier, the first identifier allows the first SCP node 10 to identify a profile of the second NF node 30 and a set of NF nodes of the service producer that comprises the second NF node 30. The first identifier is from the response 700 to the first request 606. In some embodiments, the second request 706 may comprise the first identifier only if binding information is not present in the response 700 to the first request 606 and/or only if the first NF node 20 does not support binding.
Steps 636-644 of Figure 7A-C are as described earlier with reference to Figure 2A-C. However, the first SCP node 10 now has the means (by way of the first identifier) to take action to fulfil the subsequent second request. In particular, as illustrated by block 708 of Figure 7A-C if, following the first request 606 for the second NF node 30 to provide a service 40 requested by the first NF node 20, the subsequent second request 706 received at the first SCP node 10 cannot be fulfilled, the first SCP node 10 uses the first identifier to identify a set 402 of NF nodes of the service producer that comprises the second NF node 30. The set 402 of NF nodes further comprises the third NF node 70 of the service producer.
There may be various reasons that the subsequent second request 706 received at the first SCP node 10 cannot be fulfilled. For example, the second request cannot be fulfilled if the second request 640 transmitted towards the second NF node 30 is unsuccessful, no response 642 is received from the second NF node 30 to the second request 640 transmitted towards the second NF node 30, or transmission of the second request 640 towards the second NF node 30 is prevented.
In some embodiments, identifying the set 402 of NF nodes using the first identifier at block 708 of Figure 7A-C may comprise identifying the set 402 of NF nodes from the profile of the second NF node 30. The profile of the second NF node 30 may be identified using the first identifier. In some embodiments, the profile of the second NF node 30 may be stored at the first SCP node 10 and/or the NRF node 60. Thus, the profile of the second NF node 30 may be locally cached at the first SCP node 10 (see step 612), or newly discovered in the manner described earlier with reference to steps 608 and 610.
In some embodiments, identifying the set 402 of NF nodes may comprise acquiring a third identifier that (e.g. uniquely) identifies the set 402 of NF nodes. In some of these embodiments, the method may comprise identifying, using the third identifier, one or more NF nodes of the set 402 of NF nodes. The one or more identified NF nodes comprise the third NF node 70. In some embodiments, identifying the third NF node 70 of the set 402 of NF nodes using the third identifier may comprise identifying the third NF node 70 from a profile of the third NF node 70. The profile of the third NF node 70 may comprise the third identifier. Thus, the third NF node 70 can be identified as one that is in the same set as the second NF node 30. In some embodiments, the profile of the third NF node 70 may be stored at the first SCP node 10 and/or the NRF node 60. Thus, the profile of the third NF node 70 may be locally cached at the first SCP node 10 (see step 612), or newly discovered in the manner described earlier with reference to steps 608 and 610. In this way, the first SCP node 10 can use the first identifier to find the corresponding set of NF nodes (if any) and then a search based on the third identifier offers alternative NF nodes (if any).
As illustrated by arrow 710 of Figure 7A-C, in some embodiments, the first SCP node 10 may select an NF node from the one or more identified NF nodes. For the purpose of this illustration, it is assumed that the first SCP node 10 selects the third NF node 70 from the one or more identified NF nodes. As illustrated by arrow 712 of Figure 7A-C, the first SCP node 10 initiates transmission of the second request towards the third NF node 70 for the third NF node 70 to provide the service 80. As illustrated by arrow 714 of Figure 7A-C, the first SCP node 10 receives a response to the second request from the third NF node 70. As in the illustration, the response can be indicative that the subsequent second request is successful. The response can comprise some business logic (BL) information.
As illustrated by block 716 of Figure 7A-C, the first SCP node 10 includes, in the response, a second identifier that (e.g. uniquely) identifies the third NF node 70. As illustrated by arrow 718 of Figure 7A-C, the first SCP node 10 initiates transmission of a response to the subsequent second request towards the first NF node 20. As also illustrated by arrow 718 of Figure 7A-C, the first SCP node 10 initiates transmission of the second identifier (i.e. sbi-producer-id) towards the first NF node 20. For example, the response to the subsequent second request can comprise the second identifier. In some embodiments, the first SCP node 10 includes the second identifier irrespective of whether binding information is present in the response 714 to the subsequent second request 706 received from the third NF node 70. Thus, in some embodiments, transmission of the second identifier towards the first NF node 20 may be initiated irrespective of whether binding information is present in the response 714 to the subsequent second request 706 received from the third NF node 70. The response to the subsequent second request may also comprise the result that the subsequent second request is successful and optionally also the BL information. As illustrated by blocks 720 and 722 of Figure 7A-C, the first NF node 20 may store the second identifier, the result, and/or the BL information, e.g. with the UE/session context.
Figure 8 is a block diagram illustrating a first NF node 800 of a service consumer in accordance with an embodiment. The first NF node 800 can initiate a service request in a network. A first NF node can operate as an SCP between the first NF node and a second NF node of a service producer in the network. The first NF node 800 comprises a transmission initiating module 802 configured to, following a first request for the second NF node to provide a service requested by the first NF node, initiate transmission of a subsequent second request towards the first SCP node. The second request is for the second NF node to provide the service requested by the first NF node. The second request comprises a first identifier that identifies the second NF node. The first identifier allows the first SCP node to identify a profile of the second NF node and a set of NF nodes of the service producer that comprises the second NF node. The first NF node 800 may operate in the manner described herein in respect of the first NF node.
Figure 9 is a block diagram illustrating a first SCP node 900 in accordance with an embodiment. The first SCP node 900 can handle a service request in a network. The first SCP node 900 can operate as an SCP between a first NF node of a service consumer and a second NF node of a service producer in the network. The first SCP node 900 can operate if, following a first request for the second NF node to provide a service requested by the first NF node 800, a subsequent second request received at the first SCP node 900 cannot be fulfilled. The second request is for the second NF node to provide the service requested by the first NF node 800. The second request comprises a first identifier that identifies the second NF node and that allows the first SCP node 900 to identify a profile of the second NF node. The first SCP node 900 comprises an identifying module 902 configured to identify, using the first identifier, a set of NF nodes of the service producer that comprises the second NF node. The set of NF nodes further comprises a third NF node of the service producer. The first SCP node 900 comprises a transmission initiating module 904 configured to initiating transmission of the second request towards the third NF node for the third NF node to provide the service and/or a second identifier towards the first NF node 800. The second identifier identifies the third NF node. The first SCP node 900 may operate in the manner described herein in respect of the first SCP node.
There is also provided a computer program comprising instructions which, when executed by processing circuitry (such as the processing circuitry 12 of the first SCP node 10 described earlier and/or the processing circuitry 22 of the first NF node 20 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 SCP node 10 described earlier and/or the processing circuitry 22 of the first NF node 20 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 SCP node 10 described earlier and/or the processing circuitry 22 of the first NF node 20 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 first SCP node functionality and/or the first NF node functionality described herein can be performed by hardware. Thus, in some embodiments, any one or more of the first SCP node 10 and the first NF node 20 described herein can be a hardware node. However, it will also be understood that optionally at least part or all of the first SCP node functionality and/or the first NF node functionality described herein can be virtualized. For example, the functions performed by any one or more of the first SCP node 10 and the first NF node 20 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 SCP node 10 and the first NF node 20 described herein can be a virtual node. In some embodiments, at least part or all of the first SCP node functionality and/or the first NF node functionality described herein may be performed in a network enabled cloud. The first SCP node functionality and/or the first NF 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.
Thus, in the manner described herein, there is advantageously provided improved techniques for initiating and handling service requests in a network. The first SCP node 10 may include the first identifier that identifies the second NF node 30 (Sbi- Producer-ld) in the response back to the first NF node 20 (e.g. regardless of whether the second NF node 30 has included or has not included binding information), while the first NF node 20 includes the first identifier in a subsequent request (e.g. regardless of whether the first NF node 20 supports binding). In this way, the first SCP node 20 is able to select an alternative third NF node 70 (or an alternative instance of the same second NF node 30) in case of failure of the original second NF node 30, and this is possible for the case when either the second NF node 30 and/or the first NF node 20 does not support binding.
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.

Claims

1. A method for initiating a service request in a network, wherein the method is performed by a first network function, NF, node (20) of a service consumer and wherein a first service communication proxy, SCP, node (10) is configured to operate as an SCP between the first NF node (20) and a second NF node (30) of a service producer in the network, the method comprising: following a first request (606) for the second NF node (30) to provide a service (40) requested by the first NF node (20), initiating (202) transmission of a subsequent second request (706) towards the first SCP node (10), wherein the second request (706) is for the second NF node (30) to provide the service (40) requested by the first NF node (20), wherein the second request (706) comprises a first identifier that identifies the second NF node (30), wherein the first identifier allows the first SCP node (10) to identify a profile of the second NF node (30) and a set of NF nodes of the service producer that comprises the second NF node (30).
2. A method as claimed in claim 1 , wherein: the first identifier is from a response (700) to the first request (606).
3. A method as claimed in claim 2, the method comprising: controlling (702) a memory (24, 700) to store the first identifier from the response (700) to the first request (606).
4. A method as claimed in claim 3, the method comprising: controlling the memory (24, 700) to store the first identifier only if binding information is not present in the response (700) to the first request (606) and/or only if the first NF node (20) does not support binding.
5. A method as claimed in claim 3 or 4, wherein: the memory (24, 700) is controlled (702) to store the first identifier from the response (700) to the first request (606) in response to receiving the response (700) to the first request (606).
6. A method as claimed in claim 3, 4 or 5, the method comprising: retrieving (704) the first identifier from the memory (24, 700).
7. A method as claimed in any of claims 2 to 6, wherein: the response (700) to the first request (606) is received from the first SCP node
(10).
8. A method as claimed in any of claims 2 to 7, wherein: the second request (706) comprises the first identifier only if binding information is not present in the response (700) to the first request (606).
9. A method as claimed in any of the preceding claims, wherein: the second request (706) comprises the first identifier only if the first NF node (20) does not support binding.
10. A method as claimed in any of the preceding claims, the method comprising: incorporating the first identifier into the second request (706).
11. A method as claimed in any of the preceding claims, wherein: a header comprises the first identifier.
12. A method as claimed in claim 11 , wherein: the header is a 3gpp-Sbi-Producer-ld header.
13. A method as claimed in any of the preceding claims, wherein: the first SCP node (10) and the first NF node (20) are deployed in independent deployment units; and/or the first SCP node (10) and the second NF node (30) are deployed in independent deployment units.
14. A method as claimed in any of claims 1 to 12, wherein: the first SCP node (10) is deployed as a distributed network element.
15. A method as claimed in claim 14, wherein: part of the first SCP node (10) is deployed in the same deployment unit as the first NF node (20); and/or part of the first SCP node (10) is deployed in the same deployment unit as the second NF node (30).
16. A method as claimed in any of the preceding claims, wherein: at least one second SCP node is configured to operate as an SCP between the first NF node (20) and the first SCP node (10); and/or at least one third SCP node is configured to operate as an SCP between the first SCP node (10) and the second NF node (30).
17. A method as claimed in claim 16, wherein: the first SCP node (10) and one or both of the at least one second SCP node and the at least one third SCP node are deployed in independent deployment units.
18. A method as claimed in claim 16, wherein: the at least one second SCP node and/or the at least one third SCP node are deployed as distributed network elements.
19. A method as claimed in any of the preceding claims, wherein: an entity comprises the first SCP node (10) and a network repository function, NRF, node (60).
20. A first NF node (20) comprising: processing circuitry (22) configured to operate in accordance with any of claims 1 to 19.
21 . A first NF node (20) as claimed in claim 20, wherein: the first NF node (20) comprises: at least one memory (24) for storing instructions which, when executed by the processing circuitry (22), cause the first NF node (20) to operate in accordance with any of claims 1 to 19.
22. A method for handling a service request in a network, wherein the method is performed by a first service communication proxy, SCP, node (10) that is configured to operate as an SCP between a first network function, NF, node (20) of a service consumer and a second NF node (30) of a service producer in the network, the method comprising: if, following a first request (606) for the second NF node (30) to provide a service (40) requested by the first NF node (20), a subsequent second request (706) received at the first SCP node (10) cannot be fulfilled, wherein the second request (706) is for the second NF node (30) to provide the service (40) requested by the first NF node (20) and wherein the second request (706) comprises a first identifier that identifies the second NF node (30) and that allows the first SCP node (10) to identify a profile of the second NF node (30): identifying (102, 708), using the first identifier, a set (402) of NF nodes of the service producer that comprises the second NF node (30), wherein the set (402) of NF nodes further comprises a third NF node (70) of the service producer; and initiating (104) transmission of: the second request (712) towards the third NF node (70) for the third NF node (70) to provide the service (80); and/or a second identifier towards the first NF node (20), wherein the second identifier identifies the third NF node (70).
23. A method as claimed in claim 22, wherein: transmission of the second identifier towards the first NF node (20) is initiated irrespective of whether binding information is present in a response (714) to the subsequent second request (706) received from the third NF node (70).
24. A method as claimed in claim 22 or 23, wherein: the second request cannot be fulfilled if: the second request (640) transmitted towards the second NF node (30) is unsuccessful; no response (642) is received from the second NF node (30) to the second request (640) transmitted towards the second NF node (30); or transmission of the second request (640) towards the second NF node (30) is prevented.
25. A method as claimed in any of claims 22 to 24, wherein: identifying (102, 708) the set (402) of NF nodes using the first identifier comprises: identifying the set (402) of NF nodes from the profile of the second NF node (30), wherein the profile of the second NF node (30) is identified using the first identifier.
26. A method as claimed in claim 25, wherein: the profile of the second NF node (30) is stored at the first SCP node (10) and/or a network repository function, NRF, node (60).
27. A method as claimed in any of claims 22 to 26, wherein: identifying (102, 708) the set (402) of NF nodes comprises: acquiring a third identifier that identifies the set (402) of NF nodes.
28. A method as claimed in claim 27, the method comprising: identifying, using the third identifier, one or more NF nodes of the set (402) of NF nodes, wherein the one or more identified NF nodes comprise the third NF node (70).
29. A method as claimed in claim 28, wherein: identifying the third NF node (70) of the set (402) of NF nodes using the third identifier comprises: identifying the third NF node (70) from a profile of the third NF node (70), wherein the profile of the third NF node (70) comprises the third identifier.
30. A method as claimed in claim 29, wherein: the profile of the third NF node (70) is stored at the first SCP node (10) and/or a network repository function, NRF, node (60).
31 . A method as claimed in any of claims 28 to 30, the method comprising: selecting (710) the third NF node (70) from the one or more identified NF nodes.
32. A method as claimed in any of claims 22 to 31 , the method comprising: in response to the first request (606): initiating transmission of a response (700) to the first request (606) towards the first NF node (20), wherein the response (700) to the first request (606) comprises the first identifier.
33. A method as claimed in claim 32, wherein: the response (700) to the first request (606) comprises the first identifier irrespective of whether binding information is present in a response (622) to the first request (606) received from the second NF node (30).
34. A method as claimed in claim 32 or 33, wherein: the second request (706) comprises the first identifier only if binding information is not present in the response (700) to the first request (606).
35. A method as claimed in any of claims 22 to 34, wherein: the second request (706) comprises the first identifier only if the first NF node (20) does not support binding.
36. A method as claimed in any of claims 22 to 35, wherein: a header comprises the first identifier.
37. A method as claimed in claim 36, wherein: the header is a 3gpp-Sbi-Producer-ld header.
38. A method as claimed in any of claims 22 to 37, wherein: the first SCP node (10) and the first NF node (20) are deployed in independent deployment units; the first SCP node (10) and the second NF node (30) are deployed in independent deployment units; and/or the first SCP node (10) and the third NF node (70) are deployed in independent deployment units.
39. A method as claimed in any of claims 22 to 37, wherein: the first SCP node (10) is deployed as a distributed network element.
40. A method as claimed in claim 39, wherein: part of the first SCP node (10) is deployed in the same deployment unit as the first NF node (20); part of the first SCP node (10) is deployed in the same deployment unit as the second NF node (30); and/or part of the first SCP node (10) is deployed in the same deployment unit as the third NF node (70).
41 . A method as claimed in any of claims 22 to 40, wherein: at least one second SCP node is configured to operate as an SCP between the first NF node (20) and the first SCP node (10); at least one third SCP node is configured to operate as an SCP between the first SCP node (10) and the second NF node (30); and/or at least one fourth SCP node is configured to operate as an SCP between the first SCP node (10) and the third NF node (70).
42. A method as claimed in claim 41 , wherein: the first SCP node (10) and one or more of the at least one second SCP node, the at least one third SCP node, and the at least one fourth SCP node are deployed in independent deployment units.
43. A method as claimed in claim 41 , wherein: the at least one second SCP node, the at least one third SCP node, and/or the at least one fourth SCP node are deployed as distributed network elements.
44. A method as claimed in any of claims 22 to 43, wherein: an entity comprises the first SCP node (10) and a network repository function, NRF, node (60).
45. A first SCP node (10) comprising: processing circuitry (12) configured to operate in accordance with any of claims 22 to 44.
46. A first SCP node (10) as claimed in claim 45, wherein: the first SCP node (10) comprises: at least one memory (14) for storing instructions which, when executed by the processing circuitry (12), cause the first SCP node (10) to operate in accordance with any of claims 22 to 44.
47. A method performed by a system, the method comprising: the method as claimed in any of claims 1 to 19; and/or the method as claimed in any of claims 22 to 44.
48. A system comprising: at least one first NF node (20) as claimed in 20 or 21 ; and/or at least one first SCP node (10) as claimed in claim 45 or 46.
49. A computer program comprising instructions which, when executed by processing circuitry, cause the processing circuitry to perform the method according to any of claims 1 to 19 and/or any of claims 22 to 44.
50. 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 claims 1 to 19 and/or any of claims 22 to 44.
PCT/EP2020/080061 2020-07-31 2020-10-26 Service request handling WO2022022842A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP20382713 2020-07-31
EP20382713.4 2020-07-31

Publications (1)

Publication Number Publication Date
WO2022022842A1 true WO2022022842A1 (en) 2022-02-03

Family

ID=72046831

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2020/080061 WO2022022842A1 (en) 2020-07-31 2020-10-26 Service request handling

Country Status (1)

Country Link
WO (1) WO2022022842A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4366278A1 (en) * 2022-11-03 2024-05-08 Nokia Solutions and Networks Oy Handling of requests in unsuccessful indirect communication

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ERICSSON: "NF Set and NF Service Set - Discovery and Selection aspects relevant with indirect communication", vol. SA WG2, no. Xi'an, China; 20190408 - 20190412, 2 April 2019 (2019-04-02), XP051719344, Retrieved from the Internet <URL:http://www.3gpp.org/ftp/tsg%5Fsa/WG2%5FArch/TSGS2%5F132%5FXiAn/Docs/S2%2D1903177%2Ezip> [retrieved on 20190402] *
NOKIA ET AL: "29500_CR0121r3_(Rel-16)_C4-203498_29500_Rel16_Clarifications for scenarios with more than one SCP.docx", vol. CT WG4, no. E-Meeting; 20200602 - 20200612, 18 June 2020 (2020-06-18), XP051899557, Retrieved from the Internet <URL:https://ftp.3gpp.org/3guInternal/3GPP_Ultimate_CRPacks/CP-201030.zip> [retrieved on 20200618] *
NTT DOCOMO: "Resolving Editor's Note on NF Service Set", vol. SA WG2, no. Xi'an, China; 20190408 - 20190412, 2 April 2019 (2019-04-02), XP051719197, Retrieved from the Internet <URL:http://www.3gpp.org/ftp/tsg%5Fsa/WG2%5FArch/TSGS2%5F132%5FXiAn/Docs/S2%2D1902960%2Ezip> [retrieved on 20190402] *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4366278A1 (en) * 2022-11-03 2024-05-08 Nokia Solutions and Networks Oy Handling of requests in unsuccessful indirect communication
GB2624155A (en) * 2022-11-03 2024-05-15 Nokia Solutions & Networks Oy Handling of requests in unsuccessful indirect communication

Similar Documents

Publication Publication Date Title
US20230283470A1 (en) Service Request Handling
US20230300215A1 (en) Proxy-Mediated Service Request Handling between Network Functions
US20230275974A1 (en) Network functionality (nf) aware service provision based on service communication proxy (scp)
WO2022022842A1 (en) Service request handling
US11924294B2 (en) Service request handling
US20230188625A1 (en) Service request handling
US20240015232A1 (en) Bound service request handling
WO2021233646A1 (en) Service request handling
EP4154501B1 (en) Service request handling
US11979824B2 (en) Service request handling
EP4285575A1 (en) Service request and response handling
US20240064212A1 (en) Discovery Request and Response Handling
WO2023052596A1 (en) Handling an updated network function profile
WO2023161214A1 (en) Service request handling
WO2020200488A1 (en) Service operation execution
CN112584446A (en) User plane function selection method and device and storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20793013

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20793013

Country of ref document: EP

Kind code of ref document: A1