US20230229539A1 - Methods, systems, and computer readable media for health checking involving common application programming interface framework - Google Patents

Methods, systems, and computer readable media for health checking involving common application programming interface framework Download PDF

Info

Publication number
US20230229539A1
US20230229539A1 US17/579,077 US202217579077A US2023229539A1 US 20230229539 A1 US20230229539 A1 US 20230229539A1 US 202217579077 A US202217579077 A US 202217579077A US 2023229539 A1 US2023229539 A1 US 2023229539A1
Authority
US
United States
Prior art keywords
health
capif
endpoint
api
node
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
US17/579,077
Other versions
US11709725B1 (en
Inventor
Rajiv Krishan
Kiranmayi Boyapati
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
Oracle International Corp
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 Oracle International Corp filed Critical Oracle International Corp
Priority to US17/579,077 priority Critical patent/US11709725B1/en
Assigned to ORACLE INTERNATIONAL CORPORATION reassignment ORACLE INTERNATIONAL CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BOYAPATI, KIRANMAYI, KRISHAN, RAJIV
Publication of US20230229539A1 publication Critical patent/US20230229539A1/en
Application granted granted Critical
Publication of US11709725B1 publication Critical patent/US11709725B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/835Timestamp

Definitions

  • the subject matter described herein relates to improving communications in fifth generation (5G) and subsequent generation communications networks. More particularly, the subject matter described herein relates to methods, systems, and computer readable media for health checking involving common application programming interface (API) framework (CAPIF).
  • API application programming interface
  • a service endpoint is an address on a network node that uniquely identifies an entity that provides service to consumers.
  • the service endpoint can include an Internet protocol (IP) address or a combination of IP address and transport layer port number, which is also referred to as an IP endpoint.
  • IP Internet protocol
  • NF producer network function
  • consumer NF A network node that consumes services.
  • An NF can be both a producer NF and a consumer NF depending on whether it is consuming or providing service.
  • a given producer NF may have many service endpoints.
  • Producer NFs register with an NF repository function (NRF).
  • the NRF maintains NF profiles (e.g., data types or data structures for storing information about NF instances) of available NF instances and their supported services.
  • Consumer NFs can subscribe to receive information about producer NF instances that have registered with the NRF.
  • NF instances in the 5G network may establish sessions with one or more network exposure functions (NEFs).
  • the NEF is a 3GPP network function that provides a means to securely expose the services and capabilities provided by producer network functions servicing the network.
  • One example method for health checking using CAPIF comprises: at a CAPIF node including at least one processor: receiving, from a sender, a CAPIF request message including health check information usable in checking the health of an endpoint associated with the sender, wherein the health check information includes a uniform resource identifier (URI) associated with the endpoint and an acceptable response value for indicating that the endpoint is active; and determining, periodically or aperiodically, a health status of the endpoint by performing a health check procedure using the URI and the acceptable response value.
  • URI uniform resource identifier
  • One example system for health checking using CAPIF includes at least one processor, a memory, and a CAPIF node including the at least one processor and the memory.
  • the CAPIF node is configured for: receiving, from a sender, a CAPIF request message including health check information usable in checking the health of an endpoint associated with the sender, wherein the health check information includes a uniform resource identifier (URI) associated with the endpoint and an acceptable response value for indicating that the endpoint is active; and determining, periodically or aperiodically, a health status of the endpoint by performing a health check procedure using the URI and the acceptable response value.
  • URI uniform resource identifier
  • One example non-transitory computer readable medium comprising computer executable instructions embodied in the non-transitory computer readable medium that when executed by at least one processor of at least one computer cause the at least one computer to perform steps comprising: at a CAPIF node including at least one processor: receiving, from a sender, a CAPIF request message including health check information usable in checking the health of an endpoint associated with the sender, wherein the health check information includes a URI associated with the endpoint and an acceptable response value for indicating that the endpoint is active; and determining, periodically or aperiodically, a health status of the endpoint by performing a health check procedure using the URI and the acceptable response value.
  • the subject matter described herein may be implemented in hardware, software, firmware, or any combination thereof.
  • the terms “function” “node” or “module” as used herein refer to hardware, which may also include software and/or firmware components, for implementing the feature being described.
  • the subject matter described herein may be implemented using a computer readable medium having stored thereon computer executable instructions that when executed by the processor of a computer control the computer to perform steps.
  • Example computer readable media suitable for implementing the subject matter described herein include non-transitory computer-readable media, such as disk memory devices, chip memory devices, programmable logic devices, and application specific integrated circuits.
  • a computer readable medium that implements the subject matter described herein may be located on a single device or computing platform or may be distributed across multiple devices or computing platforms.
  • FIG. 1 is a network diagram illustrating an example fifth generation (5G) network architecture
  • FIG. 2 is a block diagram illustrating an example common application programming interface (API) framework (CAPIF) node for health checking and/or resource cleanup;
  • API application programming interface
  • CAPIF common application programming interface framework
  • FIG. 3 depicts example health related information associated with service providers or related endpoints
  • FIG. 4 depicts example health related information associated with API invokers or related endpoints
  • FIG. 5 is a message flow diagram illustrating various health checking operations associated with one or more service provider(s);
  • FIG. 6 is a message flow diagram illustrating various health checking operations associated with one or more API invoker(s);
  • FIG. 7 is a message flow diagram illustrating an example API discovery procedure involving a CAPIF node.
  • FIG. 8 is a flow chart illustrating an example process for health checking using CAPIF.
  • the subject matter described herein relates to methods, systems, and computer readable media for health checking involving common application programming interface (API) framework (CAPIF).
  • API application programming interface
  • CAPIF common application programming interface framework
  • 3GPP defines a common application programming interface (API) framework (CAPIF) for 3GPP northbound APIs in 3GPP technical specification (TS) 23.222.
  • API application programming interface
  • TS 23.222 the functional model for the CAPIF is arranged into functional entities, including an API invoker, a CAPIF core function (CCF), and an API exposing function (AEF), to describe a functional architecture for enabling access and invocation of service APIs.
  • the API invoker represents an entity that uses or invokes a service or a related service API.
  • an API invoker may be an AF or other entity, such as an application requiring service from a service provider.
  • the API invoker can discover service APIs from the CCF, request authorization for API invocations, and use the services provided by the AEF.
  • the CCF represents a repository for service APIs, including PLMN and third party service APIs.
  • the CCF can allow API invokers and an API exposing function (AEF) to discover service APIs, authenticate and authorize API invokers for usage of the service APIs, and perform logging and charging associated with related service API invocations.
  • the AEF represents the provider of the services as APIs.
  • the AEF can validate the authorization of an API invoker to use a service, provide the service to the API invoker, log related invocations on the CCF, and request charging for the service.
  • Service providers e.g., API publishers
  • API invokers can onboard (e.g., register) with the CCF and discover various service APIs. API invokers can also subscribe with the CCF for changes in availability of specific APIs.
  • 3GPP TS 23.222 defines various operations associated with CAPIF
  • issues can arise when registered or onboarded API invokers are no longer available and/or when published service API endpoints are no longer available. For example, if a published service API endpoint or interface is down or unavailable, there may be little to no benefit for an API invoker to learn or discover the unavailable service API endpoint. In another example, if an endpoint associated with an onboarded API invoker or a published service API is down or unavailable, there may be little to no benefit for a CAPIF node to keep the unavailable endpoint registered indefinitely.
  • a CAPIF node e.g., a device implementing a CCF and/or an AEF
  • a CAPIF node in accordance with various aspects described herein may be configured for: receiving, from a sender (e.g., a service provider or an API invoker), a CAPIF request message including health check information usable in checking the health of an endpoint associated with the sender, wherein the health check information includes a uniform resource identifier (URI) associated with the endpoint and an acceptable response value for indicating that the endpoint is active; and determining, periodically or aperiodically, a health status of the endpoint by performing a health check procedure using the URI and the acceptable response value.
  • URI uniform resource identifier
  • a CAPIF node in accordance with various aspects described herein may be configured for performing a resource cleanup procedure or operation, e.g., periodically (e.g., every 300 seconds) or aperiodically (e.g., when available CAPIF related memory is below a threshold value, like 10% left).
  • the resource cleanup procedure or operation may delete and/or compress stale data records, e.g., data entries associated endpoints that have been marked or deemed “inactive” (e.g., unavailable) for a predetermined or configurable amount of time (e.g., 500 seconds).
  • stale data records e.g., data entries associated endpoints that have been marked or deemed “inactive” (e.g., unavailable) for a predetermined or configurable amount of time (e.g., 500 seconds).
  • FIG. 1 is a block diagram illustrating an example 5G system network architecture, e.g., a home 5G core (5GC) network.
  • the architecture in FIG. 1 includes a network function (NF) repository function (NRF) 100 and a service communications proxy (SCP) 101 , which may be located in the same home public land mobile network (PLMN).
  • NRF 100 may maintain profiles of available producer NF service instances and their supported services and allow consumer NFs or SCPs to subscribe to and be notified of the registration of new/updated producer NF service instances.
  • SCP 101 may also support service discovery and selection of producer NF instances.
  • SCP 101 may perform load balancing of connections between consumer and producer NFs.
  • SCP 101 may perform preferred NF location based selection and routing.
  • NRF 100 is a repository for NF or service profiles of producer NF instances.
  • a consumer NF or an SCP In order to communicate with a producer NF instance, a consumer NF or an SCP must obtain the NF or service profile or the producer NF instance from NRF 100 .
  • the NF or service profile is a JavaScript object notation (JSON) data structure defined in 3GPP TS 29.510.
  • JSON JavaScript object notation
  • the NF or service profile definition includes at least one of a fully qualified domain name (FQDN) , an IP version 4 (IPv4) address, or an IP version 6 (IPv6) address.
  • FQDN fully qualified domain name
  • IPv4 IP version 4
  • IPv6 IP version 6
  • the nodes include a policy control function (PCF) 102 that performs policy related operations in a network, a user data management (UDM) function 104 that manages user data, and an application function (AF) 106 that provides application services.
  • PCF policy control function
  • UDM user data management
  • AF application function
  • the nodes illustrated in FIG. 1 further include a session management function (SMF) 108 that manages sessions between access and mobility management function (AMF) 110 and PCF 102 .
  • AMF 110 performs mobility management operations similar to those performed by a mobility management entity (MME) in 4G networks.
  • An authentication server function (AUSF) 112 performs authentication services for user devices, such as user equipment (UE) 114 , seeking access to the network.
  • MME mobility management entity
  • AUSF authentication server function
  • a network slice selection function (NSSF) 116 provides network slicing services for devices seeking to access specific network capabilities and characteristics associated with a network slice.
  • a network exposure function (NEF) 118 provides application programming interfaces (APIs) for application functions seeking to obtain information about Internet of things (IoT) devices and other UEs attached to the network. NEF 118 performs similar functions to the service capability exposure function (SCEF) in 4G networks.
  • SCEF service capability exposure function
  • a radio access network (RAN) 120 connects UE 114 to the network via a wireless link.
  • Radio access network 120 may be accessed using a g-Node B (gNB) (not shown in FIG. 1 ) or other wireless access point.
  • gNB g-Node B
  • a user plane function (UPF) 122 can support various proxy functionality for user plane services.
  • proxy functionality is multipath transmission control protocol (MPTCP) proxy functionality.
  • MPTCP multipath transmission control protocol
  • UPF 122 may also support performance measurement functionality, which may be used by UE 114 to obtain network performance measurements.
  • DN data network
  • DN data network
  • SEPP 126 Security edge protection proxy (SEPP) 126 filters incoming traffic from another PLMN and performs topology hiding for traffic exiting the home PLMN.
  • SEPP 126 may communicate with a SEPP in a foreign PLMN which manages security for the foreign PLMN.
  • traffic between NFs in different PLMNs may traverse two SEPP functions, one for the home PLMN and the other for the foreign PLMN.
  • SEPP 126 may utilize an N32-c interface and an N32-f interface.
  • An N32-c interface is a control plane interface between two SEPPs usable for performing an initial handshake (e.g., a TLS handshake) and negotiating various parameters for an N32-f interface connection and related message forwarding.
  • An N32-f interface is a forwarding interface between two SEPPs 126 usable for forwarding various communications (e.g., 5GC requests) between a consumer NF and a producer NF after applying application level security protection.
  • FIG. 1 is for illustrative purposes and that various nodes and/or modules, locations, and/or functionality described above in relation to FIG. 1 may be changed, altered, added, or removed.
  • FIG. 2 is a diagram illustrating an example CAPIF node 200 for health checking and/or resource cleanup.
  • CAPIF node 200 may represent any suitable entity or entities (e.g., one or more node(s), device(s), or computing platform(s)) for performing various aspects or functionalities described herein, e.g., performing health checking or health related cleanup involving with one or more endpoints, e.g., associated with API invoker(s) 210 or service provider(s) 208 .
  • CAPIF node 200 may include one or more 3GPP defined functions (e.g., a CCF or an AEF) and/or related functionality.
  • CAPIF node 200 may include an authorization server, a data repository, a network gateway, a network proxy, an edge security device, and/or other functionality.
  • CAPIF node 200 may include a CCF or related functionality.
  • CAPIF node 200 may include or access a repository of PLMN and third party service APIs.
  • API invoker(s) 210 e.g., NFs like AFs 106 or applications thereof
  • AEFs may use discovery procedures to identify relevant APIs in the repository.
  • CAPIF node 200 may also authenticate and/or authorize API invoker(s) 210 to use one or more of the service APIs and may also log and charge for API invoker(s) 210 .
  • CAPIF node 200 may include an AEF or related functionality.
  • CAPIF node 200 may be the provider of various services as APIs.
  • CAPIF node 200 may validate the authorization of API invoker(s) 210 , provide a service to API invoker(s) 210 , and log the invocations on the CCF and request charging for the service usage.
  • CAPIF node 200 or an AEF thereof may wrap around various 3GPP functions to enable APIs to be exposed.
  • NEF APIs can be exposed to the AEF with API invoker(s) 210 on top, which has access to the CCF for on-boarding and discovery and the availability of services provided by the AEF.
  • CAPIF node 200 or a related entity may provide the capability to register or publish service APIs, e.g., usable by API invoker(s) 210 via an AEF.
  • service provider(s) 208 e.g., NEF 116
  • may use an API e.g., an CAPIF_Publish_Service_API API
  • the payload of the HTTP POST message may include an API identifier (e.g., an API publishing function (APF) identifier (Apfld)) and other information, e.g., as defined in section 8.1 of 3GPP TS 29.222.
  • CAPIF node 200 or a related entity may provide the capability to onboard or add new API invoker(s) 210 , to support granting API invoker(s) 210 ′s request(s) to onboard with an administrator, to support offboarding API invoker(s) 210 , and/or to update an API invoker(s) 210 's API list, e.g., after the discovery of new API(s).
  • AF 106 may send an HTTP POST message (e.g., using an CAPIF_API_Invoker_Management_API API) to CAPIF node 200 or a CCF therein.
  • the payload of the HTTP POST message may include an API invoker enrolment details object, an API list, and a notification destination URI.
  • API invoker enrolment details object may include an API invoker enrolment details object, an API list, and a notification destination URI.
  • notification destination URI Various examples of onboarding information or related information is defined in section 8.4 of 3GPP TS 29.222.
  • CAPIF node 200 or a related entity may provide or support an API (e.g., an CAPIF_Discover_Service_API API) to allow one or more API invoker(s) 210 (e.g., after onboarding) to discover various service APIs supported or registered by one or more service provider(s) 208 (e.g., as defined in section 8.1 of 3GPP TS 29.222).
  • an API e.g., an CAPIF_Discover_Service_API API
  • API invoker(s) 210 may subscribe (e.g., an CAPIF_Events_API API) with CAPIF node 200 or a related entity to receive information regarding changes in availability of all or specific service APIs (e.g., by using API identifiers (e.g., Apflds) provided by service provider(s) 208 during a publishing procedure).
  • API identifiers e.g., Apflds
  • subscription message information or notification message information is defined in section 8.3 of 3GPP TS 29.222.
  • CAPIF node 200 may include one or more communications interface(s) 202 for communicating messages via a communications environment, e.g., one or more 5G networks.
  • communications interface(s) 202 may include one or more communications interfaces for communicating with various entities in a home network (e.g., home public land mobile network (H-PLMN)) or a visited network (e.g., a visited public land mobile network (V-PLMN)).
  • H-PLMN home public land mobile network
  • V-PLMN visited public land mobile network
  • CAPIF node 200 may include a resource manager (RM) 204 .
  • RM 204 may be any suitable entity (e.g., software executing on at least one processor) for performing various operations associated health checking and/or resource cleanup.
  • RM 204 may be configured for receiving, from a sender, a CAPIF request message including health check information usable in checking the health of an endpoint associated with the sender (e.g., a uniform resource identifier (URI) identifying the endpoint and an acceptable response value for indicating that the endpoint is active) and determining, periodically or aperiodically, a health status of the endpoint, e.g., determining a health status may involve performing a health check procedure using the URI and the acceptable response value.
  • URI uniform resource identifier
  • RM 204 or another entity may determine that endpoint health checking is to be performed based on information provided during an API invoker onboarding process or during a service API registration process.
  • service provider(s) 208 may include health check information (e.g., a health check URI and an acceptable response value) usable in checking the health of an endpoint associated with the sender) in a POST message or a registration related message.
  • API invoker(s) 210 may include health check information in a POST message or a registration related message.
  • health check information may be provided to RM 204 or another entity in one or more data elements or information elements (IEs).
  • IEs information elements
  • health check information may be stored in a vendor-specific data structure (as defined in section 6.6.3 of TS 29.500) or a related element.
  • vendor-specific data indicating health check information is shown below:
  • health check information may include a version attribute, a message operation type (e.g., an hypertext transfer protocol (HTTP) operation type, like GET or PUT), an URI (e.g., an uniform resource locator (URL) indicating an FQDN or IP address, a port number, and/or a path, like http://health.test.com/check or http://health.test.com:678/check), and an acceptable response indicating health or availability (e.g., an HTTP response status code).
  • HTTP hypertext transfer protocol
  • URI e.g., an uniform resource locator (URL) indicating an FQDN or IP address, a port number, and/or a path, like http://health.test.com/check or http://health.test.com:678/check
  • an acceptable response indicating health or availability e.g., an HTTP response status code
  • health check related overhead may be effectively managed to minimize network issues or user experience issues for service provider(s) 208 or API invoker(s) 210 .
  • service provider(s) 208 or an API invoker can specify an URI to use when performing health checks (e.g., an URI not providing or receiving a particular service).
  • service provider(s) 208 or API invoker(s) 210 can choose to specify a non-signaling interface to handle health check messages from CAPIF node 200 , while other interfaces (e.g., a notification destination URI) handle other types of requests and/or messages.
  • CAPIF node 200 , RM 204 , or another entity may store received health check information and may use this information to perform one or more health checks, e.g., periodically (e.g., every 10 minutes) or aperiodically (e.g., when the network is congested/failed, or in response to detecting one or more multiple request failure reports associated with an API invoker or service provider, or when available storage at CAPIF node 200 is low) based on network operator settings or other factors.
  • RM 204 or another entity may be configured to use health check information for a particular endpoint (e.g., provided by API invoker(s) 210 or service provider(s) 208 ) to validate the health of the endpoint by sending a health check message (e.g., an HTTP GET message that matches a corresponding HTTP operation type indicated by the health check information) to a URI (e.g., an HTTP URL that matches a corresponding HTTP operation type indicated by the health check information).
  • a health check message e.g., an HTTP GET message that matches a corresponding HTTP operation type indicated by the health check information
  • URI e.g., an HTTP URL that matches a corresponding HTTP operation type indicated by the health check information
  • RM 204 or another entity may wait a predetermined amount of time for a response message and, if a response message is received, RM 204 or another entity may determine whether the response message includes an acceptable response (e.g., a response code that matches a corresponding acceptable response indicated by the health check information).
  • CAPIF node 200 , RM 204 , or another entity may perform health checks only for endpoints that provide health check information.
  • service provider(s) 208 e.g., an API publisher
  • service provider(s) 208 can control whether CAPIF based health-checks are performed for each of their API endpoints.
  • API invoker(s) 210 may register one or more endpoints and may choose to provide health check information for all their endpoints, some of their endpoints, or none of their endpoints. In this example, API invoker(s) 210 can control whether CAPIF based health-checks are performed for each of their endpoints.
  • CAPIF node 200 may not perform health checks for that endpoint and may consider that endpoint to always be “active” (e.g., up and available).
  • CAPIF node 200 , RM 204 , or another entity may store or indicate an “active” health status (e.g., in a data store or data storage 206 ) based on successful health checks performed using health check information. For example, CAPIF node 200 , RM 204 , or another entity may determine that an endpoint is “active” (e.g., healthy or available) when a response message is received during a health check process and the response message includes an acceptable response (e.g., when a received response code is the same as a response code indicated by corresponding health check information). In some embodiments, e.g., for every successful health check, a timestamp may be recorded along with the “active” health status.
  • an endpoint e.g., healthy or available
  • an acceptable response e.g., when a received response code is the same as a response code indicated by corresponding health check information.
  • a timestamp may be recorded along with the “active” health status.
  • CAPIF node 200 , RM 204 , or another entity may store or indicate an “inactive” health status (e.g., in a data store or data storage 206 ) based on unsuccessful health checks performed using health check information. For example, CAPIF node 200 , RM 204 , or another entity may determine that an endpoint is “inactive” (e.g., unhealthy or unavailable) when a response message is not received during a health check process or when a response message does not include an acceptable response value (e.g., when a received response code is not the same as a response code indicated by corresponding health check information).
  • an endpoint e.g., unhealthy or unavailable
  • a timestamp associated with the health status determination may be recorded along with the “inactive” health status.
  • an updated timestamp may not be recorded for a subsequent health checks if the health status remains “inactive”.
  • an updated timestamp associated with the “active” health status determination may be recorded.
  • CAPIF node 200 , RM 204 , or another entity may use health statuses or related information about endpoints when processing various requests and/or performing various actions. For example, in response to an API discovery request from API invoker(s) 210 , CAPIF node 200 , RM 204 , or another entity may be configured to expose or provide “active” API endpoints (e.g., associated with a service API), but not to expose or provide “inactive” API endpoints based on stored health statuses (e.g., in data storage 206 ).
  • active API endpoints e.g., associated with a service API
  • CAPIF node 200 may identify a group of potential APIs that match the request (e.g., based on request parameters such as an NF set, a locality, or an NF type), may then remove one or more APIs from the group of potential APIs if their corresponding health statuses indicate inactivity (e.g., unavailability), and may provide the remaining APIs (e.g., the “active” APIs) in an API discovery response message.
  • request parameters such as an NF set, a locality, or an NF type
  • CAPIF node 200 , RM 204 , or another entity may use health statuses or related information when providing notifications (e.g., about changing of availability of API endpoints) to subscribed API invoker(s) 210 .
  • CAPIF node 200 , RM 204 , or another entity may be configured to notify subscribed API invoker(s) 210 about an API endpoint being available/unavailable (e.g., at or during runtime) based on health statuses or related information determined from performing health checks.
  • CAPIF node 200 , RM 204 , or another entity may use health statuses or related information when performing resource cleanup.
  • CAPIF node 200 , RM 204 , or another entity may be configured to run or perform a resource cleanup procedure or operation, e.g., periodically (e.g., every 300 seconds) or aperiodically (e.g., when available CAPIF related memory is below a threshold value).
  • the resource cleanup procedure or operation may delete and/or compress stale data records, e.g., data entries associated endpoints that have been marked or deemed “inactive” for a predetermined or configurable amount of time (e.g., 500 seconds).
  • CAPIF node 200 , RM 204 , or another entity may utilize operator configurable settings, predetermined settings, and/or dynamic settings for performing health checks, resource cleanups, or other actions. For example, an operator may increase the amount of time that an endpoint must remain “inactive” to be considered “stale” and deletable for a resource cleanup procedure or operation. In this example, by increasing that amount of time, CAPIF node 200 , RM 204 , or another entity may delete less data records, thereby mitigating additional signaling messages or network congestion that could result from endpoints being removed prematurely and having to be onboarded or published again.
  • CAPIF node 200 and/or RM 204 may access (e.g., read from and/or write information to) data storage 206 .
  • Data storage 206 may be any suitable entity (e.g., a computer readable medium or memory) for storing various data.
  • data storage 206 may include a context data store for storing session information and/or other data, an API data store for storing API and/or endpoint information associated with service provider(s) 208 and health related information (e.g., health statuses derived from health checks and health check information provided by service provider(s) 208 ), an onboarding data store for storing endpoint information associated with API invoker(s) 210 and health related information (e.g., health statuses derived from health checks and health check information provided by API invoker(s) 210 ), various data stores comprising API information and/or authentication related information, and/or other information.
  • a context data store for storing session information and/or other data
  • an API data store for storing API and/or endpoint information associated with service provider(s) 208 and health related information (e.g., health statuses derived from health checks and health check information provided by service provider(s) 208 )
  • health related information e.g., health statuses derived from health checks and health check
  • data storage 206 may include logic for performing various aspects associated with CAPIF node functions, CCF function, and/or AEF functions. In some embodiments, data storage 206 may include logic for performing health checks for one or more endpoints. In some embodiments, data storage 206 may include logic for performing a resource cleanup procedure or operation, e.g., deleting or clearing records associated with stale and/or “inactive” endpoints.
  • FIG. 2 and its related description are for illustrative purposes and that CAPIF node 200 may include additional and/or different modules, components, or functionality.
  • FIG. 3 depicts example health related information 300 associated with service provider(s) 208 or related endpoints.
  • Information 300 may include health check information (e.g., an health check message operation type, a URI for sending a health check message to, and an acceptable response value indicating that an endpoint is “active” (e.g., healthy or available)) usable for performing health checks associated with API endpoints associated with service provider(s) 208 .
  • Information 300 may include health statuses determined or derived from one or more health check procedures and timestamps indicating when the health check procedure was performed or completed.
  • information 300 may be usable for determining when health checks should be initiated or triggered.
  • CAPIF node 200 or RM 204 therein may use respective timestamps and/or timers to periodically perform health checks for various endpoints.
  • appropriate health check information e.g., an health check message operation type, a URI for sending a health check message to, and an acceptable response value
  • CAPIF node 200 or RM 204 therein may not perform health checks on those endpoints.
  • information 300 may be usable in performing resource cleanup.
  • CAPIF node 200 or RM 204 therein may use health statuses and timestamps to identify and delete stale records, e.g., records associated with endpoints that have been inactive for a configurable amount of time or longer (e.g., 5 minutes or longer).
  • information 300 is depicted in a tabular format comprising columns and/or fields for a service API ID, a health check URI, a message type, an acceptable response value, a health status, and a timestamp.
  • Each row may represent an endpoint associated with service provider(s) 208 (e.g., an API publisher) and corresponding health related information (e.g., health statuses, health check related timestamps, and health check information for performing health checks).
  • a “service API ID” field may store information for indicating or identifying a particular service provider 208 or a related endpoint associated with a service API.
  • Example data in the “service API ID” field may include a unique identifier (e.g., an Apfld value as defined in 3GPP TS 29.222) for identifying or indicating a particular service API stored at CAPIF node 200 .
  • a “health check URI” field may store information for communicating with an endpoint or a related entity when performing a health check for the endpoint.
  • Example data in the “health check URI” field may include an HTTP URL or another URI and may include or indicate an FQDN or IP address, a port number, and/or a path, like http://health.test.com/check or http://health.test.com:678/check).
  • a “message type” field may store information for indicating or identifying a particular message type or operation type for health check messages (e.g., usable to trigger a response from an endpoint or related entity).
  • Example data in the “message type” field may include a value representing an HTTP operation type, e.g., GET, PUT, etc.
  • message type information may be different for different message protocols, e.g., if using non-HTTP messages for health check messages.
  • An “acceptable response value” field may store information for indicating or identifying when a corresponding endpoint is active, e.g., available or healthy.
  • Example data in the “acceptable response value” field may include an HTTP response or status code (e.g., 200 , 204 , 100 , or 201 ).
  • a “health status” field may store information for indicating or identifying a current or recent health or availability of an endpoint.
  • Example data in the “health status” field may include a value for representing health in a binary form or a range of health or availability.
  • a health status may be represented by either an “active” or “inactive” status, where “active” may indicate that an endpoint is online, available, or healthy; and “inactive” may indicate that an endpoint is offline, unavailable, or unhealthy.
  • a health status may be represent a value between 0 and 10.
  • a health status of ‘0’ may indicate that an endpoint is offline, unavailable, or unhealthy
  • a health status of ‘10’ may indicate that an endpoint is online, available, or healthy with no congestion or detectable issues
  • health statuses between ‘1’ and ‘9’ may indicate increasing degrees of health or availability for an endpoint.
  • a “timestamp” field may store information for indicating or identifying a time associated with a health status or a related health check.
  • Example data in the “timestamp” field may include numbers in a predetermined or standard format for indicating a date and time associated with a health status, such as ‘YYYYMMDDmmhhss’ (e.g., ‘20211223050403’ may indicate that a health status of a given endpoint was determined on Dec. 23, 2021 at 5:04:03 AM).
  • health related information 300 is for illustrative purposes and that different and/or additional data than the data depicted in FIG. 3 may be usable for tracking health statuses for service provider(s) 208 or related endpoints and/or usable for performing various related operations, e.g., resource cleanup involving service provider(s) 208 or related endpoints that are inactive for at least the last five minutes.
  • FIG. 4 depicts example health related information 400 associated with API invoker(s) 210 or related endpoints.
  • Information 400 may include health check information (e.g., an health check message operation type, a health check URI for sending a health check message to, and an acceptable response value indicating that an endpoint is “active” (e.g., healthy or available)) usable for performing health checks associated with various endpoints associated with API invoker(s) 210 .
  • Information 400 may include health statuses determined or derived from one or more health check procedures and timestamps indicating when the health check procedure was performed or completed.
  • information 400 may be usable for determining when health checks should be initiated or triggered.
  • CAPIF node 200 or RM 204 therein may use respective timestamps and/or timers to periodically perform health checks for various endpoints.
  • appropriate health check information e.g., an health check message operation type, a URI for sending a health check message to, and an acceptable response value
  • CAPIF node 200 or RM 204 therein may not perform health checks on those endpoints.
  • information 400 may be usable in performing resource cleanup.
  • CAPIF node 200 or RM 204 therein may use health statuses and timestamps to identify and delete stale records, e.g., records associated with endpoints that have been inactive for a configurable amount of time or longer (e.g., 5 minutes or longer).
  • information 400 is depicted in a tabular format comprising columns and/or fields for an onboarding ID, a health check URI, a message type, an acceptable response value, a health status, and a timestamp.
  • Each row may represent an endpoint associated with API invoker(s) 210 and corresponding health related information (e.g., health statuses, health check related timestamps, and information for performing health checks).
  • An “onboarding ID” field may store information for indicating or identifying a particular API invoker 210 or a related endpoint.
  • Example data in the “onboarding ID” field may include a unique identifier (e.g., an onboarding Id value as defined in 3GPP TS 29.222) for identifying or indicating an entity (e.g., an endpoint, an application, a node, etc.) that is successfully onboarded at or by CAPIF node 200 .
  • a “health check URI” field may store information for communicating with an endpoint or a related entity when performing a health check for the endpoint.
  • Example data in the “health check URI” field may include an HTTP URL or another URI and may include or indicate an FQDN or IP address, a port number, and/or a path, like http://health.test.com/check or http://health.test.com:678/check).
  • a “message type” field may store information for indicating or identifying a particular message type or operation type for health check messages (e.g., usable to trigger a response from an endpoint or related entity).
  • Example data in the “message type” field may include a value representing an HTTP operation type, e.g., GET, PUT, etc.
  • message type information may be different for different message protocols, e.g., if using non-HTTP messages for health check messages.
  • An “acceptable response value” field may store information for indicating or identifying when a corresponding endpoint is active, e.g., available or healthy.
  • Example data in the “acceptable response value” field may include an HTTP response code (e.g., 200 , 204 , or 201 ).
  • a “health status” field may store information for indicating or identifying a current or recent health or availability of an endpoint.
  • Example data in the “health status” field may include a value for representing health in a binary form or a range of health or availability. For example, as depicted in FIG.
  • a health status may be represented by either an “active” or “inactive” status, where “active” may indicate that an endpoint is online, available, or healthy; and “inactive” may indicate that an endpoint is offline, unavailable, or unhealthy.
  • a health status may be represent a value between 0 and 10.
  • a health status of ‘0’ may indicate that an endpoint is offline, unavailable, or unhealthy
  • a health status of ‘10’ may indicate that an endpoint is online, available, or healthy with no congestion or detectable issues
  • health statuses between ‘1’ and ‘9’ may indicate increasing degrees of health or availability for an endpoint.
  • a “timestamp” field may store information for indicating or identifying a time associated with a health status or a related health check.
  • Example data in the “timestamp” field may include numbers in a predetermined or standard format for indicating a date and time associated with a health status, such as ‘YYYYMMDDmmhhss’ (e.g., ‘20211224141413’ may indicate that a health status of a given endpoint was determined on Dec. 24, 2021 at 2:14:13 PM).
  • health related data 400 is for illustrative purposes and that different and/or additional data than the data depicted in FIG. 4 may be usable for tracking health statuses for API invokers or related endpoints and/or usable for performing various related operations, e.g., resource cleanup involving API invoker(s) 210 or related endpoints that are inactive for at least the last five minutes.
  • FIG. 5 is a message flow diagram illustrating various health checking operations associated with service provider(s) 208 .
  • CAPIF node 200 or RM 204 therein may support one or more APIs (e.g., a CAPIF publish service API as defined in 3GPP TS 23.222) for publishing and managing published service APIs at CAPIF node 200 or a CCF therein.
  • APIs e.g., a CAPIF publish service API as defined in 3GPP TS 23.222
  • CAPIF node 200 or RM 204 therein may receive health check information from service provider(s) 208 usable for performing periodic or aperiodic health checks involving endpoints related to published service APIs.
  • CAPIF node 200 or RM 204 therein may send (e.g., via a CAPIF events API as defined in 3GPP TS 23.222) a notification message indicating a change in availability to one or more subscribed entities, e.g., API invoker(s) 210 .
  • a registration request message (e.g., an HTTP POST message) for publishing a service API may be sent from service provider(s) 208 to CAPIF node 200 .
  • the registration request message may comprise health check information (e.g., vendor-specific data indicating a health check URI for indicating an endpoint to send a health check message to, a health check message type, an acceptable response value (for indicating an “active” or “healthy” status), and/or other health check information).
  • health check information e.g., vendor-specific data indicating a health check URI for indicating an endpoint to send a health check message to, a health check message type, an acceptable response value (for indicating an “active” or “healthy” status), and/or other health check information).
  • CAPIF node 200 or RM 204 therein may validate the registration request message and/or the sender (e.g., service provider(s) 208 ) and may store health check information and/or other registration related information in one or more data stores (e.g., in data storage 206 ).
  • the sender e.g., service provider(s) 208
  • data stores e.g., in data storage 206
  • a registration response message (e.g., an HTTP POST message) indicating a successful registration or API publishing process may be sent from CAPIF node 200 to service provider(s) 208 .
  • a health check message (e.g., an HTTP GET or PUT message) may be sent from CAPIF node 200 to an endpoint indicated by a URI, e.g., provided by service provider(s) 208 in step 501 .
  • a health check response message (e.g., an HTTP POST message) comprising an acceptable status code (indicating an “active” or healthy status) may be sent from the endpoint to CAPIF node 200 .
  • CAPIF node 200 or RM 204 therein may receive and analyze the health check response message to determine whether the message is an acceptable response (e.g., whether the response message includes a value indicating that the endpoint is active or healthy). For example, a health check determination may involve comparing an actual response value in a received health check response message to an acceptable response value provided by service provider(s) 208 in step 501 . In this example, if the actual response value matches the acceptable response value then CAPIF node 200 or RM 204 therein may determine that the endpoint is “active” (e.g., healthy or available). Otherwise (e.g., if the actual response value does not match the acceptable response value), CAPIF node 200 or RM 204 therein may determine that the endpoint is “inactive” (e.g., unhealthy or unavailable).
  • an acceptable response e.g., whether the response message includes a value indicating that the endpoint is active or healthy.
  • a health check determination may involve comparing an actual response value in a received health
  • CAPIF node 200 or RM 204 therein may store the “active” status in one or more data stores (e.g., in data storage 206 ) and may store a timestamp associated with the health status or the related health check process.
  • service provider(s) 208 may become unavailable (e.g., offline).
  • service provider(s) 208 or a related network may be down or having runtime issues.
  • a health check message (e.g., an HTTP GET or PUT message) may be sent from CAPIF node 200 to an endpoint indicated by a URI, e.g., provided by service provider(s) 208 in step 501 .
  • a health check response message (e.g., an HTTP POST message) comprising an unacceptable status code (indicating an “inactive” or unhealthy status) may be sent from the endpoint to CAPIF node 200 or a health response message may not be sent (e.g., within an acceptable time).
  • CAPIF node 200 or RM 204 therein may receive and analyze the health check response message to determine whether the message is an acceptable response (e.g., whether the response message includes a value indicating that the endpoint is active or healthy). For example, a health check determination may involve comparing an actual response value in a received health check response message to an acceptable response value provided by service provider(s) 208 in step 501 .
  • CAPIF node 200 or RM 204 therein may determine that the endpoint is “active” (e.g., healthy or available). Otherwise (e.g., if the actual response value does not match the acceptable response value), CAPIF node 200 or RM 204 therein may determine that the endpoint is “inactive” (e.g., unhealthy or unavailable).
  • CAPIF node 200 or RM 204 therein may check to see if a health check response message is received within an acceptable time period (e.g., configurable by a network operator or other entity). In such embodiments, if no response message is received within the acceptable time period, CAPIF node 200 or RM 204 therein may determine that the endpoint is “inactive” (e.g., unhealthy or unavailable).
  • an acceptable time period e.g., configurable by a network operator or other entity.
  • CAPIF node 200 or RM 204 therein may store the “inactive” status in one or more data stores (e.g., in data storage 206 ) and may store or update a timestamp associated with the health status or the related health check process.
  • a timestamp related to an “inactive” health status may only be stored for the endpoint when the most recent prior health status of the endpoint was “active” health status (the timestamp would not be updated again until a health check indicates the endpoint is determined to be “active” again).
  • the stored timestamp for the “inactive” endpoint would represent when the endpoint first became “inactive”.
  • a notification message indicating this change in availability may be sent from CAPIF node 200 to subscribed entities, e.g., API invoker(s) 210 .
  • subscribed entities e.g., API invoker(s) 210 .
  • CAPIF node 200 , RM 204 , or another entity may be configured to notify subscribed API invoker(s) 210 about an API endpoint being unavailable.
  • step 512 e.g., at some point in time after the previous health check performed by CAPIF node 200 , service provider(s) 208 may become available (e.g., online) again.
  • step 513 e.g., based on a timer or other factors determined by a network operator or other entity, a health check message (e.g., an HTTP GET or PUT message) may be sent from CAPIF node 200 to an endpoint indicated by a URI, e.g., provided by service provider(s) 208 in step 501 .
  • a health check message e.g., an HTTP GET or PUT message
  • a health check response message (e.g., an HTTP POST message) comprising an acceptable status code (indicating an “active” or healthy status) may be sent from the endpoint to CAPIF node 200 .
  • CAPIF node 200 or RM 204 therein may receive and analyze the health check response message to determine whether the message is an acceptable response (e.g., whether the response message includes a value indicating that the endpoint is active or healthy). For example, a health check determination may involve comparing an actual response value in a received health check response message to an acceptable response value provided by service provider(s) 208 in step 501 . In this example, if the actual response value matches the acceptable response value then CAPIF node 200 or RM 204 therein may determine that the endpoint is “active” (e.g., healthy or available). Otherwise (e.g., if the actual response value does not match the acceptable response value),
  • CAPIF node 200 or RM 204 therein may determine that the endpoint is “inactive” (e.g., unhealthy or unavailable).
  • CAPIF node 200 or RM 204 therein may store the “active” status in one or more data stores (e.g., in data storage 206 ) and may store a timestamp associated with the health status or the related health check process.
  • a notification message indicating this change in availability may be sent from CAPIF node 200 to subscribed entities, e.g., API invoker(s) 210 .
  • subscribed entities e.g., API invoker(s) 210 .
  • CAPIF node 200 , RM 204 , or another entity may be configured to notify subscribed API invoker(s) 210 about an API endpoint being available again.
  • FIG. 5 is for illustrative purposes and that different and/or additional messages may be communicated and/or actions may be performed.
  • CAPIF node 200 or RM 204 therein may perform one or more resource cleanup procedures to remove information about endpoints that have been “inactive” for at least a particular amount of time.
  • resource cleanup procedures to remove information about endpoints that have been “inactive” for at least a particular amount of time.
  • an endpoint associated with service provider(s) 208 is removed, then subsequent health checks for that endpoint would not be performed, e.g., unless the API or related endpoint is reregistered or re-published.
  • various messages and/or actions described herein may occur in a different order or sequence.
  • FIG. 6 is a message flow diagram illustrating various health checking operations associated with API invoker(s) 210 .
  • CAPIF node 200 or RM 204 therein may support one or more APIs (e.g., a CAPIF API invoker management API as defined in 3GPP TS 23.222) for managing API invoker(s) 210 at CAPIF node 200 or a CCF therein, e.g., onboarding, offboarding, updating API invoker details, etc.
  • APIs e.g., a CAPIF API invoker management API as defined in 3GPP TS 23.222
  • CAPIF node 200 or RM 204 therein may receive health check information from API invoker(s) 210 usable for performing periodic or aperiodic health checks involving endpoints related to API invoker(s) 210 .
  • an onboarding request message e.g., an HTTP POST message
  • an endpoint associated with API invoker(s) 210 may be sent from API invoker(s) 210 to CAPIF node 200 .
  • the onboarding request message may comprise health check information (e.g., vendor-specific data indicating a health check URI for indicating an endpoint to send a health check message to, a health check message type, an acceptable response value (for indicating an “active” or “healthy” status), and/or other health check information).
  • health check information e.g., vendor-specific data indicating a health check URI for indicating an endpoint to send a health check message to, a health check message type, an acceptable response value (for indicating an “active” or “healthy” status), and/or other health check information).
  • CAPIF node 200 or RM 204 therein may validate the onboarding request message and/or the sender (e.g., API invoker(s) 210 ) and may store health check information and/or other onboarding related information in one or more data stores (e.g., in data storage 206 ).
  • the sender e.g., API invoker(s) 210
  • data stores e.g., in data storage 206
  • an onboarding response message (e.g., an HTTP POST message) indicating a successful onboarding process may be sent from CAPIF node 200 to API invoker(s) 210 .
  • a health check message (e.g., an HTTP GET or PUT message) may be sent from CAPIF node 200 to an endpoint indicated by a URI, e.g., provided by API invoker(s) 210 in step 601 .
  • a health check response message (e.g., an HTTP POST message) comprising an acceptable status code (indicating an “active” or healthy status) may be sent from the endpoint to CAPIF node 200 .
  • CAPIF node 200 or RM 204 therein may receive and analyze the health check response message to determine whether the message is an acceptable response (e.g., whether the response message includes a value indicating that the endpoint is active or healthy). For example, a health check determination may involve comparing an actual response value in a received health check response message to an acceptable response value provided by API invoker(s) 210 in step 601 . In this example, if the actual response value matches the acceptable response value then CAPIF node 200 or RM 204 therein may determine that the endpoint is “active” (e.g., healthy or available). Otherwise (e.g., if the actual response value does not match the acceptable response value), CAPIF node 200 or RM 204 therein may determine that the endpoint is “inactive” (e.g., unhealthy or unavailable).
  • an acceptable response e.g., whether the response message includes a value indicating that the endpoint is active or healthy.
  • a health check determination may involve comparing an actual response value in a received
  • step 606 if the health check response indicates an “active” status, CAPIF node 200 or RM 204 therein may store the “active” status in one or more data stores (e.g., in data storage 206 ) and may store a timestamp associated with the health status or the related health check process.
  • step 607 e.g., at some point in time after the previous health check involving the endpoint performed by CAPIF node 200 , API invoker(s) 210 may become unavailable (e.g., offline).
  • a health check message (e.g., an HTTP GET or PUT message) may be sent from CAPIF node 200 to an endpoint indicated by a URI, e.g., provided by API invoker(s) 210 in step 601 .
  • a health check response message (e.g., an HTTP POST message) comprising an unacceptable status code (indicating an “inactive” or unhealthy status) may be sent from the endpoint to CAPIF node 200 or a health response message may not be sent (e.g., within an acceptable time).
  • an unacceptable status code indicating an “inactive” or unhealthy status
  • CAPIF node 200 or RM 204 therein may receive and analyze the health check response message to determine whether the message is an acceptable response (e.g., whether the response message includes a value indicating that the endpoint is active or healthy). For example, a health check determination may involve comparing an actual response value in a received health check response message to an acceptable response value provided by API invoker(s) 210 in step 601 . In this example, if the actual response value matches the acceptable response value then CAPIF node 200 or RM 204 therein may determine that the endpoint is “active” (e.g., healthy or available). Otherwise (e.g., if the actual response value does not match the acceptable response value), CAPIF node 200 or RM 204 therein may determine that the endpoint is “inactive” (e.g., unhealthy or unavailable).
  • an acceptable response e.g., whether the response message includes a value indicating that the endpoint is active or healthy.
  • a health check determination may involve comparing an actual response value in a received
  • CAPIF node 200 or RM 204 therein may check to see if a health check response message is received within an acceptable time period (e.g., configurable by a network operator or other entity). In such embodiments, if no response message is received within the acceptable time period, CAPIF node 200 or RM 204 therein may determine that the endpoint is “inactive” (e.g., unhealthy or unavailable).
  • an acceptable time period e.g., configurable by a network operator or other entity.
  • CAPIF node 200 or RM 204 therein may store the “inactive” status in one or more data stores (e.g., in data storage 206 ) and may store or update a timestamp associated with the health status or the related health check process.
  • a timestamp related to an “inactive” health status may only be stored for the endpoint when the most recent prior health status of the endpoint was “active” health status (the timestamp would not be updated again until a health check indicates the endpoint is determined to be “active” again).
  • the stored timestamp for the “inactive” endpoint would represent when the endpoint first became “inactive”.
  • API invoker(s) 210 may become available (e.g., online) again.
  • a health check message (e.g., an HTTP GET or PUT message) may be sent from CAPIF node 200 to an endpoint indicated by a URI, e.g., provided by API invoker(s) 210 in step 601 .
  • a health check response message (e.g., an HTTP POST message) comprising an acceptable status code (indicating an “active” or healthy status) may be sent from the endpoint to CAPIF node 200 .
  • CAPIF node 200 or RM 204 therein may receive and analyze the health check response message to determine whether the message is an acceptable response (e.g., whether the response message includes a value indicating that the endpoint is active or healthy). For example, a health check determination may involve comparing an actual response value in a received health check response message to an acceptable response value provided by API invoker(s) 210 in step 601 . In this example, if the actual response value matches the acceptable response value then CAPIF node 200 or RM 204 therein may determine that the endpoint is “active” (e.g., healthy or available).
  • CAPIF node 200 or RM 204 therein may determine that the endpoint is “inactive” (e.g., unhealthy or unavailable). In step 614 , if the health check response indicates an “active” status, CAPIF node 200 or RM 204 therein may store the “active” status in one or more data stores (e.g., in data storage 206 ) and may store a timestamp associated with the health status or the related health check process.
  • FIG. 6 is for illustrative purposes and that different and/or additional messages may be communicated and/or actions may be performed.
  • CAPIF node 200 or RM 204 therein may perform one or more resource cleanup procedures to remove information about endpoints that have been “inactive” for at least a particular amount of time.
  • subsequent health checks for that endpoint would not be performed, e.g., unless the endpoint is reregistered or re-onboarded.
  • various messages and/or actions described herein may occur in a different order or sequence.
  • FIG. 7 is a message flow diagram illustrating an example API discovery process involving CAPIF node 200 .
  • CAPIF node 200 or RM 204 therein may support a Discover Service API (e.g., as defined in 3GPP TS 29.222) for allowing API invoker(s) 208 (e.g., AF 106 ) to discover available or relevant service APIs or related endpoints via CAPIF node 200 .
  • CAPIF node 200 may provide one or more service API IDs and/or related information indicating APIs or related endpoints available to API invoker(s) 208 .
  • CAPIF node 200 or RM 204 therein may be configured to identify, select, or provide APIs or related endpoints that are considered active based on health statuses or related information, e.g., tracked and/or stored at or by CAPIF node 200 .
  • CAPIF node 200 or RM 204 therein may identify a group of potential API IDs (e.g., Apflds) that match the request (e.g., based on request parameters such as an NF set, a locality, or an NF type), may then remove one or more API IDs from the group of potential API endpoints if their corresponding health statuses are “inactive” (e.g., unavailable or offline), and may then provide information about the remaining API IDs (e.g., the “active” API IDs) in an API discovery response message.
  • a group of potential API IDs e.g., Apflds
  • request parameters such as an NF set, a locality, or an NF type
  • an API discovery request message (e.g., an HTTP GET message) for requesting all service APIs (or IDs thereof) at CAPIF node 200 may be sent from API invoker(s) 210 to CAPIF node 200 .
  • CAPIF node 200 may receive the API discovery request message and identify relevant API(s) or related endpoints using corresponding health statuses and/or other information. For example, in response to receiving an API discovery request message, CAPIF node 200 or RM 204 therein may use API discovery related logic and stored health related information (e.g., ApflDs, API information, and health statuses) to create a list of potential APIs (or related endpoints) (e.g., a list of API IDs) for responding to the discovery service request, may remove APIs (or related endpoints) that are currently associated with “inactive” (e.g., unavailable) health statuses, and may generate an API discovery response message indicating the remaining APIs (or related endpoints), e.g., the response may include one or more API IDs or Apflds.
  • API discovery related logic and stored health related information e.g., ApflDs, API information, and health statuses
  • an API discovery response message (e.g., an HTTP 200 OK message) indicating all relevant and available APIs (or related endpoints) may be sent from CAPIF node 200 to API invoker(s) 210 .
  • FIG. 7 is for illustrative purposes and that different and/or additional messages than those depicted in FIG. 7 may be communicated and/or different and/or additional actions than those depicted in FIG. 7 may be performed. It will also be appreciated that various messages and/or actions described herein may occur in a different order or sequence.
  • FIG. 8 is a diagram illustrating an example process 800 for health checking using CAPIF.
  • example process 800 described herein, or portions (e.g., operations or steps) thereof, may be performed at or performed by CAPIF node 200 , RM 204 , and/or a module or node.
  • a CAPIF request message (e.g., an HTTP POST message) including health check information usable in performing a health check associated with a sender may be received from the sender (e.g., service provider(s) 208 or API invoker(s) 210 ), where the health check information includes a URI identifying an endpoint associated with the endpoint and an acceptable response value for indicating that the endpoint is active.
  • the sender e.g., service provider(s) 208 or API invoker(s) 210
  • the health check information includes a URI identifying an endpoint associated with the endpoint and an acceptable response value for indicating that the endpoint is active.
  • service provider(s) 208 may send a CAPIF request message to CAPIF node 200 for registering or publishing one or more service APIs or related endpoints.
  • API invoker(s) 210 may send a CAPIF request message to CAPIF node 200 for onboarding one or more related endpoints.
  • a health status of the endpoint associated with the sender may be periodically or aperiodically determined by performing a health check procedure that uses the URI and the acceptable response value.
  • performing a health check procedure for a given endpoint may include sending, using a URI associated with the endpoint (e.g., as indicated in step 802 ), a health check message for triggering a response message that includes an acceptable response value (e.g., as indicated in step 802 ) if the endpoint is active.
  • performing a health check procedure for a given endpoint may include receiving a response message; determining that the response message lacks an acceptable response value (e.g., provided in step 802 ); and determining and/or indicating that the endpoint is inactive.
  • performing a health check procedure for a given endpoint may include determining that a response message was not received within a time period (e.g., configured by a network operator); and determining and/or indicating that the endpoint is inactive.
  • a time period e.g., configured by a network operator
  • performing a health check procedure for a given endpoint may include receiving a response message; determining that the response message includes an acceptable response value (e.g., as indicated in step 802 ); and determining and/or indicating that the endpoint is active.
  • CAPIF node 200 , RM 204 , or another entity may be configured for, in response to a health status changing from active to inactive, generating and storing a timestamp associated with the health status change.
  • CAPIF node 200 , RM 204 , or another entity may be configured for performing a resource cleanup procedure, wherein performing the resource cleanup procedure includes identifying, using timestamps and health statuses, inactive endpoints that have been inactive for at least a predetermined amount of time and deleting information associated with the inactive endpoints.
  • CAPIF node 200 , RM 204 , or another entity may be configured for performing an API discovery procedure including excluding, using timestamps and health statuses, inactive endpoints that have been inactive for at least a predetermined amount of time from a set of APIs or endpoints provided in a response message to an API discovery request message. For example, in response to receiving an API discovery request message, CAPIF node 200 , RM 204 , or another entity may remove one or more inactive endpoints from consideration (initially or in a later stage of an API discovery procedure) if these endpoints are deemed inactive for a configurable time period or longer (even if otherwise these endpoints would be relevant based on the API discovery request message).
  • CAPIF node 200 may include a CCF or an AEF. It will be appreciated that process 800 is for illustrative purposes and that different and/or additional messages may be communicated and/or actions may be performed. It will also be appreciated that various messages and/or actions described herein may occur in a different order or sequence.
  • any network that allows or utilizes CAPIF node or CAPIF node-like functions may use features, systems, mechanisms, and/or techniques described herein to perform endpoint health checks (e.g., availability checks), notify subscribed entities about changes in endpoint availability, and/or cleanup resources (e.g., delete stored endpoint information associated with service provider(s) 208 and/or API invoker(s) 210 ).
  • endpoint health checks e.g., availability checks
  • cleanup resources e.g., delete stored endpoint information associated with service provider(s) 208 and/or API invoker(s) 210 .
  • health statuses (or other information) derived from endpoint health checks can be utilized for mitigating issues associated with storing or using stale endpoint information and/or for improving CAPIF related memory utilization.
  • CAPIF node 200 may constitute a special purpose computing device. Further, CAPIF node 200 , RM 204 , and/or functionality described herein can improve the technological field of network communications.
  • CAPIF node 200 may include RM 204 and may be capable of performing health checks (e.g., dynamically or periodically) for one or more endpoints registered or stored at or by CAPIF node 200 .
  • service provider(s) 208 and/or API invoker(s) 210 may provide health check information for indicating to CAPIF node 200 or RM 204 , where the provided health check information may indicate which endpoints are to receive health check messages, where to send health check messages, and/or how to analyze or interpret health check response messages.
  • CAPIF node 200 or RM 204 may use health statuses (or other information) derived from health checks in performing various actions, e.g., performing resource cleanup for endpoints that are deemed inactive for a particular amount of time or notifying subscribed entities about service API endpoints being available or unavailable.

