Interface calling method and device
By using the interface call method to select and send API information and call conditions to the third node, the problem of insufficient flexibility in the 3GPP network capability open architecture during multi-vendor interoperability and standard version evolution is solved, and flexible network capability calls are realized.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2022-02-28
- Publication Date
- 2026-06-16
AI Technical Summary
The existing 3GPP network capability open architecture has poor flexibility in the process of multi-vendor interoperability and standard version evolution, and cannot meet complex network capability requirements.
Through the API call method, the first node receives the API call request, selects the third node based on the filtering conditions, and sends the API information and call conditions to it. When the conditions are met, the third node calls the API to realize network capabilities, supporting multi-vendor interoperability and multi-version evolution.
It enables flexible network capability invocation in multi-vendor interoperability and multi-version evolution environments, meeting complex network capability requirements.
Smart Images

Figure CN116709292B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to an interface calling method and apparatus. Background Technology
[0002] 3GPP defines an open architecture for network capabilities, which provides third parties with application programming interfaces (APIs) to access 3GPP networks, obtain network and user status, adjust and optimize network performance, and influence user behavior.
[0003] The implementation of network capabilities may involve many conditions. Considering the complexity of interoperability among multiple vendors and the difficulty of evolving standard versions, the conditions for calling network capabilities are defined by standards, which have poor flexibility and cannot meet complex network capability requirements. Summary of the Invention
[0004] This application provides an interface calling method and apparatus to fulfill complex network capability requirements.
[0005] Firstly, an interface invocation method is provided, comprising the following steps: a first node receives an interface invocation request sent by a second node. The interface invocation request includes information about a first API, filtering conditions, and invocation conditions. The first API is used to instruct nodes capable of providing first network capabilities to implement the first network capabilities through the first API. The filtering conditions are used to select a third node from among multiple nodes capable of providing the first network capabilities, and the third node satisfies the filtering conditions. The first node selects a third node from among multiple nodes capable of providing the first network capabilities according to the filtering conditions. The first node sends the information about the first API and the invocation conditions to the third node. The first node receives the invocation result of the first network capability sent by the third node. The invocation result of the first network capability is obtained by the third node calling the first API when the invocation conditions are met. The first node sends the invocation result of the first network capability to the second node.
[0006] For example, the first node is the capability openness control function, the second node is the network capability consumer, and the third node is the network capability producer. Among them, the network capability producer can provide the first network capability.
[0007] The first API can also be called the northbound interface.
[0008] For example, in fourth-generation (4G) networks, the first set of APIs includes event monitoring API, broadcast message API, bandwidth management API, network parameter configuration API, background traffic API, back-end billing API, billing mode API, communication mode API, network status query API, non-Internet Protocol (IP) data transmission API, device triggering API, coverage enhancement API, and SMS sending API. For instance, the event monitoring API is used to implement network capabilities such as obtaining status information of terminal devices or subscribing to event notifications of status changes to terminal devices.
[0009] Another example is in the 5th generation (5G) network, where the first API includes event monitoring API, bandwidth management API, network parameter configuration API, background traffic API, back-end billing API, billing mode API, communication mode API, non-IP data transmission API, device triggering API, coverage enhancement API, SMS sending API, routing impact API, user capability management API, and analytics data openness API, etc.
[0010] The result of the first network capability call may include a call status and an optional reason value. For example, the call status may include a call success or a call failure, and the reason value may include a reason value for a successful call or a reason value for a failed call. Optionally, the result of the first network capability call may be carried in the interface call response.
[0011] In the method provided in this application, the interface call request sent by the second node carries filtering conditions and calling conditions. The filtering conditions can select a third node from multiple nodes that provide the first network capability. When the calling conditions are met, the third node can call the first API to realize the first network capability and obtain the calling result of the first network capability. This method is suitable for the complexity of multi-vendor interoperability and the evolution of multiple versions. It does not depend on standard implementation and can realize complex network capability requirements.
[0012] The filtering criteria are the conditions that the first node must meet when selecting a third node to provide the first network capability. In one possible implementation, the filtering criteria include one or more of the following: the number of third nodes used to call the first API; the identifier of the third node used to call the first API; and the performance of the third node used to call the first API.
[0013] The number of third nodes used to call the first API can be used by the first node to select that number of third nodes from multiple nodes capable of providing the first network capability. For example, if the number of third nodes used to call the first API is all, the first node can select all nodes capable of providing the first network capability as third nodes.
[0014] The identifier of the third node used to invoke the first API can be used by the first node to select the third node with that identifier from among multiple nodes capable of providing the first network capabilities. The identifier of the third node used to invoke the first API can identify a single third node or a group (usually multiple) of third nodes.
[0015] The performance of the third node used to call the first API can be used by the first node to select a third node that meets the performance requirements from among multiple nodes that can provide the first network capabilities.
[0016] The calling condition is the condition that the third node providing the first network capability meets when calling the first API (or the second API).
[0017] In one possible implementation, the invocation condition includes the time when the third node calls the first API. This time may include a date and / or specific time information. The time type may include datetime (DATETIME), date (DATE), timestamp (TIMESTAMP), and time (TIME), etc. The third node can invoke the first API at this time to implement the first network capability.
[0018] In one possible implementation, the invocation condition includes the number of times the third node calls the first API. The third node can then invoke the first API that number of times to implement the first network capability.
[0019] In one possible implementation, the invocation condition includes the time interval between the third node's calls to the first API. The time interval represents the time between two consecutive calls to the first API by the third node.
[0020] In one possible implementation, the invocation condition includes the periodicity of the third node calling the first API. The third node can periodically call the first API according to this periodicity to implement the first network capability.
[0021] In one possible implementation, the invocation conditions include a start condition and / or a stop condition for the third node to invoke the first API. The third node can begin invoking the first API when the start condition is triggered, and / or end invoking the first API when the stop condition is triggered.
[0022] In one possible implementation, the invocation condition includes an identifier of the user who is permitted to receive services from the first network capability. The user identifier can be the identifier of a single user or the identifiers of a group (typically multiple) of users. For example, the user identifier can be an IP address, optionally represented by an IP address range. As another example, the user identifier can be an integrated services digital network (ISDN) / public switched telephone network (PSTN) number (MSISDN), international mobile subscriber identity (IMSI), subscription permanent identifier (SUPI), subscription concealed identifier (SUCI), or globally unique temporary UE identity (GUTI), optionally represented by an identifier range range.
[0023] In one possible implementation, the invocation conditions include the location of the user who is permitted to receive services from the first network capability. The third node can provide the first network capability to users within range of that location. For example, the user's location includes information about the tracking area (TA) and / or cell information.
[0024] Optionally, the information, filtering criteria, and invocation conditions of the first API can be carried in a single message.
[0025] In one possible implementation, when the first node sends information about the first API to the third node, the first node can convert the information about the first API into information about the second API; the second API is used to instruct the third node to implement the first network capability by calling the second API; the first node sends the information about the second API to the third node.
[0026] The result of calling the first network capability is obtained by the third node calling the second API. Specifically, the result of calling the first network capability is obtained by the third node calling the second API when the calling conditions are met.
[0027] In this implementation, considering the interoperability of multiple vendors and the evolution of multiple versions, the APIs applicable to the implementation of the first network capability in the first node and the third node may be different. Therefore, the first node converts the information of the first API received into the information of the second API that the third node can recognize and call, which can ensure that the third node can implement the first network capability by calling the second API.
[0028] In one possible implementation, the information of the first API includes one or more of the following: an identifier of the first API, calling parameters of the first API, and version information of the first API. The identifier of the first API may represent the first API being called and the first network capability being implemented; the calling parameters of the first API are the calling parameters used when calling the first API; and the version information of the first API represents the version information of the first API that implements the first network capability.
[0029] In one possible implementation, the information of the second API includes one or more of the following: an identifier of the second API, calling parameters of the second API, and version information of the second API. The identifier of the second API may represent the second API being called, as well as the first network capability being implemented. The calling parameters of the second API are the calling parameters used when calling the second API. The version information of the second API represents the version information of the second API that implements the first network capability.
[0030] Optionally, there is a conversion relationship between the information of the first API and the information of the second API.
[0031] In one possible implementation, when the first node selects a third node from multiple nodes capable of providing the first network capability based on filtering criteria, the first node can obtain network capability information of the multiple nodes; based on the network capability information of the multiple nodes, the first node determines multiple candidate nodes capable of providing the first network capability; and the first node selects a third node from the multiple candidate nodes based on the filtering criteria. In this implementation, the first node first filters candidate nodes capable of providing the first network capability, and then selects a third node to call the first API (or second API) based on the filtering criteria, thereby realizing the first network capability.
[0032] Optionally, after starting up or upgrading its version, the third node can update its open network capabilities and then send this information to the first node. The first node obtains the open network capabilities from multiple nodes and updates these capabilities, enabling flexible API definition and accessibility, and supporting diversity across vendors and versions.
[0033] In one possible implementation, network capability information may include information about the first network capability.
[0034] The information of the first network capability includes one or more of the following: information about a first API used to invoke the first network capability, information about a second API used to invoke the first network capability, the conversion relationship between the first API and the second API, and a set of invocation conditions, which includes invocation conditions. In this implementation, the conversion between the first API and the second API can be realized based on the information of the first network capability, and the first API or the second API can be invoked according to the invocation conditions to implement the first network capability, thereby facilitating the implementation of complex network capability requirements.
[0035] In one possible implementation, before the first node obtains network capability information opened by multiple nodes, the first node can also receive a network capability subscription request sent by the second node, which is used to subscribe to the first network capability.
[0036] The first node can also send information about the first API and a set of calling conditions to the second node, where the calling conditions are selected by the second node from the set of calling conditions.
[0037] In one possible implementation, the second node can select from multiple filtering criteria. Optionally, the multiple filtering criteria can be included in a set of calling conditions.
[0038] In this implementation, the second node can dynamically open API interfaces based on the network capability subscription requests of the first node, which is beneficial for fulfilling complex network capability requirements.
[0039] Secondly, an interface invocation method is provided, comprising the following process: a third node receives information about a first API and invocation conditions sent by a first node. The first API is used to instruct a node capable of providing a first network capability to implement the first network capability by invoking the first API. The third node is selected by the first node from multiple nodes capable of providing the first network capability according to filtering conditions, and the third node meets the filtering conditions. When the invocation conditions are met, the third node invokes the first API to obtain the invocation result of the first network capability. The third node sends the invocation result of the first network capability to the first node.
[0040] In one possible implementation, the invocation conditions include one or more of the following: the time when the third node invokes the first API; the number of times the third node invokes the first API; the time interval, period, start condition, and end condition of the third node invoking the first API; the identifier of the user who is allowed to receive services from the first network capability; and the location of the user who is allowed to receive services from the first network capability.
[0041] In one possible implementation, the filtering criteria include one or more of the following: the number of third nodes used to call the first API; the identifier of the third node used to call the first API; and the performance of the third node used to call the first API.
[0042] In one possible implementation, when the third node receives the information and invocation conditions of the first API sent by the first node, the third node may also receive the information and invocation conditions of the second API, which is used to instruct the node capable of providing the first network capability to implement the first network capability by invoking the second API.
[0043] In one possible implementation, when the third node calls the first API and obtains the result of the first network capability call when the calling conditions are met, the third node can also call the second API and obtain the result of the first network capability call when the calling conditions are met.
[0044] In one possible implementation, the information of the first API includes at least one or more of the following: the identifier of the first API, the calling parameters of the first API, and the version information of the first API.
[0045] In one possible implementation, the information of the second API includes one or more of the following: the identifier of the second API, the calling parameters of the second API, and the version information of the second API.
[0046] In one possible implementation, when a third node calls the second API when the calling conditions are met, the third node can determine to call the second API based on the met calling conditions; and call the second API using the calling parameters of the second API. Specifically, the third node can determine to call the second API when one or more of the following calling conditions are met: the time when the third node calls the first API, the number of times the third node calls the first API, or the time interval, period, start condition, and end condition of the third node calling the first API.
[0047] In one possible implementation, the third node can also send network capability information that the third node has enabled to the first node, including information about the first network capability.
[0048] The information of the first network capability includes one or more of the following: information of the first API used to implement the first network capability, information of the second API used to implement the first network capability, the conversion relationship between the first API and the second API, and a set of calling conditions, wherein the set of calling conditions includes calling conditions, and the calling conditions are selected by the second node from the set of calling conditions.
[0049] Thirdly, an interface invocation method is provided, comprising the following process: a second node sends an interface invocation request to a first node, the interface invocation request including information about a first API, filtering conditions, and invocation conditions, the first API being used to instruct nodes capable of providing first network capabilities to implement the first network capabilities by invoking the first API, the filtering conditions being used to select a third node from among multiple nodes capable of providing the first network capabilities, and the third node satisfying the filtering conditions; the second node receives the invocation result of the first network capability, the invocation result of the first network capability being obtained by the third node invoking the first API when the invocation conditions are met.
[0050] In one possible implementation, the invocation conditions include one or more of the following: the time when the third node invokes the first API; the number of times the third node invokes the first API; the time interval, period, start condition, and end condition of the third node invoking the first API; the identifier of the user who is allowed to receive services from the first network capability; and the location of the user who is allowed to receive services from the first network capability.
[0051] In one possible implementation, the filtering criteria include one or more of the following: the number of third nodes used to call the first API; the identifier of the third node used to call the first API; and the performance of the third node used to call the first API.
[0052] In one possible implementation, the second node can also receive a set of invocation conditions sent by the first node, and select invocation conditions from the set of invocation conditions.
[0053] In one possible implementation, the information of the first API includes at least one or more of the following: the identifier of the first API, the calling parameters of the first API, and the version information of the first API.
[0054] In one possible implementation, the information of the second API includes one or more of the following: the identifier of the second API, the calling parameters of the second API, and the version information of the second API.
[0055] In one possible implementation, the result of calling the first network capability is specifically obtained by the third node calling the second API when the calling conditions are met. The information of the second API is obtained by the first node based on the information of the first API. The second API is used to instruct the node that can provide the first network capability to implement the first network capability by calling the second API.
[0056] Fourthly, a communication device is provided, which can be a first node, a second node, or a third node, or a chip configured within a first node, a second node, or a third node. This communication device can implement the method provided in any of the preceding aspects.
[0057] The communication device includes modules, units, or means that implement the methods described above. These modules, units, or means can be implemented in hardware, software, or by hardware executing corresponding software. The hardware or software includes one or more modules or units corresponding to the functions described above.
[0058] Fifthly, a communication device is provided, including a transceiver unit. Optionally, the communication device further includes a processing unit. The communication device can implement the method provided in any one of these aspects.
[0059] A sixth aspect provides a communication device including a processor. The processor can be used to execute the methods provided by any of the above aspects or any implementation thereof. Optionally, the device further includes a memory, the processor being coupled to the memory, the memory storing computer programs or instructions, the processor being able to execute the programs or instructions in the memory such that the device can execute the methods provided by any of the above aspects or any implementation thereof.
[0060] In a seventh aspect, a communication device is provided, comprising an interface circuit and a logic circuit coupled to the interface circuit. The interface circuit may be a code / data read / write interface circuit, used to receive computer execution instructions (which are stored in memory, may be read directly from memory, or may be transmitted through other devices) and transmit them to the logic circuit, so that the logic circuit executes the computer execution instructions to perform the methods provided in any of the above aspects or any one of the above aspects.
[0061] In some possible designs, the communication device can be a chip or a chip system.
[0062] Eighthly, a communication device is provided, including a processor. The processor is coupled to a memory. The processor is used to read instructions stored in the memory and to receive signals via a receiver and transmit signals via a transmitter to execute the method provided in any one of the above aspects.
[0063] Optionally, there can be one or more processors, and there can also be one or more memories. Optionally, the memory can be integrated with the processor, or the memory can be set separately from the processor.
[0064] In the specific implementation process, the memory can be a non-transitory memory, such as read-only memory (ROM), which can be integrated with the processor on the same chip or set on different chips. This application does not limit the type of memory or the way the memory and processor are set.
[0065] The communication device can be a chip. The processor can be implemented in hardware or software. When implemented in hardware, the processor can be a logic circuit, integrated circuit, etc. When implemented in software, the processor can be a general-purpose processor that reads software code stored in memory. The memory can be integrated into the processor or located outside the processor and exist independently.
[0066] A ninth aspect provides a processor, comprising: an input circuit, an output circuit, and a processing circuit. The processing circuit is configured to receive signals through the input circuit and transmit signals through the output circuit, causing the processor to execute any of the above aspects or any one of the above aspects to implement the provided method.
[0067] In specific implementation, the processor can be a chip, the input circuit can be input pins, the output circuit can be output pins, and the processing circuit can be transistors, gate circuits, flip-flops, and various logic circuits. The input signal received by the input circuit can be received and input by, for example, but not limited to, a receiver, and the signal output by the output circuit can be, for example, but not limited to, output to and transmitted by a transmitter. Furthermore, the input circuit and the output circuit can be the same circuit, which is used as both the input circuit and the output circuit at different times. This application does not limit the specific implementation of the processor and various circuits.
[0068] A tenth aspect provides a communication device, comprising: logic circuitry and an input / output interface for communicating with a module outside the communication device; the logic circuitry for executing a computer program or instructions to perform the method provided by any of the designs in any of the preceding aspects. The communication device may be a first node, a second node, or a third node as described in any of the preceding aspects, or a device comprising the first node, the second node, or the third node, or a device included in the first node, the second node, or the third node, such as a chip.
[0069] Alternatively, the input / output interface can be a code / data read / write interface circuit or a communication interface, which is used to receive computer programs or instructions (the computer programs or instructions are stored in memory, may be read directly from memory, or may be transmitted through other devices) and transmit them to the input / output interface so that the input / output interface can run the computer programs or instructions to perform any of the methods described above.
[0070] Optionally, the communication device can be a chip.
[0071] Eleventhly, a computer program product is provided, comprising: a computer program (also referred to as code or instructions) that, when run, causes a computer to perform the method provided by any of the above-described aspects or any implementation of any of the above-described aspects.
[0072] In a twelfth aspect, a computer-readable medium is provided that stores a computer program (also referred to as code or instructions) that, when run on a computer, causes the computer to perform the methods provided by any of the above aspects or any implementation of any of the above aspects.
[0073] In a thirteenth aspect, a chip system is provided, comprising a processor and an interface for supporting a communication device in implementing the functions provided by any one of the aforementioned aspects or any of the implementations in one aspect. In one possible design, the chip system further includes a memory for storing necessary information and data of the aforementioned communication device. The chip system may be composed of chips or may include chips and other discrete devices.
[0074] In a fourteenth aspect, a chip device is provided, the chip device including an input interface and / or an output interface. The input interface can implement the receiving function provided by any one of the above aspects, and the output interface can implement the transmitting function provided by any one of the above aspects.
[0075] In a fifteenth aspect, a functional entity is provided for implementing the method provided by any one of the foregoing aspects or any one of the foregoing aspects.
[0076] In a sixteenth aspect, a communication system is provided, comprising a first node for implementing the method in the first aspect, a second node for implementing the method in the third aspect, and a third node for implementing the method in the second aspect.
[0077] The technical effects of implementing any of the second to sixteenth aspects are similar to those of the first aspect mentioned above, and will not be repeated here. Attached Figure Description
[0078] Figure 1 This is a schematic diagram of an open architecture for 4G network capabilities.
[0079] Figure 2 This is a schematic diagram of an open architecture for 5G network capabilities.
[0080] Figure 3 This is a schematic diagram of a network architecture applicable to an embodiment of this application;
[0081] Figure 4This is a schematic diagram of an interface call process applicable to an embodiment of this application;
[0082] Figure 5 This is a schematic diagram of an interface call process applicable to an embodiment of this application;
[0083] Figure 6 This is a schematic diagram of an interface call process applicable to an embodiment of this application;
[0084] Figure 7 This is a schematic diagram of an interface call process applicable to an embodiment of this application;
[0085] Figure 8 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application;
[0086] Figure 9 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application;
[0087] Figure 10 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application. Detailed Implementation
[0088] The technical solutions provided in this application can be applied to 5G networks, such as new radio (NR) networks, and also to future communication systems, such as 6G networks, and to 4G networks, such as long-term evolution (LTE) networks, LTE frequency division duplex (FDD) networks, and LTE time division duplex (TDD) networks.
[0089] 3GPP defines an open architecture for network capabilities, which provides APIs for third parties to access 3GPP networks, obtain network and user status, adjust and optimize network performance, and influence user behavior.
[0090] Reference Figure 1The diagram illustrates a 4G network capability open architecture. This architecture includes a Home Subscriber Server (HSS), a Policy and Charging Rules Function (PCRF), a Packet Filter Descriptions Function (PFDF), a Mobility Management Entity (MME), a Serving GPRS Support Node (SGSN), a Broadcast Multicast Service Center (BM-SC), a Serving-Call Session Control Function (S-CSCF), a Radio Access Network Congestion Awareness Function (RCAF), and other network entities. The HSS primarily stores mobile user subscription data. The PCRF is mainly responsible for charging management and policy control. The PFDF primarily pushes packet filter descriptions to the Policy and Charging Enforcement Function (PCEF) for packet inspection. The MME is primarily responsible for all control plane functions related to user mobility management and session management, including non-access stratum (NAS) signaling and security, management of the tracking area list (TA list), and selection of public data network (PDN) gateways (PGWs) and serving gateways (SGWs).
[0091] The 4G network capability open architecture also includes the service capability exposure function (SCEF), which is mainly responsible for providing APIs to third parties to access 3GPP network capabilities, obtain a series of network or mobile user statuses, or adjust and optimize network performance and influence user behavior.
[0092] Third-party application capability servers (SCS), application servers (AS), or application functions (AF) can only request access to 3GPP network capabilities through the T8 interface provided by SCEF. Third-party applications are unaware of the internal topology of the 3GPP network. Upon receiving a request from a third-party application, SCEF interacts with internal network elements of the 3GPP core network (such as HSS, PCRF, PFDF, etc.) to complete the end-to-end process.
[0093] The T8 interface is presented by a series of API capabilities. See Table 1 for a list of T8 interface API capabilities.
[0094] Table 1
[0095]
[0096]
[0097] The T8API interface in Table 1 above represents the Northbound API. The Northbound API refers to the API or message between internal network elements and external network elements of the 3GPP network, such as the interface between SCEF and third-party applications. The T8API can include the logical functions of the API when implemented. Similarly, SCEF also includes the MTC-interworking function (IWF) logical functions.
[0098] As 4G networks evolve to newer networks, such as 5G, network exposure functions (NEF) expose 5G network capabilities to third-party applications in the form of northbound APIs. (See reference...) Figure 2The diagram illustrates a 5G network capability open architecture. This architecture includes a unified data management (UDM) function, a policy control function (PCF) function, a core network access and mobility management (AMF) function, a session management (SMF) function, a network repository (NRF) function, and other network entities. The UDM is primarily responsible for user session management. The PCF is primarily responsible for issuing and adjusting policy and charging control (PCC) and quality of service (QoS) policy rules. The AMF is primarily responsible for user access and mobility management. The SMF is primarily responsible for user session management.
[0099] The 5G network capability open architecture group also includes NEF, which is mainly responsible for providing APIs to third parties to access 3GPP network capabilities, obtain a series of states of the network or mobile users, or adjust and optimize network performance and influence user behavior.
[0100] Third-party applications (SCS, AS, or AF) can only request access to 3GPP network capabilities through the Nnef / N33 interface provided by NEF. These applications are unaware of the internal topology of the 3GPP network. Upon receiving a request from a third-party application, NEF interacts with internal network elements of the 3GPP core network (such as UDM, PCF, AMF, etc.) to complete the end-to-end process.
[0101] The Nnef / N33 interface is presented by a series of API capabilities. See Table 2 for a list of Nnef / N33 interface API capabilities.
[0102] Table 2
[0103]
[0104]
[0105] Based on the above API capabilities, NEF supports the following independent functions:
[0106] 1. Abilities and events unlocked:
[0107] 1.1 3GPP NFs publish functions and events to other NFs through NEF. The capabilities and events exposed by an NF can be securely exposed to third-party applications.
[0108] 1.2NEF uses the standardized interface (Nudr) of the unified data repository (UDR) to store or retrieve structured data.
[0109] 2. Providing information to 3GPP network security from external applications:
[0110] The NEF provides a means for application functions to securely provide information to the 3GPP network, such as expected UE behavior information. The NEF can authenticate, authorize, or help limit application functions.
[0111] 3. Internal-to-external information translation:
[0112] The exchange information of AF is translated with the exchange information of internal network functions. For example, the AF-Service-Identifier is converted between internal 5G core information, such as data network name (DNN) and single network slice selection assistance information (S-NSSAI).
[0113] 4. NEF receives information from other (open functions based on other NFs):
[0114] NEF uses the standardized interface Nudr of UDR to store received information as structured data. This stored information can be accessed by NEF and used by other network functions and applications, such as for analysis.
[0115] 5. NEF can support packet flow description (PFD) functionality:
[0116] The PFD functionality in NEF allows you to store and retrieve PFDs in the UDR, as well as provide PFDs to the SMF.
[0117] The implementation of network capabilities may involve many conditions. Considering the complexity of interoperability among multiple vendors and the difficulty of evolving standard versions, the conditions for calling network capabilities are defined by standards, which have poor flexibility and cannot meet complex network capability requirements.
[0118] Therefore, this application provides an interface invocation scheme for implementing complex network capability requirements. The embodiments of this application will be described in detail below with reference to the accompanying drawings.
[0119] like Figure 3The diagram illustrates a network architecture applicable to an embodiment of this application, including network capability producers, capability opening control functions, and network capability consumers. Network capability producers are nodes within the 3GPP network, possessing network capability interfaces that can be directly or indirectly invoked externally. Specifically, network capability producers are internal network elements of the 3GPP core network, such as MME, SGW / PGW, and PCRF in 4G networks, and AMF, SMF, UPF, and PCF in 5G networks. Capability opening control functions can uniformly manage and control the network capability interfaces exposed by network capability producers, implementing functions such as topology masking, access control, security, and usage statistics. For example, the capability opening control function can be SCEF in a 4G network or NEF in a 5G network. Network capability consumers are nodes outside the 3GPP network, capable of discovering and invoking the network capability interfaces exposed by network capability producers. Specifically, network capability consumers are third-party applications, such as AF in 4G and 5G networks.
[0120] Specifically, network capability producers and capability openness control functions communicate via the Southbound API, which is used for data transmission between different network elements within the 3GPP network. Capability openness control functions and network capability consumers communicate via the Northbound API, which is used for data transmission between network elements within the 3GPP network and network elements outside the 3GPP network.
[0121] Furthermore, it should be understood that the ordinal numbers such as "first" and "second" mentioned in the embodiments of this application are used to distinguish multiple objects, and are not used to limit the size, content, order, timing, priority, or importance of multiple objects. For example, the first threshold and the second threshold can be the same threshold or different thresholds, and such names do not indicate that the values, corresponding parameters, priorities, or importance of the two thresholds are different.
[0122] In this application embodiment, the number of nouns, unless otherwise specified, refers to "singular nouns or plural nouns," that is, "one or more." "At least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, or B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the related objects before and after are in an "or" relationship. For example, A / B means: A or B. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c means: a, b, c, a and b, a and c, b and c, or a and b and c, where a, b, and c can be single or multiple.
[0123] Figure 4 A schematic diagram of an interface calling method provided in an embodiment of this application includes the following steps:
[0124] S401: The second node sends an interface call request to the first node, and the second node receives the interface call request.
[0125] The interface call request includes information about the first API, filtering conditions, and calling conditions. The first API is used to instruct nodes that can provide the first network capability to implement the first network capability by calling the first API. The filtering conditions are used to select a third node from among multiple nodes that can provide the first network capability, and the third node meets the filtering conditions.
[0126] As one implementation method, the second node is a network capability consumer, the first node is a capability opening control function, and the first API is a northbound API.
[0127] S402: The first node selects a third node from among multiple nodes that can provide the first network capability according to the filtering criteria.
[0128] S403: The first node sends the information and calling conditions of the first API to the third node, and the third node receives the information and calling conditions of the first API.
[0129] As one implementation method, the first node is the capability opening control function, and the third node is the network capability producer.
[0130] S404: The third node sends the result of the call to the first network capability to the first node, and the first node receives the result of the call to the first network capability.
[0131] The result of calling the first network capability is obtained by the third node calling the first API when the calling conditions are met.
[0132] S405: The first node sends the result of the first network capability call to the second node.
[0133] Based on the above scheme, the interface call request sent by the second node carries filtering conditions and calling conditions. The filtering conditions can select the third node from multiple nodes that provide the first network capability. When the calling conditions are met, the third node can call the first API to realize the first network capability and obtain the calling result of the first network capability. It is suitable for the complexity of multi-vendor interoperability and the evolution of multiple versions. It does not depend on standard implementation and can realize complex network capability requirements.
[0134] Optionally (e.g., before S401, or in S402), the first node can obtain network capability information opened by the third node. For example, the first node sends a network capability subscription request to the third node to subscribe to a first network capability. After receiving the subscription request, the third node sends its open network capability information to the first node, thus enabling the first node to obtain the open network capability information of the third node. In another example, the third node sends its open network capability information to the first node after updating its open network capabilities. The network capability information includes information about at least one network capability, where at least one network capability includes the aforementioned first network capability. The network capability information includes one or more of the following: node information, information about a first API for calling the first network capability, information about a second API for calling the first network capability, the conversion relationship between the first API and the second API, and a set of calling conditions, which includes filtering conditions and / or calling conditions. By adding call condition sets, information on the first API, and information on the second API to the network capability information, the interface functions exposed by the third node are made more powerful, which can adapt to a variety of flexible business scenarios. Furthermore, the conversion relationship between the information on the first API and the second API is more conducive to the differentiated handling of different APIs, which is suitable for multi-vendor interoperability and multi-version evolution. It also supports flexible exposure of APIs without requiring hard coding on all nodes in the network, which is conducive to the flexible implementation of network capabilities.
[0135] Node information (NF info) can be the node information of network capability producers, that is, information that can identify network capability producers within the 3GPP network. It indicates that the network capability producer of this node information can be identified through the first network capability, such as the network capability producer's IP address, uniform resource locator (URL), or fully qualified domain name (FQDN).
[0136] Call conditions refer to the conditions that must be met before calling the first API (or second API) within a 3GPP network to determine whether a call is allowed. In other words, a call is allowed if the conditions are met, and not allowed if the conditions are not met. Call conditions can include one or more of the following: user information conditions, location information conditions, time information conditions, or execution policy conditions. User information conditions refer to the identifiers of users allowed to receive services from the first network capability, such as the user's IP address or identifier, or a range of IP addresses or identifiers. User information can be a single user or a group of user information. User identifiers can be MSISDN, IMSI, SUPI, SUCI, or GUTI, etc. Location information conditions refer to the location of users allowed to receive services from the first network capability, such as TA and / or cell. Time information conditions refer to the time when the third node or the first node calls the first API (or second API), i.e., the date and time information allowed for execution. Time types can include one or more of the following: DATETIME, DATE, TIMESTAMP, or TIME. Execution strategy conditions refer to information that affects the execution strategy, such as the number of times, time intervals, periods, start conditions, or end conditions of the third or first node calling the first API (or second API).
[0137] Filtering conditions, also known as execution object selection conditions, refer to other information (i.e., filtering conditions) that influence the selection of network capability producers. Specifically, they are used to select one or more third nodes from among multiple nodes capable of providing the first network capability. Filtering conditions may include, but are not limited to, one or more of the following: the number of third nodes used to call the first API; the identifier of the third nodes used to call the first API; and the performance of the third nodes used to call the first API. For example, the identifier of the third node used to call the first API can be the node information mentioned above. For instance, filtering conditions may include selecting all nodes, selecting any nodes, or selecting a set number of nodes. The set number is a positive integer. For example, the call condition set includes multiple filtering conditions. The second node selects a filtering condition from these multiple filtering conditions. The call conditions may include filtering conditions or may not include filtering conditions. As another example, the first node can determine the nodes that need to provide the first network capability to the first node based on its own call requirements and include the information of the determined nodes in the filtering conditions.
[0138] It is worth noting that the above-mentioned invocation conditions can be used by the capability opening control function or by network capability producers. For example, user information type conditions and location information type conditions are generally used by network capability producers, while other conditions besides user information type conditions and location information type conditions can be used by both the capability opening control function and network capability producers. For instance, in the above S402, the first node obtains network capability information opened by multiple nodes; based on the network capability information opened by multiple nodes, the first node determines multiple candidate nodes that can provide the first network capability from among the multiple nodes capable of providing the first network capability; the first node selects a third node from among the multiple candidate nodes based on the filtering conditions (or the nodes in the invocation conditions).
[0139] As one implementation, in S403 above, the first node converts the information from the first API into information from the second API; the second API is used to instruct the third node to implement the first network capability by calling the second API; the first node sends the information from the second API to the third node. Specifically, the result of calling the first network capability is obtained by the third node calling the second API. For example, the second API is a southbound API.
[0140] The information for the first API includes one or more of the following: the identifier of the first API, the calling parameters of the first API, and the version information of the first API. The identifier of the first API can identify an internal API that can be called within the 3GPP network, such as a RESTful API in the form of a Uniform Resource Identifier (URI). The version information of the first API refers to the version number of the first API that can be called within the 3GPP network. The calling parameters of the first API refer to the API parameters carried when calling the first API within the 3GPP network. The information for the second API includes one or more of the following: the identifier of the second API, the calling parameters of the second API, and the version information of the second API. The identifier of the second API can identify an external API that can be called outside the 3GPP network, such as a RESTful interface in the form of a URI. Optionally, the information of the second API can be derived from the first API; the second API can be the same as the first API, or the second API can be obtained by modifying and editing the first API through capability openness control functions. The version information of the second API refers to the version number of the second API that can be called outside the 3GPP network. The calling parameters of the second API refer to the API parameters carried when calling the second API outside the 3GPP network. Here, different APIs are distinguished by version, calling parameters, etc., which makes it easier for the first node to handle different APIs differently, and is conducive to interoperability among multiple vendors and the evolution of multiple versions.
[0141] The conversion relationship between the first API and the second API is used to convert between them when they are invoked. For example, if the first API and the second API are the same, they can be used directly. Another example is a mapping between the first API and the second API using an index; for instance, if the first API is a / b / c, it can be converted to the second API 1 / 2 / 3 according to the order. Yet another example is a conversion between the first API and the second API based on configured calculation logic. Still another example is a conversion between the first API and the second API using external information, such as the conversion service provided by NRF.
[0142] Before step S401 above (optionally, after the first node obtains the network capability information opened by the third node), the first node can also send a set of invocation conditions to the second node. The invocation conditions are selected by the second node from this set. As one implementation, before obtaining the network capability information opened by the third node, the first node receives a network capability subscription request sent by the second node. This request is used to subscribe to a first network capability. The invocation conditions sent to the second node can be seen as information about the first network capability subscribed to by the second node. Subsequently, the second node can, based on this information, request to call the first API of the first network capability according to its own needs, and select invocation conditions and filtering conditions from the set of invocation conditions (when the set includes filtering conditions).
[0143] For example, the information of the first network capability includes the version number of the first API (e.g., the API includes a paging-optimized URI, which contains the version number), the set of calling conditions (e.g., TA =
[100] , node object = any (anyone) or all (all)), and the calling parameters of the first API (e.g., priority includes high, medium or low). In the above S401, the interface calling request sent by the second node includes the version number of the first API (e.g., the API includes a paging-optimized URI, which contains the version number), the calling conditions (e.g., TA =
[100] , node object = all), and the calling parameters of the first API (e.g., priority = high). That is to say, the calling conditions and calling parameters have been instantiated as specific values by the second node.
[0144] Optionally, the first node can also determine whether to call the first API based on the information of the first API and / or the calling conditions, and determine the selected third node based on the filtering conditions. Taking the above example again, the interface call request includes the first API and version number (e.g., the API includes a paging optimized URI, which contains the version number), calling conditions (e.g., TA =
[100] ), filtering conditions (e.g., node object = all), and calling parameters of the first interface (e.g., priority = high). The first node can query the list of network capability producers that support the first network capability, and decide to call all network capability producers in the list based on the node object = all in the filtering conditions. That is, multiple candidate nodes that can provide the first network capability will all be used as the third node.
[0145] As one implementation, after S403 and before S404, the third node can invoke the first API when the invocation conditions are met to obtain the invocation result of the first network capability. Specifically, the third node invokes the second API when the invocation conditions are met to obtain the invocation result of the first network capability. The second API is obtained by the first node based on the first API. For example, the third node determines to invoke the second API when the invocation conditions are met (such as one or more of the time, number of times, time interval, period, start condition, or end condition included in the invocation conditions), and the third node invokes the second API using the invocation parameters of the second API. Again, using the above example, the third node executes the paging optimized URI based on the invocation parameters of the second API (such as priority = 1).
[0146] The result of the first network capability call includes the call status, i.e., whether the call was successful or failed. Optionally, the result of the first network capability call is carried in the interface call response.
[0147] The embodiments of this application are described below with reference to specific examples. Figure 5 Here is an example diagram of the API call process, which includes the following steps:
[0148] S501: Network capability consumers send northbound network capability subscription information to the capability openness control function.
[0149] The northbound network capability subscription information can be carried in the Subscribe_Event_operation message. Northbound network capability refers to the invocation of the first network capability through the northbound API.
[0150] In 4G networks, the capability openness control function can include the SCEF / common API framework (CAPIF). CAPIF is an architecture in the 3GPP standard that defines the registration and publication methods for network capability interfaces, involving the definition of northbound APIs between the network openness control function and network capability consumers.
[0151] In 5G networks, capability open control functions can include NEF / CAPIF and NRF.
[0152] S502: Capability Opening Control function generates a list of subscribers for northbound network capability publishing.
[0153] For example, the northbound network capability subscription information includes a list of subscribers for the northbound network capability publication.
[0154] In another example, the capability openness control function is configured with a list of subscribers for northbound network capability publishing, in which step S501 above is optional.
[0155] S503: Network capability producers update their own network capabilities.
[0156] Once network capability producers start operation or upgrade their versions, they can make their network capabilities available to the outside world, thereby updating their own network capabilities.
[0157] S504: Network capability producers send network capabilities that they have made available to the outside world to the capability openness control function.
[0158] In 5G networks, network capability producers can notify NEF / CAPIF of their open network capabilities through NRF subscription and publication, or they can directly notify NEF / CAPIF of their open network capabilities. For example, a network capability producer sends a Network Function Registration (NFRegister) message to the NRF. The NFRegister message includes the network capability producer's node information (NF info), the version of the southbound API, the call parameters of the southbound API, the version of the northbound API, the call parameters of the northbound API, the conversion relationship between the southbound and northbound APIs, and the set of call conditions. The NRF records the network capabilities opened by the network capability producer. The NRF also sends a Network Function Notification (NFCapNotify) message to NEF / CAPIF. The NFCapNotify message includes the NF info, the version of the southbound API, the call parameters of the southbound API, the version of the northbound API, the call parameters of the northbound API, the conversion relationship between the southbound and northbound APIs, and the set of call conditions.
[0159] S505: Capability Opening Control Function records the network capabilities of network capability producers.
[0160] That is, the capability open control function records (or stores) NF info, including the version of the southbound API, the call parameters of the southbound API, the version of the northbound API, the call parameters of the northbound API, the conversion relationship between the southbound API and the northbound API, and the set of call conditions.
[0161] S506: The Capability Opening Control function sends northbound API information of network capabilities to network capability consumers.
[0162] Northbound API information includes the version of the northbound API, the set of API call conditions, and the call parameters of the northbound API. In this example, the capability exposure function also sends northbound API information to network capability consumers.
[0163] Northbound API information can be carried in the Publish Service API (Publish_Service_API) message.
[0164] S507: Network capability consumers call northbound APIs.
[0165] The message invoking the northbound API carries information such as the API call conditions and the call parameters of the northbound API. The API call conditions are selected from the API call condition set. In this example, the filtering conditions that the capability openness control function meets when selecting network capability producers, as well as the call conditions that network capability producers meet when calling the API, are both carried in the API call conditions.
[0166] S508: The capability opening function selects a list of executable network capability producers based on the calling conditions, and converts the northbound API to the southbound API according to the conversion relationship between the southbound API and the northbound API.
[0167] The capability opening control function can also determine whether to make an interface call based on the calling conditions, and after determining to make an interface call, select the list of executable network capability producers.
[0168] S509: If it is determined that no interface call will be made, the capability openness control function sends a response to the northbound network capability interface call to the network capability consumer.
[0169] The response to the API call includes the call status (e.g., failure) and the reason for the failure.
[0170] S510: Capability opening control function calls southbound API.
[0171] The message that invokes the southbound API carries information such as the API invocation conditions and the southbound API invocation parameters.
[0172] S511: Network capability producers determine whether to make an interface call based on the calling conditions.
[0173] S512: If it is determined that no interface call will be made, the network capability producer sends an interface call response for the southbound network capability to the capability opening control function.
[0174] The response to this API call includes the call status (e.g., failure) and the reason for failure. Southbound network capabilities refer to calling the first network capability via the southbound API.
[0175] S513: The Capability Opening Control function sends the interface call response for northbound network capabilities to the network capability consumer.
[0176] The response to the API call includes the call status (e.g., failure) and the reason for the failure.
[0177] S514: Network capability producers execute policy-based conditions and use call parameters to execute southbound APIs.
[0178] S515: The network capability producer sends an interface call response for the southbound network capability to the capability openness control function.
[0179] The response to this API call includes the call status (such as success or failure) and a reason value.
[0180] S516: The Capability Opening Control function sends the interface call response for northbound network capabilities to the network capability consumer.
[0181] The response to this API call includes the call status (such as success or failure) and a reason value.
[0182] refer to Figure 6 This diagram illustrates an interface call process in a 5G network capability open architecture. Network capability producers can be NFs such as AMF, SMF, UPF, PCF, and UDM; AMF is used as an example here. Capability open control functions can be NEF / CAPIF and NRF, and network capability consumers can be third-party applications such as AF. The interface call process includes the following steps:
[0183] S601: AF sends a Subscribe_Event_operation message to NEF / CAPIF. The Subscribe_Event_operation message includes northbound network capability subscription information.
[0184] S602: NEF / CAPIF sends an NFCapSubs message to NRF, which includes northbound network capability subscription information.
[0185] S603: AMF updates its own network capabilities.
[0186] After AMF starts running or after a version upgrade, it implements paging-optimized network capabilities, thereby updating its own network capabilities.
[0187] S604: The AMF sends an NFRegister message to the NRF. The NFRegister message includes the AMF's NF info, the version of the southbound API, the call parameters of the southbound API, the version of the northbound API, the call parameters of the northbound API, the conversion relationship between the southbound API and the northbound API interfaces, and the set of call conditions.
[0188] The version of the Southbound API includes the paging optimized URI, which contains a version number. The call parameters of the Southbound API include priority, which includes 1, 2, and 3.
[0189] The version of the northbound API includes the paging optimized URI, which contains a version number. The call parameters of the northbound API include priority, which can be high, medium, or low.
[0190] The conversion relationship between the southbound and northbound APIs includes mapping via indexes.
[0191] The call condition set includes TA =
[100] , and the node object includes anyone or all, etc. In this example, the call condition set includes the filtering conditions that the capability opening control function must meet when selecting network capability producers, and the call conditions that network capability producers must meet when calling the API.
[0192] S605: NRF records NFRegister messages.
[0193] S606: NRF sends an NFCapNotify message to NEF / CAPIF. The NFCapNotify message includes AMF's NFinfo, the version of the southbound API, the call parameters of the southbound API, the version of the northbound API, the call parameters of the northbound API, the conversion relationship between the southbound API and the northbound API, and the set of call conditions.
[0194] S607: NEF / CAPIF records NFCapNotify messages.
[0195] S608: Based on the information in S601, NEF / CAPIF sends a Publish_Service_API message to AF. The Publish_Service_API message includes the version of the northbound API, the call parameters of the northbound API, the set of call conditions, etc.
[0196] S609: AF calls the northbound API.
[0197] The message that calls the northbound API carries information such as API call conditions and northbound API call parameters. The API call conditions include TA =
[100] , node object = all, and the call parameters include priority = high. Compared to S608, the call conditions and call parameters carried in this message have been instantiated with specific values.
[0198] S610: NEF / CAPIF determines to make an interface call. Based on the information recorded in S607, it queries the list of AMFs that support network capabilities, and determines to call all AMFs based on node object = all, and converts the northbound API to the southbound API.
[0199] Specifically, NEF / CAPIF uses indexes to map and convert the call parameters of the northbound API (priority = high) into the call parameters of the southbound API (priority = 1).
[0200] S611: NEF / CAPIF calls the southbound API.
[0201] The message that calls the southbound API carries information such as API call conditions and southbound API call parameters. The API call conditions include TA =
[100] , node object = all, and call parameters include priority = 1.
[0202] S612: AMF determines to make an interface call.
[0203] All AMFs that receive messages calling the southbound API will make a judgment based on the condition TA=
[100] in the call conditions. That is, AMFs involving TA=100 will determine whether to make an interface call.
[0204] S613: AMF executes paging optimized URI based on the call parameters of the southbound API (i.e., priority = 1).
[0205] The AMF refers to the AMF that is determined in S612 for making interface calls.
[0206] S614: AMF sends an interface call response for southbound network capabilities to NEF / CAPIF.
[0207] The response to this API call includes a success status.
[0208] S615: NEF / CAPIF sends an interface call response for northbound network capabilities to AF.
[0209] The response to this API call includes a success status.
[0210] This example illustrates the successful interface call under a 5G network. In this example, the NRF mechanism dynamically opens interfaces, enabling flexible interface definition and agile opening. The NRF mechanism also enables flexible network capability updates for the NF, supporting diversity. Furthermore, by defining the conditions and parameters for opening network capability interfaces using NF customization, it allows for free support of complex conditions and parameters, thus fulfilling complex interface call requirements.
[0211] refer to Figure 7 This diagram illustrates an interface call process in a 4G network capability open architecture. The network capability producer can be network elements such as MME, SGW, PGW, PCRF, and HSS. Here, we use MME as an example. The capability open function can be SCEF / CAPIF, and the network capability consumer can be a third-party application such as AF. The interface call process includes the following steps:
[0212] S701: AF sends a Subscribe_Event_operation message to SCEF / CAPIF. The Subscribe_Event_operation message includes northbound network capability subscription information.
[0213] S702: MME updates its own network capabilities.
[0214] After MME starts running or is upgraded, it implements paging-optimized network capabilities.
[0215] S703: The MME sends a NECapNotify message to SCEF / CAPIF. The NECapNotify message includes the MME's NEinfo, NECapList, the version of the southbound API, the call parameters of the southbound API, the version of the northbound API, the call parameters of the northbound API, the conversion relationship between the southbound API and the northbound API, and the set of call conditions.
[0216] The versions of the southbound API, the versions of the northbound API, the conversion relationship between the southbound API and the northbound API, and the set of calling conditions are the same as those in S604 above, and will not be repeated here.
[0217] S704: SCEF / CAPIF records the NECapNotify message.
[0218] S705: Based on the information in S701, SCEF / CAPIF sends a Publish_Service_API message to AF. The Publish_Service_API message includes the version of the northbound API, the call parameters of the northbound API, the set of call conditions, etc.
[0219] S706: AF calls the northbound API.
[0220] S706 is similar to S608 above, and the repetitions will not be repeated.
[0221] S707: SCEF / CAPIF determines to make an interface call. Based on the information recorded in S704, it queries the list of MMEs that support network capabilities, and determines to call all MMEs based on node object = all, and converts the northbound API to the southbound API.
[0222] S708: SCEF / CAPIF calls the southbound API.
[0223] S711 is similar to S612 above, and the repetitions will not be repeated.
[0224] S709: MME determines to make an interface call.
[0225] S709 is similar to S612 above, and the repetitions will not be repeated.
[0226] S710: The MME executes the paging optimized URI based on the call parameters of the southbound interface (i.e., priority = 1).
[0227] S711: The MME sends an interface call response for southbound network capabilities to SCEF / CAPIF.
[0228] For example, if the MME fails to execute due to insufficient resources, the interface call response includes a call status of failure and a reason value of insufficient resources.
[0229] S712: SCEF / CAPIF sends an interface call response for northbound network capabilities to the AF.
[0230] For example, the API call response includes a call status of failure and a reason value of insufficient resources.
[0231] This example illustrates the issue using a failed interface call under a 4G network. In this example, the SCEF mechanism dynamically opens interfaces, enabling flexible interface definition and agile opening. The SCEF mechanism also allows for flexible network capability updates for the NE, supporting diversity. Furthermore, by defining the conditions and parameters for the NE's custom network capability opening interfaces, it enables free support for complex conditions and parameters, thus fulfilling complex interface call requirements.
[0232] Based on the same technical concept as the above-described interface calling method, embodiments of this application also provide a communication device, such as... Figure 8As shown, the communication device 800 includes a processing unit 801 and a transceiver unit 802. The optional transceiver unit 802 can perform functions implemented by a communication interface, and the transceiver unit may include a receiving unit and / or a sending unit. The communication device 800 can be applied to a first node, a second node, or a third node, or located within a first node, a second node, or a third node. The communication device 800 can be used to implement the methods described in the above method embodiments; for example, the communication device 800 can perform the above... Figure 3 , Figure 4 , Figure 5 , Figure 6 , Figure 7 The steps in the method are executed by the first node, the second node, or the third node.
[0233] In one possible embodiment, the communication device 800 is applied to the first node. For example, the transceiver unit 802 is used to receive an interface call request sent by the second node. The interface call request includes information about a first API, filtering conditions, and call conditions. The first API is used to instruct a node capable of providing a first network capability to implement the first network capability by calling the first API. The filtering conditions are used to select a third node from among the multiple nodes capable of providing the first network capability, and the third node meets the filtering conditions. The processing unit 801 is used to select a third node from among the multiple nodes capable of providing the first network capability according to the filtering conditions. The transceiver unit 802 is also used to send the first API information and call conditions to the third node; receive the call result of the first network capability sent by the third node, the call result of the first network capability being obtained by the third node calling the first API when the call conditions are met; and send the call result of the first network capability to the second node.
[0234] In one implementation, the invocation conditions include one or more of the following: the time when the third node calls the first API; the number of times the third node calls the first API; the time interval, period, start condition, and end condition of the third node calling the first API; the identifier of the user who is allowed to receive services from the first network capability; and the location of the user who is allowed to receive services from the first network capability.
[0235] In one implementation, the processing unit 801 is further configured to convert the information of the first API into the information of the second API; the second API is used to instruct the third node to implement the first network capability by calling the second API;
[0236] The transceiver unit 802 is specifically used to send information about the second API to the third node; the result of the first network capability call is obtained by the third node calling the second API when the call conditions are met.
[0237] In one implementation, the information of the first API includes one or more of the following: the identifier of the first API, the calling parameters of the first API, and the version information of the first API;
[0238] The information for the second API includes one or more of the following: the identifier of the second API, the calling parameters of the second API, and the version information of the second API.
[0239] In one implementation, the processing unit 801 is specifically used to obtain network capability information of multiple nodes; determine multiple candidate nodes that can provide the first network capability among the multiple nodes based on the network capability information of multiple nodes; and select a third node among the multiple candidate nodes according to the filtering criteria.
[0240] In one implementation, the transceiver unit 802 is also used to receive a network capability subscription request sent by the second node, the network capability subscription request being used to subscribe to the first network capability.
[0241] In one implementation, the information of the first network capability includes one or more of the following: information of a first API for calling the first network capability, information of a second API for calling the first network capability, the conversion relationship between the first API and the second API, and a set of calling conditions, the set of calling conditions including calling conditions.
[0242] In one implementation, the transceiver unit 802 is also used to send a set of calling conditions to the second node, wherein the calling conditions are selected by the second node from the set of calling conditions.
[0243] In one possible embodiment, the communication device 800 is applied to a third node. For example, the transceiver unit 802 is used to receive information about a first API and calling conditions sent by the first node. The first API is used to instruct a node capable of providing a first network capability to implement the first network capability by calling the first API. The third node is selected by the first node from multiple nodes capable of providing the first network capability according to filtering conditions, and the third node meets the calling conditions. The processing unit 801 is used to call the first API when the calling conditions are met to obtain the calling result of the first network capability. The transceiver unit 802 is also used to send the calling result of the first network capability to the first node.
[0244] In one implementation, the invocation conditions include one or more of the following: the time when the third node calls the first API; the number of times the third node calls the first API; the time interval, period, start condition, and end condition of the third node calling the first API; the identifier of the user who is allowed to receive services from the first network capability; and the location of the user who is allowed to receive services from the first network capability.
[0245] In one implementation, the transceiver unit 802 is specifically used to receive information and calling conditions of the second API, which instructs nodes capable of providing the first network capability to implement the first network capability by calling the second API.
[0246] In one implementation, the processing unit 801 is specifically used to call the second API according to the calling conditions to obtain the calling result of the first network capability.
[0247] In one implementation, the information of the first API includes at least one or more of the following: the identifier of the first API, the calling parameters of the first API, and the version information of the first API;
[0248] The information for the second API includes one or more of the following: the identifier of the second API, the calling parameters of the second API, and the version information of the second API.
[0249] In one implementation, the processing unit 801 is specifically used to determine when to call the second API when the calling conditions are met; and to call the second API using the calling parameters of the second API.
[0250] In one implementation, the transceiver unit 802 is further configured to send network capability information opened by the third node to the first node, the network capability information including information about the first network capability.
[0251] The information of the first network capability includes one or more of the following: information of the first API used to implement the first network capability, information of the second API used to implement the first network capability, the conversion relationship between the first API and the second API, and a set of calling conditions, which includes calling conditions.
[0252] In one possible embodiment, the communication device 800 is applied to the second node. The processing unit 801 is configured to generate an interface call request, which includes information about a first API, filtering conditions, and calling conditions. The first API instructs a node capable of providing a first network capability to implement that capability by calling the first API. The filtering conditions are used to select a third node from among the multiple nodes capable of providing the first network capability, and the third node satisfies the filtering conditions. The transceiver unit 802 is configured to send the interface call request to the first node and receive the call result of the first network capability, which is obtained by the third node calling the first API when the calling conditions are met.
[0253] In one implementation, the invocation conditions include one or more of the following: the time when the third node calls the first API; the number of times the third node calls the first API; the time interval, period, start condition, and end condition of the third node calling the first API; the identifier of the user who is allowed to receive services from the first network capability; and the location of the user who is allowed to receive services from the first network capability.
[0254] In one implementation, the transceiver unit 802 is also used to receive the set of calling conditions sent by the first node;
[0255] The processing unit 801 is also used to select a calling condition from the set of calling conditions.
[0256] In one implementation, the information of the first API includes at least one or more of the following: the identifier of the first API, the calling parameters of the first API, and the version information of the first API.
[0257] In one implementation, the result of calling the first network capability is obtained by the third node calling the second API when the calling conditions are met. The information of the second API is obtained by the first node based on the information of the first API. The second API is used to instruct the node that can provide the first network capability to implement the first network capability by calling the second API.
[0258] It should be noted that the module division in the embodiments of this application is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods. Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, exist as separate physical units, or have two or more units integrated into one unit. The integrated units can be implemented in hardware or as software functional units. For example, a transceiver unit may include a receiving unit and / or a transmitting unit.
[0259] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the integrated unit can be stored in a storage medium as a computer software product, including several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the methods of the various embodiments of this application.
[0260] like Figure 9 As shown in the diagram, this application also provides a structural schematic of a communication device 900. The device 900 can be used to implement the methods described in the above method embodiments, as can be seen in the descriptions in the above method embodiments. For example, the communication device 900 can perform the above... Figure 3 , Figure 4 , Figure 5 , Figure 6 , Figure 7 The steps in the method are executed by the first node, the second node, or the third node.
[0261] The device 900 includes one or more processors 901. The processor 901 can be a general-purpose processor or a dedicated processor, such as a baseband processor or a central processing unit (CPU). The baseband processor can be used to process communication protocols and communication data, while the CPU can be used to control the communication device (e.g., a base station, terminal, or chip), execute software programs, and process data from the software programs. The communication device may include a transceiver unit for inputting (receiving) and outputting (transmitting) signals. For example, the transceiver unit can be a transceiver, an RF chip, etc.
[0262] The apparatus 900 includes one or more processors 901, which can implement the methods in the embodiments shown above. Optionally, in addition to implementing the methods in the embodiments shown above, the processors 901 can also implement other functions.
[0263] In one design, processor 901 can execute instructions that cause device 900 to perform the methods described in the above method embodiments. The instructions may be stored wholly or partially within processor 901, such as instruction 903 being wholly or partially stored in processor 901, or instruction 903 being stored in processor 901 and instruction 904 being stored in memory 902 coupled to the processor. Processor 901 can simultaneously execute instructions 903 and 904 to cause device 900 to perform the methods described in the above method embodiments. Instructions 903 and 904 are also referred to as computer programs.
[0264] In another possible design, the communication device 900 may also include circuitry that can perform the functions described in the aforementioned method embodiments.
[0265] In another possible design, device 900 may include one or more memories 902 storing instructions 904, which can be executed on processor 901 to cause device 900 to perform the methods described in the above method embodiments. Optionally, memory 902 may also store data. Processor 901 may also optionally store instructions and / or data. For example, one or more memories 902 may store the correspondences described in the above embodiments, or related parameters or tables involved in the above embodiments. The processor and memory may be configured separately or integrated together.
[0266] In another possible design, device 900 may also include transceiver 905 and antenna 906. Processor 901, which may be called processing unit, controls the device (terminal or base station). Transceiver 905, which may be called transceiver, transceiver circuit, or transceiver unit, is used to realize the device's transmission and reception functions through antenna 906.
[0267] The processor can be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), one or more integrated circuits for controlling the execution of the program in this application, a general-purpose processor, a digital signal processor (DSP), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or can be executed by a combination of hardware and software modules in the decoding processor. The software modules can be stored in a storage medium located in memory.
[0268] The memory can be volatile or non-volatile, or a combination of both. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced SDRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), and Direct Rambus RAM (DR RAM). It should be noted that the memory in the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory. The memory may be standalone and connected to the processor via communication lines. The memory may also be integrated with the processor.
[0269] This application also provides a computer-readable medium storing a computer program thereon, which, when executed by a computer, implements the interface calling method of any of the above method embodiments.
[0270] This application also provides a computer program product, including a computer program that, when executed by a computer, implements the interface calling method of any of the above method embodiments.
[0271] This application also provides a communication system, including a first node, a second node, and a third node. The first node, second node, and third node can implement the communication method of any of the above-described method instances.
[0272] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. A computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, all or part of the flow or function according to the embodiments of this application is generated. The computer can be the communication device described above. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. The computer-readable storage medium can be the storage medium or the memory described above.
[0273] In one possible design, when the aforementioned communication device is a chip, such as a chip in a network device, or a chip in a terminal device, the determining unit or processor 901 can be one or more logic circuits, and the transmitting unit, receiving unit, or transceiver 905 can be an input / output interface, or a communication interface, or an interface circuit, or interface, etc. Alternatively, the transceiver 905 can also be a transmitting unit and a receiving unit, where the transmitting unit can be an output interface and the receiving unit can be an input interface, integrated into one unit, such as an input / output interface. Figure 10 As shown, Figure 10 The communication device shown includes a logic circuit 1001 and an interface circuit 1002. That is, the aforementioned determining unit or processor 901 can be implemented using the logic circuit 1001, and the transmitting unit, receiving unit, or transceiver 905 can be implemented using the interface circuit 1002. The logic circuit 1001 can be a chip, processing circuit, integrated circuit, or system-on-chip (SoC) chip, etc., and the interface circuit 1002 can be a communication interface, input / output interface, etc. In this embodiment, the logic circuit and the interface circuit can also be coupled to each other. The specific connection method of the logic circuit and the interface circuit is not limited in this embodiment.
[0274] In some embodiments of this application, the logic circuit 1001 and the interface circuit 1002 can be used to perform the functions or operations described above for network functions or control plane functions. The interface circuit 1002 can be used to receive signals from other communication devices besides the communication device 1000 and transmit them to the logic circuit 1001, or to send signals from the logic circuit 1001 to other communication devices besides the communication device 1000. The logic circuit 1001 can execute code instructions to implement any of the above method embodiments.
[0275] For example, the interface circuit 1002 is used to receive an interface call request sent by the second node. The functions or operations performed by the communication device can be referred to the foregoing method embodiments, and will not be repeated here.
[0276] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this application.
[0277] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0278] In the embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the couplings or direct couplings or communication connections shown or discussed may be indirect couplings or communication connections through some interfaces, apparatuses, or units, or they may be electrical, mechanical, or other forms of connection.
[0279] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of the embodiments of this application, depending on actual needs.
[0280] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0281] From the above description of the embodiments, those skilled in the art will clearly understand that this application can be implemented in hardware, firmware, or a combination thereof. When implemented in software, the above functions can be stored in a computer-readable medium or transmitted as one or more instructions or code on a computer-readable medium. Computer-readable media include computer storage media and communication media, wherein communication media include any medium that facilitates the transmission of a computer program from one place to another. Storage media can be any available medium that a computer can access.
[0282] In summary, the above are merely embodiments of the technical solutions of this application and are not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made within the principles of this application should be included within the scope of protection of this application.
Claims
1. An interface invocation method, characterized in that, The method includes: The first node receives an interface call request sent by the second node. The interface call request includes information about a first application programming interface (API), filtering conditions, and calling conditions. The first API is used to instruct a node capable of providing the first network capability to implement the first network capability by calling the first API. The filtering conditions are used to select a third node from among multiple nodes capable of providing the first network capability. The third node satisfies the filtering conditions. The first node selects the third node from among multiple nodes capable of providing the first network capability based on the filtering criteria. The first node sends the information of the first API and the calling conditions to the third node; The first node receives the call result of the first network capability sent by the third node, and the call result of the first network capability is obtained by the third node calling the first API when the call conditions are met; The first node sends the result of the first network capability call to the second node; The first node is a capability opening control function, the second node is a network capability consumer, and the third node is a network capability producer. The network capability producer has a network capability interface that can be directly or indirectly invoked by external parties.
2. The method as described in claim 1, characterized in that, The first node sends information about the first API to the third node, including: The first node converts the information from the first API into information from the second API; the second API is used to instruct the third node to implement the first network capability by calling the second API; The first node sends the information of the second API to the third node; The result of calling the first network capability is specifically obtained by the third node calling the second API when the calling conditions are met.
3. The method as described in claim 1 or 2, characterized in that, The first node selects the third node from among multiple nodes capable of providing the first network capability based on the filtering criteria, including: The first node acquires network capability information opened by the multiple nodes; The first node determines multiple candidate nodes that can provide the first network capability based on the network capability information opened by the multiple nodes. The first node selects the third node from the plurality of candidate nodes based on the filtering criteria.
4. The method as described in claim 3, characterized in that, Before the first node obtains the network capability information opened by multiple nodes, the process also includes: The first node receives a network capability subscription request sent by the second node, the network capability subscription request being used to subscribe to the first network capability.
5. The method as described in claim 1 or 2, characterized in that, Before the first node receives the interface call request sent by the second node, it also includes: The first node sends a set of calling conditions to the second node, wherein the calling conditions are selected by the second node from the set of calling conditions.
6. The method as described in claim 1 or 2, characterized in that, The information of the first network capability includes one or more of the following: Information for calling the first API of the first network capability, information for calling the second API of the first network capability, the conversion relationship between the first API and the second API, and a set of calling conditions, wherein the set of calling conditions includes the calling conditions.
7. The method as described in claim 1 or 2, characterized in that, The filtering criteria include one or more of the following: The number of third nodes used to call the first API; The identifier of the third node used to call the first API; The performance of the third node used to call the first API; The invocation conditions include one or more of the following: The time when the third node calls the first API; The number of times the third node calls the first API; The time interval, period, start condition, and end condition for the third node to call the first API; The identifier of the user who is allowed to receive services provided by the first network capability; The location of the user who is allowed to receive services from the first network capability.
8. The method as described in claim 2, characterized in that, The information in the first API includes one or more of the following: The identifier of the first API, the calling parameters of the first API, and the version information of the first API; The information in the second API includes one or more of the following: The identifier of the second API, the calling parameters of the second API, and the version information of the second API.
9. An interface invocation method, characterized in that, The method includes: The third node receives information and calling conditions of the first application programming interface (API) sent by the first node. The first API is used to instruct a node that can provide the first network capability to implement the first network capability by calling the first API. The third node is selected by the first node from multiple nodes that can provide the first network capability according to the filtering conditions. The third node satisfies the filtering conditions. When the calling conditions are met, the third node calls the first API to obtain the calling result of the first network capability; The third node sends the result of the call to the first network capability to the first node; The first node is a capability opening control function, and the third node is a network capability producer. The network capability producer has a network capability interface that can be directly or indirectly invoked by external parties.
10. The method as described in claim 9, characterized in that, The third node receives the information and invocation conditions of the first API sent by the first node, including: The third node receives information from the second API and the calling conditions. The second API is used to instruct nodes that can provide the first network capability to implement the first network capability by calling the second API. When the calling conditions are met, the third node calls the first API to obtain the calling result of the first network capability, including: When the calling conditions are met, the third node calls the second API to obtain the calling result of the first network capability.
11. The method as described in claim 10, characterized in that, The third node invokes the second API according to the invocation conditions, including: The third node determines to invoke the second API when the invocation conditions are met; The third node calls the second API using the calling parameters of the second API.
12. The method according to any one of claims 9-11, characterized in that, The method further includes: The third node sends network capability information that it has enabled to the first node. This network capability information includes information about the first network capability, which includes one or more of the following: Information on a first API used to invoke the first network capability, information on a second API used to invoke the first network capability, the conversion relationship between the first API and the second API, and a set of invocation conditions, wherein the invocation conditions are selected from the set of invocation conditions.
13. The method according to any one of claims 9-11, characterized in that, The filtering criteria include one or more of the following: The number of third nodes used to call the first API; The identifier of the third node used to call the first API; The performance of the third node used to call the first API; The invocation conditions include one or more of the following: The time when the third node calls the first API; The number of times the third node calls the first API; The time interval, period, start condition, and end condition for the third node to call the first API; The identifier of the user who is allowed to receive services provided by the first network capability; The location of the user who is allowed to receive services from the first network capability.
14. The method as described in claim 10, characterized in that, The information in the first API includes at least one or more of the following: The identifier of the first API, the calling parameters of the first API, and the version information of the first API; The information in the second API includes one or more of the following: The identifier of the second API, the calling parameters of the second API, and the version information of the second API.
15. An interface invocation method, characterized in that, The method includes: The second node sends an interface call request to the first node. The interface call request includes information about a first application programming interface (API), filtering conditions, and calling conditions. The first API is used to instruct nodes that can provide the first network capability to implement the first network capability by calling the first API. The filtering conditions are used to select a third node from among multiple nodes that can provide the first network capability. The third node satisfies the filtering conditions. The second node receives the call result of the first network capability, which is obtained by the third node calling the first API when the call conditions are met; The first node is a capability opening control function, the second node is a network capability consumer, and the third node is a network capability producer. The network capability producer has a network capability interface that can be directly or indirectly invoked by external parties.
16. The method as described in claim 15, characterized in that, The method further includes: The second node receives the set of invocation conditions sent by the first node; The second node selects the calling condition from the set of calling conditions.
17. The method as described in claim 15 or 16, characterized in that, The result of calling the first network capability is specifically obtained by the third node calling the second API when the calling conditions are met. The information of the second API is obtained by the first node based on the information of the first API. The second API is used to instruct the node that can provide the first network capability to implement the first network capability by calling the second API.
18. The method as described in claim 15, characterized in that, The filtering criteria include one or more of the following: The number of third nodes used to call the first API; The identifier of the third node used to call the first API; The performance of the third node used to call the first API; The invocation conditions include one or more of the following: The time when the third node calls the first API; The number of times the third node calls the first API; The time interval, period, start condition, and end condition for the third node to call the first API; The identifier of the user who is allowed to receive services provided by the first network capability; The location of the user who is allowed to receive services from the first network capability.
19. The method as described in claim 17, characterized in that, The information in the first API includes at least one or more of the following: The identifier of the first API, the calling parameters of the first API, and the version information of the first API; The information in the second API includes one or more of the following: The identifier of the second API, the calling parameters of the second API, and the version information of the second API.
20. A communication device, characterized in that, Includes a processor, which is coupled to a memory; The processor is configured to execute a computer program or instructions in the memory to cause the apparatus to perform the method as described in any one of claims 1-19.
21. A communication device, characterized in that, It includes logic circuits and interface circuits. The interface circuits are used to receive signals from other communication devices besides the communication device and transmit them to the logic circuits, or to send signals from the logic circuits to other communication devices besides the communication device. The logic circuits are used to implement the method as described in any one of claims 1-19 by executing code instructions.
22. A computer-readable storage medium, characterized in that, It includes a computer program or instructions that, when run on a computer, cause the method as described in any one of claims 1-19 to be performed.
23. A communication system, characterized in that, It includes a first node for performing the method according to any one of claims 1-8, a third node for performing the method according to any one of claims 9-14, and a second node for performing the method according to any one of claims 15-19.