Abstract

Methods, systems, and computer readable media for health checking involving common application programming interface (API) framework (CAPIF) are disclosed. One example method for health checking using CAPIF comprises: at a CAPIF node including at least one processor: receiving, from a sender, a
CAPIF request message including health check information usable in checking the health of an endpoint associated with the sender, wherein the health check information includes a uniform resource identifier (URI) associated with the endpoint and an acceptable response value for indicating that the endpoint is active; and determining, periodically or aperiodically, a health status of the endpoint by performing a health check procedure using the URI and the acceptable response value.

Description

    TECHNICAL FIELD
  • The subject matter described herein relates to improving communications in fifth generation (5G) and subsequent generation communications networks. More particularly, the subject matter described herein relates to methods, systems, and computer readable media for health checking involving common application programming interface (API) framework (CAPIF).
  • BACKGROUND In telecommunications networks, a service endpoint is an address on a network node that uniquely identifies an entity that provides service to consumers.
  • The service endpoint can include an Internet protocol (IP) address or a combination of IP address and transport layer port number, which is also referred to as an IP endpoint.
  • In fifth generation (5G) telecommunications networks, the network node that provides service is referred to as a producer network function (NF). A network node that consumes services is referred to as a consumer NF. An NF can be both a producer NF and a consumer NF depending on whether it is consuming or providing service.
  • A given producer NF may have many service endpoints. Producer NFs register with an NF repository function (NRF). The NRF maintains NF profiles (e.g., data types or data structures for storing information about NF instances) of available NF instances and their supported services. Consumer NFs can subscribe to receive information about producer NF instances that have registered with the NRF. Once registered, NF instances in the 5G network may establish sessions with one or more network exposure functions (NEFs). Notably, the NEF is a 3GPP network function that provides a means to securely expose the services and capabilities provided by producer network functions servicing the network.
  • SUMMARY
  • Methods, systems, and computer readable media for health checking involving common application programming interface (API) framework (CAPIF) are disclosed. One example method for health checking using CAPIF comprises: at a CAPIF node including at least one processor: receiving, from a sender, a CAPIF request message including health check information usable in checking the health of an endpoint associated with the sender, wherein the health check information includes a uniform resource identifier (URI) associated with the endpoint and an acceptable response value for indicating that the endpoint is active; and determining, periodically or aperiodically, a health status of the endpoint by performing a health check procedure using the URI and the acceptable response value.
  • One example system for health checking using CAPIF includes at least one processor, a memory, and a CAPIF node including the at least one processor and the memory. The CAPIF node is configured for: receiving, from a sender, a CAPIF request message including health check information usable in checking the health of an endpoint associated with the sender, wherein the health check information includes a uniform resource identifier (URI) associated with the endpoint and an acceptable response value for indicating that the endpoint is active; and determining, periodically or aperiodically, a health status of the endpoint by performing a health check procedure using the URI and the acceptable response value.
  • One example non-transitory computer readable medium comprising computer executable instructions embodied in the non-transitory computer readable medium that when executed by at least one processor of at least one computer cause the at least one computer to perform steps comprising: at a CAPIF node including at least one processor: receiving, from a sender, a CAPIF request message including health check information usable in checking the health of an endpoint associated with the sender, wherein the health check information includes a URI associated with the endpoint and an acceptable response value for indicating that the endpoint is active; and determining, periodically or aperiodically, a health status of the endpoint by performing a health check procedure using the URI and the acceptable response value.
  • The subject matter described herein may be implemented in hardware, software, firmware, or any combination thereof. As such, the terms “function” “node” or “module” as used herein refer to hardware, which may also include software and/or firmware components, for implementing the feature being described. In one example implementation, the subject matter described herein may be implemented using a computer readable medium having stored thereon computer executable instructions that when executed by the processor of a computer control the computer to perform steps. Example computer readable media suitable for implementing the subject matter described herein include non-transitory computer-readable media, such as disk memory devices, chip memory devices, programmable logic devices, and application specific integrated circuits. In addition, a computer readable medium that implements the subject matter described herein may be located on a single device or computing platform or may be distributed across multiple devices or computing platforms.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The subject matter described herein will now be explained with reference to the accompanying drawings of which:
  • FIG. 1 is a network diagram illustrating an example fifth generation (5G) network architecture;
  • FIG. 2 is a block diagram illustrating an example common application programming interface (API) framework (CAPIF) node for health checking and/or resource cleanup;
  • FIG. 3 depicts example health related information associated with service providers or related endpoints;
  • FIG. 4 depicts example health related information associated with API invokers or related endpoints;
  • FIG. 5 is a message flow diagram illustrating various health checking operations associated with one or more service provider(s);
  • FIG. 6 is a message flow diagram illustrating various health checking operations associated with one or more API invoker(s);
  • FIG. 7 is a message flow diagram illustrating an example API discovery procedure involving a CAPIF node; and
  • FIG. 8 is a flow chart illustrating an example process for health checking using CAPIF.
  • DETAILED DESCRIPTION
  • The subject matter described herein relates to methods, systems, and computer readable media for health checking involving common application programming interface (API) framework (CAPIF). The 3rd Generation Partnership
  • Project (3GPP) defines a common application programming interface (API) framework (CAPIF) for 3GPP northbound APIs in 3GPP technical specification (TS) 23.222. As defined in 3GPP TS 23.222, the functional model for the CAPIF is arranged into functional entities, including an API invoker, a CAPIF core function (CCF), and an API exposing function (AEF), to describe a functional architecture for enabling access and invocation of service APIs. The API invoker represents an entity that uses or invokes a service or a related service API. For example, an API invoker may be an AF or other entity, such as an application requiring service from a service provider. The API invoker can discover service APIs from the CCF, request authorization for API invocations, and use the services provided by the AEF. The CCF represents a repository for service APIs, including PLMN and third party service APIs. The CCF can allow API invokers and an API exposing function (AEF) to discover service APIs, authenticate and authorize API invokers for usage of the service APIs, and perform logging and charging associated with related service API invocations. The AEF represents the provider of the services as APIs. The AEF can validate the authorization of an API invoker to use a service, provide the service to the API invoker, log related invocations on the CCF, and request charging for the service. Service providers (e.g., API publishers) can publish their APIs for use via CAPIF. API invokers can onboard (e.g., register) with the CCF and discover various service APIs. API invokers can also subscribe with the CCF for changes in availability of specific APIs.
  • While 3GPP TS 23.222 defines various operations associated with CAPIF, issues can arise when registered or onboarded API invokers are no longer available and/or when published service API endpoints are no longer available. For example, if a published service API endpoint or interface is down or unavailable, there may be little to no benefit for an API invoker to learn or discover the unavailable service API endpoint. In another example, if an endpoint associated with an onboarded API invoker or a published service API is down or unavailable, there may be little to no benefit for a CAPIF node to keep the unavailable endpoint registered indefinitely.
  • In accordance with some aspects of the subject matter described herein, methods, systems, mechanisms, and/or techniques for health checking using a CAPIF node are provided. For example, a CAPIF node (e.g., a device implementing a CCF and/or an AEF) in accordance with various aspects described herein may be configured for: receiving, from a sender (e.g., a service provider or an API invoker), a CAPIF request message including health check information usable in checking the health of an endpoint associated with the sender, wherein the health check information includes a uniform resource identifier (URI) associated with the endpoint and an acceptable response value for indicating that the endpoint is active; and determining, periodically or aperiodically, a health status of the endpoint by performing a health check procedure using the URI and the acceptable response value.
  • In accordance with some aspects of the subject matter described herein, methods, systems, mechanisms, and/or techniques for using information derived from or based on health checks in performing resource cleanup operations. For example, a CAPIF node in accordance with various aspects described herein may be configured for performing a resource cleanup procedure or operation, e.g., periodically (e.g., every 300 seconds) or aperiodically (e.g., when available CAPIF related memory is below a threshold value, like 10% left). In this example, the resource cleanup procedure or operation may delete and/or compress stale data records, e.g., data entries associated endpoints that have been marked or deemed “inactive” (e.g., unavailable) for a predetermined or configurable amount of time (e.g., 500 seconds).
  • Reference will now be made in detail to various embodiments of the subject matter described herein, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
  • FIG. 1 is a block diagram illustrating an example 5G system network architecture, e.g., a home 5G core (5GC) network. The architecture in FIG. 1 includes a network function (NF) repository function (NRF) 100 and a service communications proxy (SCP) 101, which may be located in the same home public land mobile network (PLMN). As described above, NRF 100 may maintain profiles of available producer NF service instances and their supported services and allow consumer NFs or SCPs to subscribe to and be notified of the registration of new/updated producer NF service instances. SCP 101 may also support service discovery and selection of producer NF instances. SCP 101 may perform load balancing of connections between consumer and producer NFs. In addition, using the methodologies described herein, SCP 101 may perform preferred NF location based selection and routing.
  • NRF 100 is a repository for NF or service profiles of producer NF instances. In order to communicate with a producer NF instance, a consumer NF or an SCP must obtain the NF or service profile or the producer NF instance from NRF 100. The NF or service profile is a JavaScript object notation (JSON) data structure defined in 3GPP TS 29.510. The NF or service profile definition includes at least one of a fully qualified domain name (FQDN) , an IP version 4 (IPv4) address, or an IP version 6 (IPv6) address. In FIG. 1 , any of the nodes (other than NRF 100) can be either consumer NFs or producer NFs, depending on whether they are requesting or providing services. In the illustrated example, the nodes include a policy control function (PCF) 102 that performs policy related operations in a network, a user data management (UDM) function 104 that manages user data, and an application function (AF) 106 that provides application services. The nodes illustrated in FIG. 1 further include a session management function (SMF) 108 that manages sessions between access and mobility management function (AMF) 110 and PCF 102. AMF 110 performs mobility management operations similar to those performed by a mobility management entity (MME) in 4G networks. An authentication server function (AUSF) 112 performs authentication services for user devices, such as user equipment (UE) 114, seeking access to the network.
  • A network slice selection function (NSSF) 116 provides network slicing services for devices seeking to access specific network capabilities and characteristics associated with a network slice. A network exposure function (NEF) 118 provides application programming interfaces (APIs) for application functions seeking to obtain information about Internet of things (IoT) devices and other UEs attached to the network. NEF 118 performs similar functions to the service capability exposure function (SCEF) in 4G networks.
  • A radio access network (RAN) 120 connects UE 114 to the network via a wireless link. Radio access network 120 may be accessed using a g-Node B (gNB) (not shown in FIG. 1 ) or other wireless access point. A user plane function (UPF) 122 can support various proxy functionality for user plane services. One example of such proxy functionality is multipath transmission control protocol (MPTCP) proxy functionality. UPF 122 may also support performance measurement functionality, which may be used by UE 114 to obtain network performance measurements. Also illustrated in FIG. 1 is a data network (DN) 124 through which UEs access data network services, such as Internet services.
  • Security edge protection proxy (SEPP) 126 filters incoming traffic from another PLMN and performs topology hiding for traffic exiting the home PLMN. SEPP 126 may communicate with a SEPP in a foreign PLMN which manages security for the foreign PLMN. Thus, traffic between NFs in different PLMNs may traverse two SEPP functions, one for the home PLMN and the other for the foreign PLMN.
  • SEPP 126 may utilize an N32-c interface and an N32-f interface. An N32-c interface is a control plane interface between two SEPPs usable for performing an initial handshake (e.g., a TLS handshake) and negotiating various parameters for an N32-f interface connection and related message forwarding. An N32-f interface is a forwarding interface between two SEPPs 126 usable for forwarding various communications (e.g., 5GC requests) between a consumer NF and a producer NF after applying application level security protection.
  • It will be appreciated that FIG. 1 is for illustrative purposes and that various nodes and/or modules, locations, and/or functionality described above in relation to FIG. 1 may be changed, altered, added, or removed.
  • FIG. 2 is a diagram illustrating an example CAPIF node 200 for health checking and/or resource cleanup. CAPIF node 200 may represent any suitable entity or entities (e.g., one or more node(s), device(s), or computing platform(s)) for performing various aspects or functionalities described herein, e.g., performing health checking or health related cleanup involving with one or more endpoints, e.g., associated with API invoker(s) 210 or service provider(s) 208. In some embodiments, CAPIF node 200 may include one or more 3GPP defined functions (e.g., a CCF or an AEF) and/or related functionality. In some embodiments, CAPIF node 200 may include an authorization server, a data repository, a network gateway, a network proxy, an edge security device, and/or other functionality.
  • In some embodiments, CAPIF node 200 may include a CCF or related functionality. For example, CAPIF node 200 may include or access a repository of PLMN and third party service APIs. In this example, API invoker(s) 210 (e.g., NFs like AFs 106 or applications thereof) and AEFs may use discovery procedures to identify relevant APIs in the repository. Continuing with this example, CAPIF node 200 may also authenticate and/or authorize API invoker(s) 210 to use one or more of the service APIs and may also log and charge for API invoker(s) 210.
  • In some embodiments, CAPIF node 200 may include an AEF or related functionality. For example, CAPIF node 200 may be the provider of various services as APIs. In this example, CAPIF node 200 may validate the authorization of API invoker(s) 210, provide a service to API invoker(s) 210, and log the invocations on the CCF and request charging for the service usage. In some embodiments, CAPIF node 200 or an AEF thereof may wrap around various 3GPP functions to enable APIs to be exposed. For example, NEF APIs can be exposed to the AEF with API invoker(s) 210 on top, which has access to the CCF for on-boarding and discovery and the availability of services provided by the AEF.
  • In some embodiments, CAPIF node 200 or a related entity may provide the capability to register or publish service APIs, e.g., usable by API invoker(s) 210 via an AEF. For example, service provider(s) 208 (e.g., NEF 116) may use an API (e.g., an CAPIF_Publish_Service_API API) to publish an API using an HTTP POST message. In this example, the payload of the HTTP POST message may include an API identifier (e.g., an API publishing function (APF) identifier (Apfld)) and other information, e.g., as defined in section 8.1 of 3GPP TS 29.222.
  • In some embodiments, CAPIF node 200 or a related entity may provide the capability to onboard or add new API invoker(s) 210, to support granting API invoker(s) 210′s request(s) to onboard with an administrator, to support offboarding API invoker(s) 210, and/or to update an API invoker(s) 210's API list, e.g., after the discovery of new API(s). For example, when onboarding itself as an API invoker at CAPIF node 200, AF 106 may send an HTTP POST message (e.g., using an CAPIF_API_Invoker_Management_API API) to CAPIF node 200 or a CCF therein. In this example, the payload of the HTTP POST message may include an API invoker enrolment details object, an API list, and a notification destination URI. Various examples of onboarding information or related information is defined in section 8.4 of 3GPP TS 29.222.
  • In some embodiments, CAPIF node 200 or a related entity may provide or support an API (e.g., an CAPIF_Discover_Service_API API) to allow one or more API invoker(s) 210 (e.g., after onboarding) to discover various service APIs supported or registered by one or more service provider(s) 208 (e.g., as defined in section 8.1 of 3GPP TS 29.222). In such embodiments, API invoker(s) 210 may subscribe (e.g., an CAPIF_Events_API API) with CAPIF node 200 or a related entity to receive information regarding changes in availability of all or specific service APIs (e.g., by using API identifiers (e.g., Apflds) provided by service provider(s) 208 during a publishing procedure). Various examples of subscription message information or notification message information is defined in section 8.3 of 3GPP TS 29.222.
  • Referring to FIG. 2 , CAPIF node 200 may include one or more communications interface(s) 202 for communicating messages via a communications environment, e.g., one or more 5G networks. For example, communications interface(s) 202 may include one or more communications interfaces for communicating with various entities in a home network (e.g., home public land mobile network (H-PLMN)) or a visited network (e.g., a visited public land mobile network (V-PLMN)).
  • CAPIF node 200 may include a resource manager (RM) 204. RM 204 may be any suitable entity (e.g., software executing on at least one processor) for performing various operations associated health checking and/or resource cleanup. For example, RM 204 may be configured for receiving, from a sender, a CAPIF request message including health check information usable in checking the health of an endpoint associated with the sender (e.g., a uniform resource identifier (URI) identifying the endpoint and an acceptable response value for indicating that the endpoint is active) and determining, periodically or aperiodically, a health status of the endpoint, e.g., determining a health status may involve performing a health check procedure using the URI and the acceptable response value.
  • In some embodiments, RM 204 or another entity may determine that endpoint health checking is to be performed based on information provided during an API invoker onboarding process or during a service API registration process. For example, when registering one or more service APIs, service provider(s) 208 may include health check information (e.g., a health check URI and an acceptable response value) usable in checking the health of an endpoint associated with the sender) in a POST message or a registration related message. In another example, when onboarding, API invoker(s) 210 may include health check information in a POST message or a registration related message.
  • In some embodiments, health check information may be provided to RM 204 or another entity in one or more data elements or information elements (IEs).
  • For example, health check information may be stored in a vendor-specific data structure (as defined in section 6.6.3 of TS 29.500) or a related element. An example of vendor-specific data indicating health check information is shown below:
  • “vendorSpecific-000111”:{
     “version” : 1,
     “http_op” : “GET”,
     “http_url” : “http://health.test.com/check”,
     “http_response” : 200
    }
  • In some embodiments, e.g., as depicted in the example above, health check information may include a version attribute, a message operation type (e.g., an hypertext transfer protocol (HTTP) operation type, like GET or PUT), an URI (e.g., an uniform resource locator (URL) indicating an FQDN or IP address, a port number, and/or a path, like http://health.test.com/check or http://health.test.com:678/check), and an acceptable response indicating health or availability (e.g., an HTTP response status code).
  • In some embodiments, since health check information is provided by service provider(s) 208 or API invoker(s) 210, health check related overhead may be effectively managed to minimize network issues or user experience issues for service provider(s) 208 or API invoker(s) 210. For example, service provider(s) 208 or an API invoker can specify an URI to use when performing health checks (e.g., an URI not providing or receiving a particular service). In this example, service provider(s) 208 or API invoker(s) 210 can choose to specify a non-signaling interface to handle health check messages from CAPIF node 200, while other interfaces (e.g., a notification destination URI) handle other types of requests and/or messages.
  • In some embodiments, CAPIF node 200, RM 204, or another entity may store received health check information and may use this information to perform one or more health checks, e.g., periodically (e.g., every 10 minutes) or aperiodically (e.g., when the network is congested/failed, or in response to detecting one or more multiple request failure reports associated with an API invoker or service provider, or when available storage at CAPIF node 200 is low) based on network operator settings or other factors. For example, RM 204 or another entity may be configured to use health check information for a particular endpoint (e.g., provided by API invoker(s) 210 or service provider(s) 208) to validate the health of the endpoint by sending a health check message (e.g., an HTTP GET message that matches a corresponding HTTP operation type indicated by the health check information) to a URI (e.g., an HTTP URL that matches a corresponding HTTP operation type indicated by the health check information). In this example, RM 204 or another entity may wait a predetermined amount of time for a response message and, if a response message is received, RM 204 or another entity may determine whether the response message includes an acceptable response (e.g., a response code that matches a corresponding acceptable response indicated by the health check information). In some embodiments, CAPIF node 200, RM 204, or another entity may perform health checks only for endpoints that provide health check information. For example, service provider(s) 208 (e.g., an API publisher) may publish multiple API endpoints and may choose to provide health check information for all their API endpoints, some of their API endpoints, or none of their API endpoints. In this example, service provider(s) 208 can control whether CAPIF based health-checks are performed for each of their API endpoints. In another example, API invoker(s) 210 may register one or more endpoints and may choose to provide health check information for all their endpoints, some of their endpoints, or none of their endpoints. In this example, API invoker(s) 210 can control whether CAPIF based health-checks are performed for each of their endpoints.
  • In some embodiments, if health check information is not provided for an endpoint associated with service provider(s) 208 or API invoker(s) 210, CAPIF node 200, RM 204, or another entity may not perform health checks for that endpoint and may consider that endpoint to always be “active” (e.g., up and available).
  • In some embodiments, CAPIF node 200, RM 204, or another entity may store or indicate an “active” health status (e.g., in a data store or data storage 206) based on successful health checks performed using health check information. For example, CAPIF node 200, RM 204, or another entity may determine that an endpoint is “active” (e.g., healthy or available) when a response message is received during a health check process and the response message includes an acceptable response (e.g., when a received response code is the same as a response code indicated by corresponding health check information). In some embodiments, e.g., for every successful health check, a timestamp may be recorded along with the “active” health status.
  • In some embodiments, CAPIF node 200, RM 204, or another entity may store or indicate an “inactive” health status (e.g., in a data store or data storage 206) based on unsuccessful health checks performed using health check information. For example, CAPIF node 200, RM 204, or another entity may determine that an endpoint is “inactive” (e.g., unhealthy or unavailable) when a response message is not received during a health check process or when a response message does not include an acceptable response value (e.g., when a received response code is not the same as a response code indicated by corresponding health check information).
  • In some embodiments, when a health status associated with an endpoint changes from “active” to “inactive”, a timestamp associated with the health status determination may be recorded along with the “inactive” health status. In such embodiments, an updated timestamp may not be recorded for a subsequent health checks if the health status remains “inactive”. However, on a successful health check, an updated timestamp associated with the “active” health status determination may be recorded.
  • In some embodiments, CAPIF node 200, RM 204, or another entity may use health statuses or related information about endpoints when processing various requests and/or performing various actions. For example, in response to an API discovery request from API invoker(s) 210, CAPIF node 200, RM 204, or another entity may be configured to expose or provide “active” API endpoints (e.g., associated with a service API), but not to expose or provide “inactive” API endpoints based on stored health statuses (e.g., in data storage 206). In this example, CAPIF node 200, RM 204, or another entity may identify a group of potential APIs that match the request (e.g., based on request parameters such as an NF set, a locality, or an NF type), may then remove one or more APIs from the group of potential APIs if their corresponding health statuses indicate inactivity (e.g., unavailability), and may provide the remaining APIs (e.g., the “active” APIs) in an API discovery response message.
  • In some embodiments, CAPIF node 200, RM 204, or another entity may use health statuses or related information when providing notifications (e.g., about changing of availability of API endpoints) to subscribed API invoker(s) 210. For example, CAPIF node 200, RM 204, or another entity may be configured to notify subscribed API invoker(s) 210 about an API endpoint being available/unavailable (e.g., at or during runtime) based on health statuses or related information determined from performing health checks.
  • In some embodiments, CAPIF node 200, RM 204, or another entity may use health statuses or related information when performing resource cleanup. For example, CAPIF node 200, RM 204, or another entity may be configured to run or perform a resource cleanup procedure or operation, e.g., periodically (e.g., every 300 seconds) or aperiodically (e.g., when available CAPIF related memory is below a threshold value). In this example, the resource cleanup procedure or operation may delete and/or compress stale data records, e.g., data entries associated endpoints that have been marked or deemed “inactive” for a predetermined or configurable amount of time (e.g., 500 seconds).
  • In some embodiments, CAPIF node 200, RM 204, or another entity may utilize operator configurable settings, predetermined settings, and/or dynamic settings for performing health checks, resource cleanups, or other actions. For example, an operator may increase the amount of time that an endpoint must remain “inactive” to be considered “stale” and deletable for a resource cleanup procedure or operation. In this example, by increasing that amount of time, CAPIF node 200, RM 204, or another entity may delete less data records, thereby mitigating additional signaling messages or network congestion that could result from endpoints being removed prematurely and having to be onboarded or published again.
  • CAPIF node 200 and/or RM 204 may access (e.g., read from and/or write information to) data storage 206. Data storage 206 may be any suitable entity (e.g., a computer readable medium or memory) for storing various data. In some embodiments, data storage 206 may include a context data store for storing session information and/or other data, an API data store for storing API and/or endpoint information associated with service provider(s) 208 and health related information (e.g., health statuses derived from health checks and health check information provided by service provider(s) 208), an onboarding data store for storing endpoint information associated with API invoker(s) 210 and health related information (e.g., health statuses derived from health checks and health check information provided by API invoker(s) 210), various data stores comprising API information and/or authentication related information, and/or other information. In some embodiments, data storage 206 may include logic for performing various aspects associated with CAPIF node functions, CCF function, and/or AEF functions. In some embodiments, data storage 206 may include logic for performing health checks for one or more endpoints. In some embodiments, data storage 206 may include logic for performing a resource cleanup procedure or operation, e.g., deleting or clearing records associated with stale and/or “inactive” endpoints.
  • It will be appreciated that FIG. 2 and its related description are for illustrative purposes and that CAPIF node 200 may include additional and/or different modules, components, or functionality.
  • FIG. 3 depicts example health related information 300 associated with service provider(s) 208 or related endpoints. Information 300 may include health check information (e.g., an health check message operation type, a URI for sending a health check message to, and an acceptable response value indicating that an endpoint is “active” (e.g., healthy or available)) usable for performing health checks associated with API endpoints associated with service provider(s) 208. Information 300 may include health statuses determined or derived from one or more health check procedures and timestamps indicating when the health check procedure was performed or completed.
  • In some embodiments, information 300 may be usable for determining when health checks should be initiated or triggered. For example, CAPIF node 200 or RM 204 therein may use respective timestamps and/or timers to periodically perform health checks for various endpoints. In this example, if CAPIF node 200 or RM 204 therein does not have access to appropriate health check information (e.g., an health check message operation type, a URI for sending a health check message to, and an acceptable response value) for some endpoints, CAPIF node 200 or RM 204 therein may not perform health checks on those endpoints.
  • In some embodiments, information 300 may be usable in performing resource cleanup. For example, CAPIF node 200 or RM 204 therein may use health statuses and timestamps to identify and delete stale records, e.g., records associated with endpoints that have been inactive for a configurable amount of time or longer (e.g., 5 minutes or longer).
  • Referring to FIG. 3 , information 300 is depicted in a tabular format comprising columns and/or fields for a service API ID, a health check URI, a message type, an acceptable response value, a health status, and a timestamp. Each row may represent an endpoint associated with service provider(s) 208 (e.g., an API publisher) and corresponding health related information (e.g., health statuses, health check related timestamps, and health check information for performing health checks).
  • A “service API ID” field may store information for indicating or identifying a particular service provider 208 or a related endpoint associated with a service API. Example data in the “service API ID” field may include a unique identifier (e.g., an Apfld value as defined in 3GPP TS 29.222) for identifying or indicating a particular service API stored at CAPIF node 200.
  • A “health check URI” field may store information for communicating with an endpoint or a related entity when performing a health check for the endpoint. Example data in the “health check URI” field may include an HTTP URL or another URI and may include or indicate an FQDN or IP address, a port number, and/or a path, like http://health.test.com/check or http://health.test.com:678/check).
  • A “message type” field may store information for indicating or identifying a particular message type or operation type for health check messages (e.g., usable to trigger a response from an endpoint or related entity). Example data in the “message type” field may include a value representing an HTTP operation type, e.g., GET, PUT, etc. In some embodiments, message type information may be different for different message protocols, e.g., if using non-HTTP messages for health check messages.
  • An “acceptable response value” field may store information for indicating or identifying when a corresponding endpoint is active, e.g., available or healthy. Example data in the “acceptable response value” field may include an HTTP response or status code (e.g., 200, 204, 100, or 201).
  • A “health status” field may store information for indicating or identifying a current or recent health or availability of an endpoint. Example data in the “health status” field may include a value for representing health in a binary form or a range of health or availability. For example, as depicted in FIG. 3 , a health status may be represented by either an “active” or “inactive” status, where “active” may indicate that an endpoint is online, available, or healthy; and “inactive” may indicate that an endpoint is offline, unavailable, or unhealthy. In another example, a health status may be represent a value between 0 and 10. In this example, a health status of ‘0’ may indicate that an endpoint is offline, unavailable, or unhealthy, a health status of ‘10’ may indicate that an endpoint is online, available, or healthy with no congestion or detectable issues, and health statuses between ‘1’ and ‘9’ may indicate increasing degrees of health or availability for an endpoint.
  • A “timestamp” field may store information for indicating or identifying a time associated with a health status or a related health check. Example data in the “timestamp” field may include numbers in a predetermined or standard format for indicating a date and time associated with a health status, such as ‘YYYYMMDDmmhhss’ (e.g., ‘20211223050403’ may indicate that a health status of a given endpoint was determined on Dec. 23, 2021 at 5:04:03 AM).
  • It will be appreciated that health related information 300 is for illustrative purposes and that different and/or additional data than the data depicted in FIG. 3 may be usable for tracking health statuses for service provider(s) 208 or related endpoints and/or usable for performing various related operations, e.g., resource cleanup involving service provider(s) 208 or related endpoints that are inactive for at least the last five minutes.
  • FIG. 4 depicts example health related information 400 associated with API invoker(s) 210 or related endpoints. Information 400 may include health check information (e.g., an health check message operation type, a health check URI for sending a health check message to, and an acceptable response value indicating that an endpoint is “active” (e.g., healthy or available)) usable for performing health checks associated with various endpoints associated with API invoker(s) 210. Information 400 may include health statuses determined or derived from one or more health check procedures and timestamps indicating when the health check procedure was performed or completed.
  • In some embodiments, information 400 may be usable for determining when health checks should be initiated or triggered. For example, CAPIF node 200 or RM 204 therein may use respective timestamps and/or timers to periodically perform health checks for various endpoints. In this example, if CAPIF node 200 or RM 204 therein does not access to have appropriate health check information (e.g., an health check message operation type, a URI for sending a health check message to, and an acceptable response value) for some endpoints, CAPIF node 200 or RM 204 therein may not perform health checks on those endpoints.
  • In some embodiments, information 400 may be usable in performing resource cleanup. For example, CAPIF node 200 or RM 204 therein may use health statuses and timestamps to identify and delete stale records, e.g., records associated with endpoints that have been inactive for a configurable amount of time or longer (e.g., 5 minutes or longer).
  • Referring to FIG. 4 , information 400 is depicted in a tabular format comprising columns and/or fields for an onboarding ID, a health check URI, a message type, an acceptable response value, a health status, and a timestamp. Each row may represent an endpoint associated with API invoker(s) 210 and corresponding health related information (e.g., health statuses, health check related timestamps, and information for performing health checks).
  • An “onboarding ID” field may store information for indicating or identifying a particular API invoker 210 or a related endpoint. Example data in the “onboarding ID” field may include a unique identifier (e.g., an onboarding Id value as defined in 3GPP TS 29.222) for identifying or indicating an entity (e.g., an endpoint, an application, a node, etc.) that is successfully onboarded at or by CAPIF node 200.
  • A “health check URI” field may store information for communicating with an endpoint or a related entity when performing a health check for the endpoint.
  • Example data in the “health check URI” field may include an HTTP URL or another URI and may include or indicate an FQDN or IP address, a port number, and/or a path, like http://health.test.com/check or http://health.test.com:678/check).
  • A “message type” field may store information for indicating or identifying a particular message type or operation type for health check messages (e.g., usable to trigger a response from an endpoint or related entity). Example data in the “message type” field may include a value representing an HTTP operation type, e.g., GET, PUT, etc. In some embodiments, message type information may be different for different message protocols, e.g., if using non-HTTP messages for health check messages.
  • An “acceptable response value” field may store information for indicating or identifying when a corresponding endpoint is active, e.g., available or healthy. Example data in the “acceptable response value” field may include an HTTP response code (e.g., 200, 204, or 201). A “health status” field may store information for indicating or identifying a current or recent health or availability of an endpoint. Example data in the “health status” field may include a value for representing health in a binary form or a range of health or availability. For example, as depicted in FIG. 4 , a health status may be represented by either an “active” or “inactive” status, where “active” may indicate that an endpoint is online, available, or healthy; and “inactive” may indicate that an endpoint is offline, unavailable, or unhealthy. In another example, a health status may be represent a value between 0 and 10. In this example, a health status of ‘0’ may indicate that an endpoint is offline, unavailable, or unhealthy, a health status of ‘10’ may indicate that an endpoint is online, available, or healthy with no congestion or detectable issues, and health statuses between ‘1’ and ‘9’ may indicate increasing degrees of health or availability for an endpoint.
  • A “timestamp” field may store information for indicating or identifying a time associated with a health status or a related health check. Example data in the “timestamp” field may include numbers in a predetermined or standard format for indicating a date and time associated with a health status, such as ‘YYYYMMDDmmhhss’ (e.g., ‘20211224141413’ may indicate that a health status of a given endpoint was determined on Dec. 24, 2021 at 2:14:13 PM).
  • It will be appreciated that health related data 400 is for illustrative purposes and that different and/or additional data than the data depicted in FIG. 4 may be usable for tracking health statuses for API invokers or related endpoints and/or usable for performing various related operations, e.g., resource cleanup involving API invoker(s) 210 or related endpoints that are inactive for at least the last five minutes.
  • FIG. 5 is a message flow diagram illustrating various health checking operations associated with service provider(s) 208. In some embodiments, CAPIF node 200 or RM 204 therein may support one or more APIs (e.g., a CAPIF publish service API as defined in 3GPP TS 23.222) for publishing and managing published service APIs at CAPIF node 200 or a CCF therein. In some embodiments, e.g., during an API publishing or registration process, CAPIF node 200 or RM 204 therein may receive health check information from service provider(s) 208 usable for performing periodic or aperiodic health checks involving endpoints related to published service APIs. In some embodiments, e.g., after determining a health status change (e.g., a change in availability) of an endpoint based on a performed health check, CAPIF node 200 or RM 204 therein may send (e.g., via a CAPIF events API as defined in 3GPP TS 23.222) a notification message indicating a change in availability to one or more subscribed entities, e.g., API invoker(s) 210.
  • Referring to FIG. 5 , (e.g., during an API publishing or registration process) in step 501, a registration request message (e.g., an HTTP POST message) for publishing a service API may be sent from service provider(s) 208 to CAPIF node 200. In some embodiments, the registration request message may comprise health check information (e.g., vendor-specific data indicating a health check URI for indicating an endpoint to send a health check message to, a health check message type, an acceptable response value (for indicating an “active” or “healthy” status), and/or other health check information).
  • In step 502, CAPIF node 200 or RM 204 therein may validate the registration request message and/or the sender (e.g., service provider(s) 208) and may store health check information and/or other registration related information in one or more data stores (e.g., in data storage 206).
  • In step 503, a registration response message (e.g., an HTTP POST message) indicating a successful registration or API publishing process may be sent from CAPIF node 200 to service provider(s) 208.
  • In step 504, e.g., based on a timer or other factors determined by a network operator or other entity, a health check message (e.g., an HTTP GET or PUT message) may be sent from CAPIF node 200 to an endpoint indicated by a URI, e.g., provided by service provider(s) 208 in step 501.
  • In step 505, a health check response message (e.g., an HTTP POST message) comprising an acceptable status code (indicating an “active” or healthy status) may be sent from the endpoint to CAPIF node 200.
  • In some embodiments, CAPIF node 200 or RM 204 therein may receive and analyze the health check response message to determine whether the message is an acceptable response (e.g., whether the response message includes a value indicating that the endpoint is active or healthy). For example, a health check determination may involve comparing an actual response value in a received health check response message to an acceptable response value provided by service provider(s) 208 in step 501. In this example, if the actual response value matches the acceptable response value then CAPIF node 200 or RM 204 therein may determine that the endpoint is “active” (e.g., healthy or available). Otherwise (e.g., if the actual response value does not match the acceptable response value), CAPIF node 200 or RM 204 therein may determine that the endpoint is “inactive” (e.g., unhealthy or unavailable).
  • In step 506, if the health check response indicates an “active” status, CAPIF node 200 or RM 204 therein may store the “active” status in one or more data stores (e.g., in data storage 206) and may store a timestamp associated with the health status or the related health check process.
  • In step 507, e.g., at some point in time after the previous health check involving the endpoint performed by CAPIF node 200, service provider(s) 208 may become unavailable (e.g., offline). For example, service provider(s) 208 or a related network may be down or having runtime issues.
  • In step 508, e.g., based on a timer or other factors determined by a network operator or other entity, a health check message (e.g., an HTTP GET or PUT message) may be sent from CAPIF node 200 to an endpoint indicated by a URI, e.g., provided by service provider(s) 208 in step 501.
  • In step 509, a health check response message (e.g., an HTTP POST message) comprising an unacceptable status code (indicating an “inactive” or unhealthy status) may be sent from the endpoint to CAPIF node 200 or a health response message may not be sent (e.g., within an acceptable time). In some embodiments, CAPIF node 200 or RM 204 therein may receive and analyze the health check response message to determine whether the message is an acceptable response (e.g., whether the response message includes a value indicating that the endpoint is active or healthy). For example, a health check determination may involve comparing an actual response value in a received health check response message to an acceptable response value provided by service provider(s) 208 in step 501. In this example, if the actual response value matches the acceptable response value then CAPIF node 200 or RM 204 therein may determine that the endpoint is “active” (e.g., healthy or available). Otherwise (e.g., if the actual response value does not match the acceptable response value), CAPIF node 200 or RM 204 therein may determine that the endpoint is “inactive” (e.g., unhealthy or unavailable).
  • In some embodiments, CAPIF node 200 or RM 204 therein may check to see if a health check response message is received within an acceptable time period (e.g., configurable by a network operator or other entity). In such embodiments, if no response message is received within the acceptable time period, CAPIF node 200 or RM 204 therein may determine that the endpoint is “inactive” (e.g., unhealthy or unavailable).
  • In step 510, if the health check response indicates an “inactive” status, CAPIF node 200 or RM 204 therein may store the “inactive” status in one or more data stores (e.g., in data storage 206) and may store or update a timestamp associated with the health status or the related health check process. In some embodiments, a timestamp related to an “inactive” health status may only be stored for the endpoint when the most recent prior health status of the endpoint was “active” health status (the timestamp would not be updated again until a health check indicates the endpoint is determined to be “active” again). In such embodiments, the stored timestamp for the “inactive” endpoint would represent when the endpoint first became “inactive”.
  • In step 511, in response to determining that an API or related endpoint is now “inactive”, a notification message indicating this change in availability may be sent from CAPIF node 200 to subscribed entities, e.g., API invoker(s) 210. For example, CAPIF node 200, RM 204, or another entity may be configured to notify subscribed API invoker(s) 210 about an API endpoint being unavailable.
  • In step 512, e.g., at some point in time after the previous health check performed by CAPIF node 200, service provider(s) 208 may become available (e.g., online) again. In step 513, e.g., based on a timer or other factors determined by a network operator or other entity, a health check message (e.g., an HTTP GET or PUT message) may be sent from CAPIF node 200 to an endpoint indicated by a URI, e.g., provided by service provider(s) 208 in step 501.
  • In step 514, a health check response message (e.g., an HTTP POST message) comprising an acceptable status code (indicating an “active” or healthy status) may be sent from the endpoint to CAPIF node 200.
  • In some embodiments, CAPIF node 200 or RM 204 therein may receive and analyze the health check response message to determine whether the message is an acceptable response (e.g., whether the response message includes a value indicating that the endpoint is active or healthy). For example, a health check determination may involve comparing an actual response value in a received health check response message to an acceptable response value provided by service provider(s) 208 in step 501. In this example, if the actual response value matches the acceptable response value then CAPIF node 200 or RM 204 therein may determine that the endpoint is “active” (e.g., healthy or available). Otherwise (e.g., if the actual response value does not match the acceptable response value),
  • CAPIF node 200 or RM 204 therein may determine that the endpoint is “inactive” (e.g., unhealthy or unavailable).
  • In step 515, if the health check response indicates an “active” status, CAPIF node 200 or RM 204 therein may store the “active” status in one or more data stores (e.g., in data storage 206) and may store a timestamp associated with the health status or the related health check process.
  • In step 516, in response to determining that an API or related endpoint is “active” again, a notification message indicating this change in availability may be sent from CAPIF node 200 to subscribed entities, e.g., API invoker(s) 210. For example, CAPIF node 200, RM 204, or another entity may be configured to notify subscribed API invoker(s) 210 about an API endpoint being available again.
  • It will be appreciated that FIG. 5 is for illustrative purposes and that different and/or additional messages may be communicated and/or actions may be performed. For example, while not shown, CAPIF node 200 or RM 204 therein may perform one or more resource cleanup procedures to remove information about endpoints that have been “inactive” for at least a particular amount of time. In this example, if an endpoint associated with service provider(s) 208 is removed, then subsequent health checks for that endpoint would not be performed, e.g., unless the API or related endpoint is reregistered or re-published. It will also be appreciated that various messages and/or actions described herein may occur in a different order or sequence.
  • FIG. 6 is a message flow diagram illustrating various health checking operations associated with API invoker(s) 210. In some embodiments, CAPIF node 200 or RM 204 therein may support one or more APIs (e.g., a CAPIF API invoker management API as defined in 3GPP TS 23.222) for managing API invoker(s) 210 at CAPIF node 200 or a CCF therein, e.g., onboarding, offboarding, updating API invoker details, etc. In some embodiments, e.g., during an onboarding or registration process, CAPIF node 200 or RM 204 therein may receive health check information from API invoker(s) 210 usable for performing periodic or aperiodic health checks involving endpoints related to API invoker(s) 210. Referring to FIG. 6 , (e.g., during an onboarding or registration process) in step 601, an onboarding request message (e.g., an HTTP POST message) for onboarding or registering an endpoint associated with API invoker(s) 210 may be sent from API invoker(s) 210 to CAPIF node 200. In some embodiments, the onboarding request message may comprise health check information (e.g., vendor-specific data indicating a health check URI for indicating an endpoint to send a health check message to, a health check message type, an acceptable response value (for indicating an “active” or “healthy” status), and/or other health check information).
  • In step 602, CAPIF node 200 or RM 204 therein may validate the onboarding request message and/or the sender (e.g., API invoker(s) 210) and may store health check information and/or other onboarding related information in one or more data stores (e.g., in data storage 206).
  • In step 603, an onboarding response message (e.g., an HTTP POST message) indicating a successful onboarding process may be sent from CAPIF node 200 to API invoker(s) 210.
  • In step 604, e.g., based on a timer or other factors determined by a network operator or other entity, a health check message (e.g., an HTTP GET or PUT message) may be sent from CAPIF node 200 to an endpoint indicated by a URI, e.g., provided by API invoker(s) 210 in step 601.
  • In step 605, a health check response message (e.g., an HTTP POST message) comprising an acceptable status code (indicating an “active” or healthy status) may be sent from the endpoint to CAPIF node 200.
  • In some embodiments, CAPIF node 200 or RM 204 therein may receive and analyze the health check response message to determine whether the message is an acceptable response (e.g., whether the response message includes a value indicating that the endpoint is active or healthy). For example, a health check determination may involve comparing an actual response value in a received health check response message to an acceptable response value provided by API invoker(s) 210 in step 601. In this example, if the actual response value matches the acceptable response value then CAPIF node 200 or RM 204 therein may determine that the endpoint is “active” (e.g., healthy or available). Otherwise (e.g., if the actual response value does not match the acceptable response value), CAPIF node 200 or RM 204 therein may determine that the endpoint is “inactive” (e.g., unhealthy or unavailable).
  • In step 606, if the health check response indicates an “active” status, CAPIF node 200 or RM 204 therein may store the “active” status in one or more data stores (e.g., in data storage 206) and may store a timestamp associated with the health status or the related health check process. In step 607, e.g., at some point in time after the previous health check involving the endpoint performed by CAPIF node 200, API invoker(s) 210 may become unavailable (e.g., offline).
  • In step 608, e.g., based on a timer or other factors determined by a network operator or other entity, a health check message (e.g., an HTTP GET or PUT message) may be sent from CAPIF node 200 to an endpoint indicated by a URI, e.g., provided by API invoker(s) 210 in step 601.
  • In step 609, a health check response message (e.g., an HTTP POST message) comprising an unacceptable status code (indicating an “inactive” or unhealthy status) may be sent from the endpoint to CAPIF node 200 or a health response message may not be sent (e.g., within an acceptable time).
  • In some embodiments, CAPIF node 200 or RM 204 therein may receive and analyze the health check response message to determine whether the message is an acceptable response (e.g., whether the response message includes a value indicating that the endpoint is active or healthy). For example, a health check determination may involve comparing an actual response value in a received health check response message to an acceptable response value provided by API invoker(s) 210 in step 601. In this example, if the actual response value matches the acceptable response value then CAPIF node 200 or RM 204 therein may determine that the endpoint is “active” (e.g., healthy or available). Otherwise (e.g., if the actual response value does not match the acceptable response value), CAPIF node 200 or RM 204 therein may determine that the endpoint is “inactive” (e.g., unhealthy or unavailable).
  • In some embodiments, CAPIF node 200 or RM 204 therein may check to see if a health check response message is received within an acceptable time period (e.g., configurable by a network operator or other entity). In such embodiments, if no response message is received within the acceptable time period, CAPIF node 200 or RM 204 therein may determine that the endpoint is “inactive” (e.g., unhealthy or unavailable).
  • In step 610, if the health check response indicates an “inactive” status, CAPIF node 200 or RM 204 therein may store the “inactive” status in one or more data stores (e.g., in data storage 206) and may store or update a timestamp associated with the health status or the related health check process. In some embodiments, a timestamp related to an “inactive” health status may only be stored for the endpoint when the most recent prior health status of the endpoint was “active” health status (the timestamp would not be updated again until a health check indicates the endpoint is determined to be “active” again). In such embodiments, the stored timestamp for the “inactive” endpoint would represent when the endpoint first became “inactive”.
  • In step 611, e.g., at some point in time after the previous health check performed by CAPIF node 200, API invoker(s) 210 may become available (e.g., online) again.
  • In step 612, e.g., based on a timer or other factors determined by a network operator or other entity, a health check message (e.g., an HTTP GET or PUT message) may be sent from CAPIF node 200 to an endpoint indicated by a URI, e.g., provided by API invoker(s) 210 in step 601. In step 613, a health check response message (e.g., an HTTP POST message) comprising an acceptable status code (indicating an “active” or healthy status) may be sent from the endpoint to CAPIF node 200.
  • In some embodiments, CAPIF node 200 or RM 204 therein may receive and analyze the health check response message to determine whether the message is an acceptable response (e.g., whether the response message includes a value indicating that the endpoint is active or healthy). For example, a health check determination may involve comparing an actual response value in a received health check response message to an acceptable response value provided by API invoker(s) 210 in step 601. In this example, if the actual response value matches the acceptable response value then CAPIF node 200 or RM 204 therein may determine that the endpoint is “active” (e.g., healthy or available). Otherwise (e.g., if the actual response value does not match the acceptable response value), CAPIF node 200 or RM 204 therein may determine that the endpoint is “inactive” (e.g., unhealthy or unavailable). In step 614, if the health check response indicates an “active” status, CAPIF node 200 or RM 204 therein may store the “active” status in one or more data stores (e.g., in data storage 206) and may store a timestamp associated with the health status or the related health check process.
  • It will be appreciated that FIG. 6 is for illustrative purposes and that different and/or additional messages may be communicated and/or actions may be performed. For example, while not shown in FIG. 6 , CAPIF node 200 or RM 204 therein may perform one or more resource cleanup procedures to remove information about endpoints that have been “inactive” for at least a particular amount of time. In this example, if an endpoint associated with API invoker(s) 210 is removed, then subsequent health checks for that endpoint would not be performed, e.g., unless the endpoint is reregistered or re-onboarded. It will also be appreciated that various messages and/or actions described herein may occur in a different order or sequence.
  • FIG. 7 is a message flow diagram illustrating an example API discovery process involving CAPIF node 200. In some embodiments, CAPIF node 200 or RM 204 therein may support a Discover Service API (e.g., as defined in 3GPP TS 29.222) for allowing API invoker(s) 208 (e.g., AF 106) to discover available or relevant service APIs or related endpoints via CAPIF node 200. For example, after receiving an API discovery request message from an API invoker, CAPIF node 200 may provide one or more service API IDs and/or related information indicating APIs or related endpoints available to API invoker(s) 208.
  • In some embodiments, CAPIF node 200 or RM 204 therein may be configured to identify, select, or provide APIs or related endpoints that are considered active based on health statuses or related information, e.g., tracked and/or stored at or by CAPIF node 200. For example, in response to receiving an API discovery request message requesting all service APIs, CAPIF node 200 or RM 204 therein may identify a group of potential API IDs (e.g., Apflds) that match the request (e.g., based on request parameters such as an NF set, a locality, or an NF type), may then remove one or more API IDs from the group of potential API endpoints if their corresponding health statuses are “inactive” (e.g., unavailable or offline), and may then provide information about the remaining API IDs (e.g., the “active” API IDs) in an API discovery response message.
  • Referring to FIG. 7 , in step 701, an API discovery request message (e.g., an HTTP GET message) for requesting all service APIs (or IDs thereof) at CAPIF node 200 may be sent from API invoker(s) 210 to CAPIF node 200.
  • In step 702, CAPIF node 200 may receive the API discovery request message and identify relevant API(s) or related endpoints using corresponding health statuses and/or other information. For example, in response to receiving an API discovery request message, CAPIF node 200 or RM 204 therein may use API discovery related logic and stored health related information (e.g., ApflDs, API information, and health statuses) to create a list of potential APIs (or related endpoints) (e.g., a list of API IDs) for responding to the discovery service request, may remove APIs (or related endpoints) that are currently associated with “inactive” (e.g., unavailable) health statuses, and may generate an API discovery response message indicating the remaining APIs (or related endpoints), e.g., the response may include one or more API IDs or Apflds.
  • In step 703, an API discovery response message (e.g., an HTTP 200 OK message) indicating all relevant and available APIs (or related endpoints) may be sent from CAPIF node 200 to API invoker(s) 210.
  • It will be appreciated that FIG. 7 is for illustrative purposes and that different and/or additional messages than those depicted in FIG. 7 may be communicated and/or different and/or additional actions than those depicted in FIG. 7 may be performed. It will also be appreciated that various messages and/or actions described herein may occur in a different order or sequence.
  • FIG. 8 is a diagram illustrating an example process 800 for health checking using CAPIF. In some embodiments, example process 800 described herein, or portions (e.g., operations or steps) thereof, may be performed at or performed by CAPIF node 200, RM 204, and/or a module or node.
  • Referring to process 800, in step 802, a CAPIF request message (e.g., an HTTP POST message) including health check information usable in performing a health check associated with a sender may be received from the sender (e.g., service provider(s) 208 or API invoker(s) 210), where the health check information includes a URI identifying an endpoint associated with the endpoint and an acceptable response value for indicating that the endpoint is active. For example, service provider(s) 208 may send a CAPIF request message to CAPIF node 200 for registering or publishing one or more service APIs or related endpoints. In another example, API invoker(s) 210 may send a CAPIF request message to CAPIF node 200 for onboarding one or more related endpoints.
  • In step 804, a health status of the endpoint associated with the sender may be periodically or aperiodically determined by performing a health check procedure that uses the URI and the acceptable response value.
  • In some embodiments, performing a health check procedure for a given endpoint may include sending, using a URI associated with the endpoint (e.g., as indicated in step 802), a health check message for triggering a response message that includes an acceptable response value (e.g., as indicated in step 802) if the endpoint is active.
  • In some embodiments, performing a health check procedure for a given endpoint may include receiving a response message; determining that the response message lacks an acceptable response value (e.g., provided in step 802); and determining and/or indicating that the endpoint is inactive.
  • In some embodiments, performing a health check procedure for a given endpoint may include determining that a response message was not received within a time period (e.g., configured by a network operator); and determining and/or indicating that the endpoint is inactive.
  • In some embodiments, performing a health check procedure for a given endpoint may include receiving a response message; determining that the response message includes an acceptable response value (e.g., as indicated in step 802); and determining and/or indicating that the endpoint is active.
  • In some embodiments, CAPIF node 200, RM 204, or another entity may be configured for, in response to a health status changing from active to inactive, generating and storing a timestamp associated with the health status change.
  • In some embodiments, CAPIF node 200, RM 204, or another entity may be configured for performing a resource cleanup procedure, wherein performing the resource cleanup procedure includes identifying, using timestamps and health statuses, inactive endpoints that have been inactive for at least a predetermined amount of time and deleting information associated with the inactive endpoints.
  • In some embodiments, CAPIF node 200, RM 204, or another entity may be configured for performing an API discovery procedure including excluding, using timestamps and health statuses, inactive endpoints that have been inactive for at least a predetermined amount of time from a set of APIs or endpoints provided in a response message to an API discovery request message. For example, in response to receiving an API discovery request message, CAPIF node 200, RM 204, or another entity may remove one or more inactive endpoints from consideration (initially or in a later stage of an API discovery procedure) if these endpoints are deemed inactive for a configurable time period or longer (even if otherwise these endpoints would be relevant based on the API discovery request message).
  • In some embodiments, CAPIF node 200 may include a CCF or an AEF. It will be appreciated that process 800 is for illustrative purposes and that different and/or additional messages may be communicated and/or actions may be performed. It will also be appreciated that various messages and/or actions described herein may occur in a different order or sequence.
  • It will be appreciated that while some aspects of the subject matter described herein has been discussed with reference to 5G networks various other networks may utilize some aspects of the subject matter described herein. For example, any network that allows or utilizes CAPIF node or CAPIF node-like functions may use features, systems, mechanisms, and/or techniques described herein to perform endpoint health checks (e.g., availability checks), notify subscribed entities about changes in endpoint availability, and/or cleanup resources (e.g., delete stored endpoint information associated with service provider(s) 208 and/or API invoker(s) 210). In this example, health statuses (or other information) derived from endpoint health checks can be utilized for mitigating issues associated with storing or using stale endpoint information and/or for improving CAPIF related memory utilization.
  • It should be noted that CAPIF node 200, RM 204, and/or functionality described herein may constitute a special purpose computing device. Further, CAPIF node 200, RM 204, and/or functionality described herein can improve the technological field of network communications. For example, CAPIF node 200 may include RM 204 and may be capable of performing health checks (e.g., dynamically or periodically) for one or more endpoints registered or stored at or by CAPIF node 200. In this example, service provider(s) 208 and/or API invoker(s) 210 may provide health check information for indicating to CAPIF node 200 or RM 204, where the provided health check information may indicate which endpoints are to receive health check messages, where to send health check messages, and/or how to analyze or interpret health check response messages. Continuing with this example, CAPIF node 200 or RM 204 may use health statuses (or other information) derived from health checks in performing various actions, e.g., performing resource cleanup for endpoints that are deemed inactive for a particular amount of time or notifying subscribed entities about service API endpoints being available or unavailable.
  • The disclosure of each of the following references is incorporated herein by reference in its entirety to the extent not inconsistent herewith and to the extent that it supplements, explains, provides a background for, or teaches methods, techniques, and/or systems employed herein.
  • References:
  • 1. 3GPP TS 23.222; 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Functional architecture and information flows to support Common API Framework for 3GPP Northbound APIs; Stage 2 (Release 16); V16.10.0 (2021-06).
  • 2. 3GPP TS 29.222; 3rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; Common API Framework for 3GPP Northbound APIs; (Release 16); V16.7.0 (2021-06).
  • 3. 3GPP TS 29.510; 3rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; 5G System; Network Function Repository Services; Stage 3 (Release 16); V16.9.0 (2021-09).
  • 4. 3GPP TS 29.522; 3rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; 5G System; Network Exposure Function Northbound APIs; Stage 3 (Release 16); V16.9.0 (2021-09).
  • 5. 3GPP TS 29.122; 3rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; T8 reference point for Northbound APIs; (Release 16); V16.11.0 (2021-09).
  • 6. 3GPP TS 29.500; 3rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; 5G System; Technical Realization of Service Based Architecture; Stage 3 (Release 16); V16.9.0 (2021-09).
  • It will be understood that various details of the presently disclosed subject matter may be changed without departing from the scope of the presently disclosed subject matter. Furthermore, the foregoing description is for the purpose of illustration only, and not for the purpose of limitation.

Claims (20)

What is claimed is:
1. A method for health checking involving common application programming interface (API) framework (CAPIF), the method comprising:
at a CAPIF node including at least one processor:
receiving, from a sender, a CAPIF request message including health check information usable in checking the health of an endpoint associated with the sender, wherein the health check information includes a uniform resource identifier (URI) associated with the endpoint and an acceptable response value for indicating that the endpoint is active; and
determining, periodically or aperiodically, a health status of the endpoint by performing a health check procedure using the URI and the acceptable response value.
2. The method of claim 1 wherein performing the health check procedure includes sending, using the URI, a health check message for triggering a response message that includes the acceptable response value if the endpoint is active.
3. The method of claim 2 comprising:
receiving the response message;
determining that the response message lacks the acceptable response value; and
indicating that the endpoint is inactive.
4. The method of claim 2 comprising:
determining that the response message was not received within a time period; and
indicating that the endpoint is inactive.
5. The method of claim 2 comprising:
receiving the response message;
determining that the response message includes the acceptable response value; and
indicating that the endpoint is active.
6. The method of claim 1 comprising:
in response to the health status changing from active to inactive, generating and storing a timestamp associated with the health status change.
7. The method of claim 1 comprising:
performing a resource cleanup procedure including identifying, using timestamps and health statuses, inactive endpoints that have been inactive for at least a predetermined amount of time and deleting information associated with the inactive endpoints.
8. The method of claim 1 comprising:
performing an API discovery procedure including excluding, using timestamps and health statuses, inactive endpoints that have been inactive for at least a predetermined amount of time from a set of APIs or endpoints provided in a response message to an API discovery request message.
9. The method of claim 1 wherein the CAPIF request message is a message for registering one or more service APIs and the sender is a service provider or the CAPIF request message is a message for onboarding an API invoker and the sender is the API invoker; or wherein the CAPIF node includes a CAPIF core function (CCF) or an API exposing function (AEF).
10. A system for health checking involving common application programming interface (API) framework (CAPIF), the system comprising:
at least one processor;
a memory; and
a CAPIF node including the at least one processor and the memory, the CAPIF node configured for:
receiving, from a sender, a CAPIF request message including health check information usable in checking the health of an endpoint associated with the sender, wherein the health check information includes a uniform resource identifier (URI) associated with the endpoint and an acceptable response value for indicating that the endpoint is active; and
determining, periodically or aperiodically, a health status of the endpoint by performing a health check procedure using the URI and the acceptable response value.
11. The system of claim 10 wherein performing the health check procedure includes sending, using the URI, a health check message for triggering a response message that includes the acceptable response value if the endpoint is active.
12. The system of claim 11 wherein performing the health check procedure further includes:
receiving the response message;
determining that the response message lacks the acceptable response value; and
indicating that the endpoint is inactive.
13. The system of claim 11 wherein performing the health check procedure further includes:
determining that the response message was not received within a time period; and
indicating that the endpoint is inactive.
14. The system of claim 11 wherein performing the health check procedure further includes:
receiving the response message;
determining that the response message includes the acceptable response value; and
indicating that the endpoint is active.
15. The system of claim 10 wherein the CAPIF node is configured for:
in response to the health status changing from active to inactive, generating and storing a timestamp associated with the health status change.
16. The system of claim 10 wherein the CAPIF node is configured for:
performing a resource cleanup procedure including identifying, using timestamps and health statuses, inactive endpoints that have been inactive for at least a predetermined amount of time and deleting information associated with the inactive endpoints.
17. The system of claim 10 wherein the CAPIF node is configured for:
performing an API discovery procedure including excluding, using timestamps and health statuses, inactive endpoints that have been inactive for at least a predetermined amount of time from a set of APIs or endpoints provided in a response message to an API discovery request message.
18. The system of claim 10 wherein the CAPIF request message is a message for registering one or more service APIs and the sender is a service provider or the CAPIF request message is a message for onboarding an API invoker and the sender is the API invoker.
19. The system of claim 10 wherein the sender is a service provider or an API invoker or wherein the CAPIF node includes a CAPIF core function (CCF) or an API exposing function (AEF).
20. A non-transitory computer readable medium having stored thereon executable instructions that when executed by at least one processor of a computer cause the computer to perform steps comprising:
at a common application programming interface (API) framework (CAPIF) node including at least one processor:
receiving, from a sender, a CAPIF request message including health check information usable in checking the health of an endpoint associated with the sender, wherein the health check information includes a uniform resource identifier (URI) associated with the endpoint and an acceptable response value for indicating that the endpoint is active; and
determining, periodically or aperiodically, a health status of the endpoint including performing a health check procedure using the URI and the acceptable response value.
US17/579,077 2022-01-19 2022-01-19 Methods, systems, and computer readable media for health checking involving common application programming interface framework Active US11709725B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/579,077 US11709725B1 (en) 2022-01-19 2022-01-19 Methods, systems, and computer readable media for health checking involving common application programming interface framework

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US17/579,077 US11709725B1 (en) 2022-01-19 2022-01-19 Methods, systems, and computer readable media for health checking involving common application programming interface framework

Publications (2)

Publication Number Publication Date
US20230229539A1 true US20230229539A1 (en) 2023-07-20
US11709725B1 US11709725B1 (en) 2023-07-25

Family

ID=87161926

Family Applications (1)

Application Number Title Priority Date Filing Date
US17/579,077 Active US11709725B1 (en) 2022-01-19 2022-01-19 Methods, systems, and computer readable media for health checking involving common application programming interface framework

Country Status (1)

Country Link
US (1) US11709725B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11303731B2 (en) * 2019-02-16 2022-04-12 Samsung Electronics Co., Ltd. Method and apparatus for registering API provider domain function entities on CAPIF core function entity
US20230027164A1 (en) * 2019-09-26 2023-01-26 Telefonaktiebolaget Lm Ericsson (Publ) Method, apparatuses and computer-readable media relating to event subscription in a communication network

Family Cites Families (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6621793B2 (en) 2000-05-22 2003-09-16 Telefonaktiebolaget Lm Ericsson (Publ) Application influenced policy
JP2002171572A (en) 2000-12-01 2002-06-14 Hitachi Ltd Wireless base station, packet repeater, and wireless communication system
US7266085B2 (en) 2001-03-21 2007-09-04 Stine John A Access and routing protocol for ad hoc network using synchronous collision resolution and node state dissemination
EP1430420A2 (en) 2001-05-31 2004-06-23 Lixto Software GmbH Visual and interactive wrapper generation, automated information extraction from web pages, and translation into xml
US7133672B2 (en) 2002-01-08 2006-11-07 Motorola, Inc. Method and apparatus for registration of a mobile station in a packet data communication system
US7151945B2 (en) 2002-03-29 2006-12-19 Cisco Systems Wireless Networking (Australia) Pty Limited Method and apparatus for clock synchronization in a wireless network
FI115687B (en) 2002-04-09 2005-06-15 Nokia Corp Transmission of packet data to a terminal equipment
US6937605B2 (en) 2002-05-21 2005-08-30 Nokia Corporation Wireless gateway, and associated method, for a packet radio communication system
US7551613B2 (en) 2002-09-06 2009-06-23 Motorola, Inc. Method of supporting reactivation of a dormant session using stored service configurations
EP1654894A4 (en) 2003-08-15 2011-08-31 Nortel Networks Ltd Method and apparatus for efficient simultaneous re-activation of multiple dormant service instances in a cdma200 network
US20060104214A1 (en) 2004-11-18 2006-05-18 Borella Michael S System and method for automated provisioning of wireless access gateways
US20060203773A1 (en) 2005-03-09 2006-09-14 Melissa Georges Method and mechanism for managing packet data links in a packet data switched network
CN100379315C (en) 2005-06-21 2008-04-02 华为技术有限公司 Method for carrying out authentication on user terminal
CN101218800A (en) 2005-07-07 2008-07-09 艾利森电话股份有限公司 Method and arrangement for authentication and privacy
US8040849B2 (en) 2005-09-15 2011-10-18 Qualcomm Incorporated Maintaining a data connection during a dormant data session with a wireless communication network
US8042154B2 (en) 2005-11-07 2011-10-18 Cisco Technology, Inc. Allowing network access for proxy mobile IP cases for nodes that do not support CHAP authentication
KR101207467B1 (en) 2005-12-16 2012-12-03 삼성전자주식회사 Method and system for managing session information in a mobile communication system and apparatus thereof
EP2012655A4 (en) 2006-04-20 2009-11-25 Iq Life Inc Interactive patient monitoring system using speech recognition
US8442485B2 (en) 2006-06-19 2013-05-14 Cisco Technology, Inc. System and method for measuring and reporting service usage
ES2488940T3 (en) 2007-09-13 2014-09-01 Huawei Technologies Co., Ltd. Network element method and device for acquiring the policy control information of an IP access session
US8644872B2 (en) 2007-09-24 2014-02-04 Qualcomm Incorporated Continuous broadcast interface maintenance for group communications to wireless communications devices
US20090232310A1 (en) 2007-10-05 2009-09-17 Nokia Corporation Method, Apparatus and Computer Program Product for Providing Key Management for a Mobile Authentication Architecture
CN101646149B (en) 2008-08-07 2012-09-05 中兴通讯股份有限公司 Method for deleting session messages in DRA
US8509815B1 (en) 2009-05-21 2013-08-13 Sprint Communications Company L.P. Dynamically updating a home agent with location-based information
US8615237B2 (en) 2010-01-04 2013-12-24 Tekelec, Inc. Methods, systems, and computer readable media for policy and charging rules function (PCRF) node selection
US20110320544A1 (en) 2010-06-29 2011-12-29 Alcatel-Lucent Canada, Inc. Diameter session audits
RU2609065C2 (en) 2010-09-17 2017-01-30 Телефонактиеболагет Л М Эрикссон (Пабл) Method and apparatus for policy control for current pdn connections in network comprising gateway, access function and policy and charging rules function
US8943209B2 (en) 2010-10-07 2015-01-27 Tekelec, Inc. Methods, systems, and computer readable media for policy and charging rules function (PCRF) fault tolerance
US8620263B2 (en) 2010-10-20 2013-12-31 Tekelec, Inc. Methods, systems, and computer readable media for diameter routing agent (DRA) based credit status triggered policy control
CN102724648B (en) 2011-03-30 2018-03-20 中兴通讯股份有限公司 A kind of method and system of tunnel information renewal
US8612612B1 (en) 2011-09-28 2013-12-17 Juniper Networks, Inc. Dynamic policy control for application flow processing in a network device
US20130262308A1 (en) 2012-04-03 2013-10-03 Yigang Cai Spending limits for offline charging
US9655159B2 (en) 2012-08-31 2017-05-16 Qualcomm Incorporated Managing guaranteed bit rate quality of service resource allocation based on guaranteed bit rate data activity on a link
US9231774B2 (en) 2012-09-27 2016-01-05 Alcatel Lucent Congestion control for radio access networks (RAN)
US9860130B2 (en) 2012-10-22 2018-01-02 Nokia Solutions And Networks Oy Methods, apparatuses, system, related computer program product for routing and processing policy requests related to group subscription
US9215133B2 (en) 2013-02-20 2015-12-15 Tekelec, Inc. Methods, systems, and computer readable media for detecting orphan Sy or Rx sessions using audit messages with fake parameter values
US8897749B1 (en) 2013-05-09 2014-11-25 Cellco Partnership Policy decisions based on subscriber spending limits
US10277637B2 (en) 2016-02-12 2019-04-30 Oracle International Corporation Methods, systems, and computer readable media for clearing diameter session information
WO2018232241A1 (en) 2017-06-16 2018-12-20 Convida Wireless, Llc Small data transfer, data buffering, and data management as a service in a communications network
CN109561473B (en) 2017-09-25 2021-01-15 华为技术有限公司 Communication resource release method and device and non-transitory computer storage medium
US11109307B2 (en) 2017-10-17 2021-08-31 Telefonaktiebolaget Lm Ericsson (Publ) Service registration and discovery in a communications network
US10999787B2 (en) 2018-02-17 2021-05-04 Huawei Technologies Co., Ltd. System and method for UE context and PDU session context management
CN110505662B (en) 2018-05-16 2021-05-18 华为技术有限公司 Policy control method, device and system
US10904947B2 (en) 2018-05-16 2021-01-26 Huawei Technologies Co., Ltd. Message and system for application function influence on traffic routing
US11303627B2 (en) 2018-05-31 2022-04-12 Oracle International Corporation Single Sign-On enabled OAuth token
CN110730499B (en) 2018-07-16 2021-06-15 华为技术有限公司 MEC information acquisition method and device
US11528607B2 (en) 2018-08-13 2022-12-13 Apple Inc. Techniques in evolved packet core for restricted local operator services access
CN110933711B (en) 2018-09-19 2023-06-02 华为技术有限公司 Policy control method, device and system
CN110968744B (en) 2018-09-30 2023-09-05 中国移动通信有限公司研究院 Resource query method and device, equipment and storage medium
US11678252B2 (en) 2018-10-05 2023-06-13 Huawei Technologies Co., Ltd. Quality of service information notification to user equipment, users, and application server
US11297530B2 (en) 2018-11-02 2022-04-05 Huawei Technologies Co., Ltd. Method and system for using policy to handle packets
US20210409942A1 (en) 2018-11-06 2021-12-30 Nec Corporation Apparatus and method
WO2020098706A1 (en) 2018-11-13 2020-05-22 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for binding information management
EP3909204B1 (en) 2019-01-08 2023-09-27 Telefonaktiebolaget LM Ericsson (publ) Technique for correlating network data analytics information
US11140048B2 (en) 2019-01-11 2021-10-05 Huawei Technologies Co., Ltd. Sharable storage method and system for network data analytics
EP3942857A4 (en) 2019-04-25 2022-11-23 Samsung Electronics Co., Ltd. Method and system for providing non-access stratum (nas) message protection
US11388054B2 (en) 2019-04-30 2022-07-12 Intel Corporation Modular I/O configurations for edge computing using disaggregated chiplets
US11503662B2 (en) 2019-06-14 2022-11-15 Samsung Electronics Co., Ltd. Method and system for handling of closed access group related procedure
US11683744B2 (en) 2019-06-14 2023-06-20 Samsung Electronics Co., Ltd. Method and system for handling of closed access group related procedure
US11706110B2 (en) 2019-07-12 2023-07-18 Verizon Patent And Licensing Inc. System and method of closed loop analytics for network automation
US11363447B2 (en) 2019-08-01 2022-06-14 Verizon Patent And Licensing Inc. Method and device for managing and allocating binding service in a wireless network
CN112491941A (en) 2019-09-12 2021-03-12 华为技术有限公司 Data management method, related product and communication system
US11122431B2 (en) 2019-10-17 2021-09-14 Cisco Technology, Inc. Integrating CBRS-enabled devices and intent-based networking
US11165699B2 (en) 2019-11-14 2021-11-02 Cisco Technology, Inc. Packet tracing mechanism in a network leveraging SRV6
CN114902794A (en) 2020-01-02 2022-08-12 三星电子株式会社 Method and apparatus for providing service in wireless communication system
US11659454B2 (en) 2020-02-27 2023-05-23 Huawei Technologies Co., Ltd. Methods, systems and apparatuses for management or network functions
ES2926273T3 (en) 2020-04-14 2022-10-24 Deutsche Telekom Ag Procedure for establishing and applying the expected communication behavior and in the communication system
EP3897066B1 (en) 2020-04-14 2023-12-20 Deutsche Telekom AG Method for querying and for subscribing pcf binding events for an address range in a 5g system
WO2021224545A1 (en) 2020-05-05 2021-11-11 Nokia Technologies Oy Enhanced registration in communication networks
US20210385302A1 (en) 2020-06-03 2021-12-09 Verizon Patent And Licensing Inc. Method and system for policy control function discovery service
US20220022102A1 (en) 2020-07-15 2022-01-20 Industrial Technology Research Institute Method for supporting voice service continuity and edge application server using the same
EP3975522A1 (en) 2020-09-29 2022-03-30 Nokia Technologies Oy Registration in communication networks
US11283883B1 (en) 2020-11-09 2022-03-22 Oracle International Corporation Methods, systems, and computer readable media for providing optimized binding support function (BSF) packet data unit (PDU) session binding discovery responses
US20220086218A1 (en) 2020-12-23 2022-03-17 Dario Sabella Interoperable framework for secure dual mode edge application programming interface consumption in hybrid edge computing platforms
US20220386225A1 (en) 2021-05-26 2022-12-01 Oracle International Corporation Methods, systems, and computer readable media for determining time related parameter values for a communications network
US11638134B2 (en) 2021-07-02 2023-04-25 Oracle International Corporation Methods, systems, and computer readable media for resource cleanup in communications networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11303731B2 (en) * 2019-02-16 2022-04-12 Samsung Electronics Co., Ltd. Method and apparatus for registering API provider domain function entities on CAPIF core function entity
US20230027164A1 (en) * 2019-09-26 2023-01-26 Telefonaktiebolaget Lm Ericsson (Publ) Method, apparatuses and computer-readable media relating to event subscription in a communication network

Also Published As

Publication number Publication date
US11709725B1 (en) 2023-07-25

Similar Documents

Publication Publication Date Title
US11743699B2 (en) Method of discovering services provided by a network repository function
US11582306B2 (en) Subscription and notification service
KR102046700B1 (en) Message bus service directory
US9191803B2 (en) Connection state-based long term evolution steering of roaming
EP4022875A1 (en) Method, system, and computer readable media for discovering and tracking addresses
US11283883B1 (en) Methods, systems, and computer readable media for providing optimized binding support function (BSF) packet data unit (PDU) session binding discovery responses
EP3800918B1 (en) Communication method and apparatus
US20220386225A1 (en) Methods, systems, and computer readable media for determining time related parameter values for a communications network
US20230171182A1 (en) Methods, systems, and computer readable media for restricting a number of hops conducted in a communications network
CN112136301A (en) Error handling framework for security management in a communication system
US9888001B2 (en) Methods, systems, and computer readable media for negotiating diameter capabilities
WO2023229855A1 (en) Methods, systems, and computer readable media for utilizing network function (nf) service attributes associated with registered nf service producers in a hierarchical network
US11758368B2 (en) Methods, systems, and computer readable media for supporting mobile originated data multicasting in a communications network
US11638134B2 (en) Methods, systems, and computer readable media for resource cleanup in communications networks
US11709725B1 (en) Methods, systems, and computer readable media for health checking involving common application programming interface framework
US20230188963A1 (en) METHODS, SYSTEMS, AND COMPUTER READABLE MEDIA FOR REDUCING INTER-PUBLIC LAND MOBILE NETWORK (PLMN) FORWARDING OF MESSAGES RELATING TO Nnrf SERVICE OPERATIONS
US20230171099A1 (en) Methods, systems, and computer readable media for sharing key identification and public certificate data for access token verification
US11785102B1 (en) Methods, systems, and computer readable media for application programming interface (API) related groupings involving common application programming interface framework
US11765030B2 (en) Methods, systems, and computer readable media for registering application functions using common application programming interface framework
US20230379809A1 (en) Methods, systems, and computer readable media for reporting a reserved load to network functions in a communications network
US11784762B2 (en) Methods, systems, and computer readable media for limiting network function (NF) repository function (NRF) forwarding
US20230284081A1 (en) Methods, systems, and computer readable media for notification delivery
US20240057033A1 (en) Methods, systems, and computer readable media for avoiding sending of duplicate notifications for overlapping subscriptions at network function (nf) repository function (nrf)
US20230379845A1 (en) Methods, systems, and computer readable media for synchronization of policy data between network functions in telecommunications networks
WO2023016153A1 (en) Enhancement for event monitoring exposure

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

AS Assignment

Owner name: ORACLE INTERNATIONAL CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KRISHAN, RAJIV;BOYAPATI, KIRANMAYI;REEL/FRAME:058704/0612

Effective date: 20220113