Communication system, service calling method and device
Patent Information
- Application Number
- CN202380100296.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-11
- Publication Date
- 2026-02-24
AI Technical Summary
It is difficult for the existing technology to effectively combine blockchain technology with communication systems to improve communication security and data traceability of communication systems.
By deploying blockchain in the communication system, the network functions of the core network are deployed on the blockchain in the form of smart contracts, realizing the integration of the blockchain network and the core network.
It improves the security and robustness of the communication system, and realizes the traceability and queryability of communication behavior and data.
Smart Images

Figure CN121569463A_ABST
Abstract
Description
Communication system, service calling method and device Technical Field
[0001] The present application relates to the field of wireless communications, and in particular to a communication system, a service calling method, and an apparatus. Background Art
[0002] Blockchain (BC) is a distributed ledger that integrates cryptography, peer-to-peer (P2P) networks, and distributed databases. As an open and transparent decentralized technology, blockchain transforms traditional authority and centralized trust into group consensus and decentralized trust, respectively, building a tamper-proof distributed ledger secured by cryptography. In a blockchain, data is generated and stored in blocks, linked chronologically into a chain-like data structure.
[0003] Based on the immutability of blockchain, the industry has proposed introducing blockchain technology into communication systems to improve communication security between communication devices in these systems. However, how to integrate blockchain technology with communication systems remains an urgent issue.
[0004] Summary of the Invention
[0005] This application provides a communication system, a service calling method and a device, which can realize the integration of blockchain network and core network, so that communication behaviors and various data in the communication system can be traced and queried, and communication security can be improved.
[0006] To achieve the above objectives, this application adopts the following technical solutions:
[0007] In a first aspect, a communication system is provided, comprising: at least two nodes in a communication connection, the at least two nodes maintaining at least one blockchain, at least one smart contract deployed on the blockchain, and any one of the at least one smart contract having a network function of a core network.
[0008] Based on the communication system provided in the first aspect above, the core network's network functions can be deployed on a blockchain in the form of smart contracts, thereby achieving the integration of the blockchain network and the core network. As will be appreciated, data on a blockchain cannot be tampered with. Therefore, deploying the core network's network functions on a blockchain prevents tampering and improves communication security. Furthermore, the distributed architecture of a blockchain allows for flexible deployment of network functions on the blockchain. For example, network functions can be deployed on multiple blockchain nodes, such as the at least two nodes mentioned above. If one blockchain node fails, services can be provided by network functions on other blockchain nodes, thereby improving the robustness of the communication system. Furthermore, deploying network functions on a blockchain allows the execution results of network functions to be recorded on the blockchain as transactions, facilitating traceability.
[0009] In one possible implementation, the network function of the core network is used to provide at least one of the following services: subscription service, authentication service, registration service, mobility management service, policy management service, data processing service, billing service, session management service, computing service, perception service or artificial intelligence (AI) service.
[0010] Based on the above possible implementation methods, one or more of the various services that can be provided by the network functions of the above core network can be deployed in the blockchain in the form of smart contracts to achieve the integration of the blockchain network and the core network and improve communication security.
[0011] In one possible implementation, at least two nodes include a first node and a second node, at least one blockchain includes a first blockchain, the first node and the second node jointly maintain the first blockchain, a first smart contract and a second smart contract are deployed on the first blockchain, the first smart contract has a first network function of the core network, and the second smart contract has a second network function of the core network.
[0012] Based on the above possible implementation methods, the network functions of multiple core networks can be deployed on a blockchain, which facilitates the maintenance of the blockchain.
[0013] In one possible implementation, at least two nodes include a first node and a second node, at least one blockchain includes a first blockchain and a second blockchain, the first node maintains the first blockchain, the second node maintains the second blockchain, a first smart contract is deployed on the first blockchain, and a second smart contract is deployed on the second blockchain, the first smart contract has a first network function of the core network, and the second smart contract has a second network function of the core network.
[0014] Based on the above possible implementation methods, the network functions of the core network can be deployed on multiple blockchains, so that the data on each blockchain is relatively small, which is convenient for maintenance and management.
[0015] In one possible implementation, information of a first smart contract is stored on a first blockchain or a first node, where the information of the first smart contract includes an identifier of the first smart contract.
[0016] Based on the above possible implementation methods, the identifier of the first smart contract can be stored on the first blockchain or the first node to distinguish different smart contracts.
[0017] In one possible implementation, the information of the first smart contract also includes at least one of the following: an identifier of the first blockchain, information of the execution node of the first smart contract, information of the node deploying the first smart contract, key information of the first smart contract, token access method information of the first smart contract, version information of the first smart contract, input parameters of the first network function, or information of the first network function.
[0018] Based on the above possible implementations, the first blockchain or the first node may store at least one of the above information for the first smart contract. The identifier of the first blockchain can be used to determine the blockchain on which the first smart contract is deployed. For example, if multiple blockchains are deployed on the first node, the first node can determine that the first smart contract is deployed on the first blockchain based on the identifier of the first blockchain. For another example, if other nodes read the identifier of the first blockchain from the information of the first smart contract, they can determine that the first smart contract is deployed on the first blockchain and can subsequently invoke the first smart contract on the first blockchain. The information of the execution node of the first smart contract can be used to determine the execution node that executes the first smart contract. For example, the first node can use this information to determine whether it is the execution node of the first smart contract and which execution nodes are executing the first smart contract. For another example, if other nodes read the execution node information from the information of the first smart contract, they can determine which execution nodes the first smart contract is deployed on and can subsequently invoke the first smart contract on these execution nodes. The information of the node on which the first smart contract is deployed can be used to determine the node on which the first smart contract is deployed. For example, the first node can use this information to determine which nodes are deploying the first smart contract. For another example, if other nodes read the information from the first smart contract, they can determine which execution nodes the first smart contract is deployed on and subsequently query these execution nodes for relevant information about the first smart contract. The key information of the first smart contract may include the first smart contract's public key, public key certificate, private key, etc., which is used by the first node to verify the legitimacy of the node that calls the first smart contract, thereby improving communication security. The token access method information of the first smart contract can be used to determine the token access method of the first smart contract, such as the identifiers of the smart contracts that the first smart contract can access and / or the validity period of the smart contracts that the first smart contract can access, so that these smart contracts can be subsequently called. The version information of the first smart contract can be used to determine the version of the first smart contract, so that the first node can determine whether to upgrade the first smart contract, or when other nodes call the first smart contract, determine whether the called version is correct. The input parameters of the first network function can be used to determine the input parameters of the network function corresponding to the first smart contract, so that other nodes can provide the corresponding parameters when calling the first network function. The information of the first network function can be used to determine the network function corresponding to the first smart contract, so that the first node or other nodes can determine the network function provided by the first smart contract.
[0019] In one possible implementation, the communication system further includes a third node, which is used to parse the service call request and obtain call information of at least one smart contract corresponding to the service call request.
[0020] Based on the possible implementation described above, the third node can parse / translate the service call request into call information corresponding to the smart contract, so that the smart contract can be called based on the call information and the corresponding network function can be implemented through the smart contract. In the above process, the node that initiates the service call request, such as a terminal, wireless access network node, application function network element, network function network element, or operation, management, and maintenance network element, may not have the ability to call a smart contract. After sending the service call request, the third node determines the smart contract required to call the service. Therefore, this implementation is applicable to both nodes that have the ability to call smart contracts and nodes that do not, which can improve the compatibility of this implementation. In addition, since the node that initiates the service call request may not have the ability to call a smart contract, the complexity of the node can be reduced, and the performance requirements for the node can be lowered.
[0021] In a possible implementation, the service invocation request originates from one or more of a terminal, a radio access network node, an application function network element, a network function network element, or an operation management and maintenance network element.
[0022] Based on the above possible implementation methods, it is possible to support service call requests initiated by different types of requesters.
[0023] In one possible implementation, any one of the at least two nodes is used to receive a call request of a smart contract.
[0024] Based on the above possible implementation methods, any one of the at least two nodes can implement the call of the smart contract.
[0025] In one possible implementation, the call request of the smart contract comes from one or more of a terminal, a wireless access network node, an application function network element, a network function network element, or an operation management and maintenance network element.
[0026] Based on the above possible implementation methods, different types of requesters can be supported to initiate calls to smart contracts.
[0027] In one possible implementation, the network functions of the core network include at least one of the following: access function, mobility management function, network storage function, unified data management, authentication service function, session management function, user plane function, policy control function, network openness function, computing plane function, data plane function or intelligent plane function.
[0028] Based on the above possible implementation methods, one or more of the above network functions can be deployed in the blockchain in the form of smart contracts to achieve the integration of blockchain network and core network and improve communication security.
[0029] In one possible implementation, the communication system further includes: a wireless access network node communicatively connected to at least two nodes, the wireless access network node being used to call a smart contract deployed on at least one blockchain.
[0030] Based on the above possible implementation methods, the wireless access network nodes in the communication system can call smart contracts with core network network functions.
[0031] In one possible implementation, the communication system also includes: a network element of a core network that is communicatively connected to at least two nodes, the network element of the core network being used to call a smart contract deployed on at least one blockchain, or the network element of the core network being used to provide services for a smart contract deployed on at least one blockchain.
[0032] Based on the above possible implementation methods, in the communication system, some network functions are deployed in the blockchain in the form of smart contracts, and some network functions are deployed in the communication system in the form of a service-oriented architecture to reduce network deployment costs and gradually integrate the core network and blockchain network.
[0033] In a second aspect, a service invocation method is provided. The method can be executed by a third node; alternatively, the method can be executed by a module implemented in the third node, such as a chip, chip system, or circuit; alternatively, the method can be implemented by a logical node, logical module, or software that implements all or part of the functions of the third node, without limitation. For ease of description, the following explanation uses execution by a third node as an example. Optionally, the third node is a device with communication and computing capabilities, or the third node is a blockchain node. The method includes: obtaining a call request for a first service; and determining call information for at least one smart contract corresponding to the call request for the first service. Any one of the at least one smart contract is deployed on a blockchain and has core network network functionality.
[0034] Based on the method provided in the second aspect above, the third node can obtain a call request for the first service and determine the call information of at least one smart contract corresponding to the call request for the first service, so that the smart contract can be subsequently called based on the call information to implement the call of the first service. In the above method, the third node has the ability to parse the call request for the first service. Therefore, the node initiating the service call (such as a terminal, a wireless access network node, an application function network element, a network function network element, or an operation, management, and maintenance network element) does not need to have the ability to call the smart contract. This can simplify the operation of the node initiating the service call, improve the compatibility of the method provided in the second aspect, reduce the complexity of the node initiating the service call, and lower the performance requirements of the node initiating the service call. In addition, because the smart contract is deployed on the blockchain and has the network functions of the core network, it can prevent network functions from being tampered with, thereby improving communication security. Moreover, the distributed architecture of the blockchain allows for flexible deployment of smart contracts on the blockchain. For example, if a smart contract is deployed on multiple blockchain nodes corresponding to the blockchain, the failure of a blockchain node will not affect the execution of the smart contract, thereby improving the robustness of the communication system.
[0035] In one possible implementation, the network function of the core network is used to provide at least one of the following services: subscription service, authentication service, registration service, mobility management service, policy management service, data processing service, billing service, session management service, computing service, perception service or AI service.
[0036] Based on the above possible implementation methods, one or more of the above services can be deployed in the blockchain in the form of smart contracts to achieve the integration of blockchain network and core network and improve communication security.
[0037] In one possible implementation, the at least one smart contract includes a first smart contract, and the method further includes: sending a first call request, where the first call request is used to call the first smart contract.
[0038] Based on the above possible implementation methods, when the third node determines that the smart contract corresponding to the call request of the first business includes the first smart contract, the first smart contract can be called through the first call request.
[0039] In one possible implementation, sending the first call request includes: sending the first call request to a scheduling node of the first smart contract; or sending the first call request to an execution node of the first smart contract.
[0040] Based on the above possible implementation methods, the third node can send the first call request directly to the execution node of the first smart contract, or send the first call request to the execution node of the first smart contract through the scheduling node of the first smart contract to adapt to different network architectures.
[0041] In one possible implementation, the method further includes: receiving an execution result of the first smart contract.
[0042] Based on the above possible implementation methods, the execution result of the first smart contract can be obtained to determine whether the first smart contract is successfully executed.
[0043] In one possible implementation, the method further includes: sending call information of at least one smart contract.
[0044] Based on the above possible implementation methods, a node that receives the above call information, such as an execution node of at least one smart contract, can call the smart contract based on the call information.
[0045] In one possible implementation, at least one smart contract further includes a second smart contract, and the first smart contract is used to call the second smart contract. The method further includes: sending a second call request, wherein the second call request is used to call the second smart contract.
[0046] Based on the above possible implementation methods, when the third node determines that the smart contract corresponding to the call request of the first business includes the second smart contract, the second smart contract can be called through the second call request.
[0047] In one possible implementation, sending the second call request includes: sending the second call request to the scheduling node of the second smart contract; or sending the second call request to the execution node of the second smart contract.
[0048] Based on the above possible implementation methods, the third node can directly send the second call request to the execution node of the second smart contract, or send the second call request to the execution node of the second smart contract through the scheduling node of the second smart contract to adapt to different network architectures.
[0049] In one possible implementation, the method further includes: receiving an execution result of the second smart contract.
[0050] Based on the above possible implementation methods, the execution result of the second smart contract can be obtained to determine whether the second smart contract is successfully executed.
[0051] In one possible implementation, the first smart contract has a first network function of the core network, and the second smart contract has a second network function of the core network.
[0052] Based on the above possible implementation methods, the third node can provide the first network function for the node that initiates the call request for the first service, such as a terminal, a wireless access network node, an application function network element, a network function network element or an operation management and maintenance network element, by calling the first smart contract, and provide the second network function for the node that initiates the call request for the first service by calling the second smart contract.
[0053] In one possible implementation, the first call request includes an identifier of the first smart contract and input parameters of the first network function.
[0054] Based on the above possible implementation methods, the node that receives the first call request, such as the execution node of the first smart contract, can determine to execute the first smart contract. When executing the first smart contract, the input parameters of the first network function are input into the first smart contract.
[0055] In one possible implementation, the first call request also includes at least one of the following: an identifier of the blockchain where the first smart contract is located, information of the execution node of the first smart contract, information of the node on which the first smart contract is deployed, key information of the first smart contract, token access method information of the first smart contract, version information of the first smart contract, or information of the first network function.
[0056] Based on the possible implementations described above, the first call request may include at least one of the aforementioned information. Specifically, the identifier of the blockchain where the first smart contract resides enables the node receiving the first call request to determine the blockchain where the first smart contract resides, and thus the smart contract to be invoked by the first call request. The information about the execution nodes of the first smart contract enables the node receiving the first call request to determine which execution nodes execute the first smart contract, or whether it is the execution node of the first smart contract. The information about the node deploying the first smart contract enables the node receiving the first call request to determine which nodes deploy the first smart contract, or whether it has deployed the first smart contract. The key information of the first smart contract may include the public key or public key certificate of the first smart contract, which is used by the node receiving the first call request to verify the legitimacy of a third node, thereby improving communication security. The token access method information of the first smart contract enables the node receiving the first call request to determine the token access method of the first smart contract, such as the identifiers of the smart contracts accessible by the first smart contract and / or the expiration date of the smart contracts accessible by the first smart contract, so as to facilitate subsequent invocation of these smart contracts. The version information of the first smart contract enables the node receiving the first call request to determine the version of the first smart contract invoked by the first call request, compare the version of the first smart contract deployed on the execution node of the first smart contract, and determine whether the first call request can invoke the first smart contract deployed on the execution node of the first smart contract. The information of the first network function enables the node receiving the first call request to determine the network function corresponding to the first smart contract.
[0057] In one possible implementation, the first network function is an access function, a mobility management function, a network storage function, a unified data management, an authentication service function, a session management function, a user plane function, a policy control function, a network open function, a computing plane function, a data plane function or an intelligent plane function.
[0058] Based on the above possible implementation methods, the above network functions can be deployed in the blockchain in the form of smart contracts to achieve the integration of blockchain network and core network and improve communication security.
[0059] In a possible implementation, obtaining the invocation request of the first service includes: receiving the invocation request of the first service from a terminal, a wireless access network node, an application function network element, a network function network element, or an operation, management, and maintenance network element.
[0060] Based on the above possible implementations, a request to invoke the first service may be obtained from a terminal, a radio access network node, an application function network element, a network function network element, or an operation, management, and maintenance network element. That is, the terminal, the radio access network node, the application function network element, the network function network element, or the operation, management, and maintenance network element may initiate a request to invoke the first service to a third node.
[0061] In one possible implementation, the call information of at least one smart contract is used to indicate at least one smart contract and the calling order of at least one smart contract.
[0062] Based on the possible implementations described above, the third node may determine at least one smart contract and the order in which the at least one smart contract is called, so as to call the at least one smart contract in the determined order. It will be appreciated that when multiple smart contracts implement a single service, the multiple smart contracts may be called in the order indicated by the call information to implement the service.
[0063] In a possible implementation, the method further includes: sending a call result of the first service.
[0064] Based on the above possible implementation manner, the node that receives the call result of the first service, such as the node that initiates the call request of the first service, can determine whether the call of the first service is successful.
[0065] In a third aspect, a service invocation method is provided. The method can be executed by a first node; alternatively, the method can be executed by a module implemented in the first node, such as a chip, chip system, or circuit; alternatively, the method can be implemented by a logical node, logical module, or software that implements all or part of the functions of the first node, without limitation. For ease of description, the following description uses execution by the first node as an example. Optionally, the first node is a blockchain node. The method includes: obtaining a first invocation request for invoking a first smart contract, executing the first smart contract, and obtaining an execution result of the first smart contract. The first smart contract is deployed on a first blockchain, and the first smart contract has a first network function of the core network.
[0066] Based on the method provided in the third aspect above, the first node can receive a first call request and execute the first smart contract based on the first call request, thereby invoking the first smart contract. Since the first smart contract possesses the first network function, the execution of the first smart contract by the first node is equivalent to invoking the first network function, thereby invoking the first network function. Furthermore, since the first smart contract is deployed on the first blockchain, tampering with the first smart contract is prevented, thereby improving communication security. Furthermore, the distributed architecture of the blockchain allows for flexible deployment of the first smart contract on the first blockchain. For example, deploying the first smart contract on multiple blockchain nodes corresponding to the first blockchain will not affect the execution of the first smart contract if one blockchain node fails, thereby improving the robustness of the communication system. Furthermore, the execution results of the first smart contract can be recorded on the first blockchain in the form of transactions, facilitating traceability.
[0067] In one possible implementation, the first network function is used to provide subscription services, authentication services, registration services, mobility management services, policy management services, data processing services, billing services, session management services, computing services, perception services, or AI services.
[0068] Based on the above possible implementation methods, at least one of the above services can be deployed on the blockchain in the form of a smart contract to achieve the integration of the blockchain network and the core network and improve communication security.
[0069] In one possible implementation, the first smart contract is used to call the second smart contract, and the method further includes: sending a second call request, where the second call request is used to call the second smart contract.
[0070] Based on the above possible implementation methods, when the first smart contract is used to call the second smart contract, the second smart contract can be called through the second call request.
[0071] In one possible implementation, sending the second call request includes: sending the second call request to the scheduling node of the second smart contract; or sending the second call request to the execution node of the second smart contract.
[0072] Based on the above possible implementation methods, the first node can directly send the second call request to the execution node of the second smart contract, or send the second call request to the execution node of the second smart contract through the scheduling node of the second smart contract to adapt to different network architectures.
[0073] In one possible implementation, the method further includes: receiving an execution result of the second smart contract.
[0074] Based on the above possible implementation methods, the execution result of the second smart contract can be obtained to determine whether the second smart contract is successfully executed.
[0075] In one possible implementation, the second smart contract has a second network function of the core network.
[0076] Based on the above possible implementation methods, the second smart contract may have different network functions from the first smart contract.
[0077] In one possible implementation, the first call request includes an identifier of the first smart contract and input parameters of the first network function.
[0078] Based on the above possible implementation methods, the first node may determine to execute the first smart contract, and when executing the first smart contract, input parameters of the first network function are input into the first smart contract.
[0079] In one possible implementation, the first call request also includes at least one of the following: an identifier of the first blockchain, information of the execution node of the first smart contract, information of the node deploying the first smart contract, key information of the first smart contract, token access method information of the first smart contract, version information of the first smart contract, or information of the first network function.
[0080] Based on the possible implementations described above, the first call request may include at least one of the above information. Specifically, the identifier of the first blockchain allows the first node to determine the blockchain where the first smart contract resides, and thereby determine the smart contract to be invoked by the first call request within that blockchain. The information about the execution nodes of the first smart contract allows the first node to determine which execution nodes are executing the first smart contract, or whether it is the execution node of the first smart contract. The information about the node deploying the first smart contract allows the first node to determine which nodes are deploying the first smart contract, or whether it has deployed the first smart contract. The key information of the first smart contract may include the public key or public key certificate of the first smart contract, allowing the first node to verify the legitimacy of a third node to enhance communication security. The token access method information of the first smart contract allows the first node to determine the token access method of the first smart contract, such as the identifiers of the smart contracts accessible by the first smart contract and / or the expiration dates of the smart contracts accessible by the first smart contract, so as to facilitate subsequent invocation of these smart contracts. The version information of the first smart contract allows the first node to determine the version of the first smart contract invoked by the first call request, compare it with the version of the first smart contract deployed on the first node, and determine whether the first call request can invoke the first smart contract deployed on the first node. The information of the first network function may enable the first node to determine the network function corresponding to the first smart contract.
[0081] In one possible implementation, obtaining a first call request includes: receiving a first call request from a scheduling node, terminal, wireless access network node, application function network element, network function network element, operation management and maintenance network element, or an execution node of a third smart contract of a first smart contract; wherein the third smart contract is used to call the first smart contract.
[0082] Based on the above possible implementation methods, the first call request can be obtained from the scheduling node, terminal, wireless access network node, application function network element, network function network element, operation management and maintenance network element of the first smart contract, or the execution node of the third smart contract used to call the first smart contract.
[0083] In one possible implementation, the first network function is an access function, a mobility management function, a network storage function, a unified data management, an authentication service function, a session management function, a user plane function, a policy control function, a network open function, a computing plane function, a data plane function or an intelligent plane function.
[0084] Based on the above possible implementation methods, the above network functions can be deployed in the blockchain in the form of smart contracts to achieve the integration of blockchain network and core network and improve communication security.
[0085] In a fourth aspect, a service call method is provided, which can be executed by a node that initiates a service call (such as a terminal, a wireless access network node, an application function network element, a network function network element, or an operation management and maintenance network element, etc.); or, it can also be executed by a module in the node that initiates the service call, such as a chip, a chip system, or a circuit; or, it can also be implemented by a logical node, a logical module, or software that can realize all or part of the node function of initiating the service call, without limitation. For ease of description, the following is an example of execution by a node that initiates a service call. The method includes: determining a first call request for calling a first smart contract, and sending the first call request. The first smart contract is deployed on a first blockchain, and the first smart contract has a first network function of a core network.
[0086] Based on the method provided in the fourth aspect above, the node initiating the service call can initiate a call to the first smart contract, causing the execution node of the first smart contract to execute the first smart contract according to the first call request, thereby realizing the first network function. Because the first smart contract is deployed on the first blockchain, it can prevent tampering with the first smart contract, thereby improving communication security. Moreover, the distributed architecture of the blockchain allows for flexible deployment of the first smart contract on the first blockchain. For example, if the first smart contract is deployed on multiple blockchain nodes corresponding to the first blockchain, the failure of one blockchain node will not affect the execution of the first smart contract, thereby improving the robustness of the communication system.
[0087] In one possible implementation, the first network function is used to provide subscription services, authentication services, registration services, mobility management services, policy management services, data processing services, billing services, session management services, computing services, perception services, or AI services.
[0088] Based on the above possible implementation methods, at least one of the above services can be deployed in the blockchain in the form of a smart contract to achieve the integration of the blockchain network and the core network and improve communication security.
[0089] In one possible implementation, the first call request includes an identifier of the first smart contract and input parameters of the first network function.
[0090] Based on the above possible implementation methods, the node that receives the first call request, such as the first node, can determine to execute the first smart contract. When executing the first smart contract, the input parameters of the first network function are input into the first smart contract.
[0091] In one possible implementation, the first call request also includes at least one of the following: an identifier of the first blockchain, information of the execution node of the first smart contract, information of the node deploying the first smart contract, key information of the first smart contract, token access method information of the first smart contract, version information of the first smart contract, or information of the first network function.
[0092] Based on the possible implementations described above, the first call request may include at least one of the aforementioned information. Specifically, the identifier of the first blockchain allows the node receiving the first call request, such as the first node, to determine the blockchain on which the first smart contract resides, and thereby determine the smart contract to be invoked by the first call request. The information about the execution nodes of the first smart contract allows the node receiving the first call request to determine which execution nodes execute the first smart contract, or whether it is the execution node of the first smart contract. The information about the node deploying the first smart contract allows the node receiving the first call request to determine which nodes deploy the first smart contract, or whether it has deployed the first smart contract. The key information of the first smart contract may include the public key or public key certificate of the first smart contract, allowing the node receiving the first call request to verify the legitimacy of the third node to enhance communication security. The token access method information of the first smart contract allows the node receiving the first call request to determine the token access method of the first smart contract, such as the identifiers of the smart contracts accessible by the first smart contract and / or the expiration dates of the smart contracts accessible by the first smart contract, so as to facilitate subsequent invocation of these smart contracts. The version information of the first smart contract enables the node receiving the first call request to determine the version of the first smart contract invoked by the first call request, compare it with the version of the first smart contract deployed on the node receiving the first call request, and determine whether the first call request can invoke the first smart contract deployed on the first node. The information about the first network function enables the node receiving the first call request to determine the network function corresponding to the first smart contract.
[0093] In one possible implementation, the first network function is an access function, a mobility management function, a network storage function, a unified data management, an authentication service function, a session management function, a user plane function, a policy control function, a network open function, a computing plane function, a data plane function or an intelligent plane function.
[0094] Based on the above possible implementation methods, the above network functions can be deployed in the blockchain in the form of smart contracts to achieve the integration of blockchain network and core network and improve communication security.
[0095] In one possible implementation, the method further includes: receiving an execution result of the first smart contract.
[0096] Based on the above possible implementation methods, the execution result of the first smart contract can be obtained to determine whether the first smart contract is successfully executed.
[0097] In a fifth aspect, a communication device is provided for implementing the above method. The communication device can be the third node in the second aspect, or a device including the third node, or a module in the third node in the second aspect, such as a chip, a chip system or a circuit, or a logical node, a logical module or a software implementation that can implement some or all of the functions of the third node; or, the communication device can be the first node in the third aspect, or a device including the first node, or a module in the first node in the third aspect, such as a chip, a chip system or a circuit, or a logical node, a logical module or a software implementation that can implement some or all of the functions of the first node; or, the communication device can be the node that initiates the service call in the fourth aspect, or a device including the node that initiates the service call, or a module in the node that initiates the service call in the fourth aspect, such as a chip, a chip system or a circuit, or a logical node, a logical module or a software implementation that can implement some or all of the functions of the node that initiates the service call. The communication device includes a module, unit, or means corresponding to the implementation of the above method, and the module, unit, or means can be implemented by hardware, software, or by executing the corresponding software implementation by hardware. The hardware or software includes one or more modules or units corresponding to the above functions.
[0098] In conjunction with the fifth aspect, in one possible implementation, the communication device may include a processing module. The processing module may be configured to implement the processing functions of any of the above aspects and any possible implementations thereof. The processing module may be, for example, a processor.
[0099] In conjunction with the fifth aspect, in one possible implementation, the communication device may include an interface module. The interface module, also referred to as an interface unit, is configured to implement the sending and / or receiving functions described in any of the above aspects and any possible implementations thereof. The interface module may be comprised of an interface circuit, a transceiver, a transceiver, or a communication interface.
[0100] In combination with the fifth aspect above, in a possible implementation, the interface module includes a sending module and a receiving module, which are respectively used to implement the sending and receiving functions in any of the above aspects and any possible implementations thereof.
[0101] In a sixth aspect, a communication device is provided, comprising: a processor; the processor is configured to be coupled to a memory and, after reading an instruction in the memory, execute the method according to any of the above aspects according to the instruction. The communication device may be the third node in the second aspect, or a device including the third node, or a module in the third node in the second aspect, such as a chip, a chip system, or a circuit, or a logical node, a logical module, or a software implementation that can implement some or all of the functions of the third node; or the communication device may be the first node in the third aspect, or a device including the first node, or a module in the first node in the third aspect, such as a chip, a chip system, or a circuit, or a logical node, a logical module, or a software implementation that can implement some or all of the functions of the first node; or the communication device may be the node that initiates a service call in the fourth aspect, or a device including the node that initiates a service call, or a module in the node that initiates a service call in the fourth aspect, such as a chip, a chip system, or a circuit, or a logical node, a logical module, or a software implementation that can implement some or all of the functions of the node that initiates a service call.
[0102] In combination with the sixth aspect above, in a possible implementation, the communication device further includes a memory, which is used to store program instructions and data.
[0103] In conjunction with the sixth aspect above, in one possible implementation, the communication device is a chip or a chip system. Optionally, when the communication device is a chip system, it can be composed of a chip or include a chip and other discrete devices.
[0104] In a seventh aspect, a communication device is provided, comprising: a processor and an interface circuit; the interface circuit is configured to input and / or output signaling or data; and the processor is configured to cause the communication device to perform the method described in any of the above aspects through a logic circuit and / or executing a computer program or instruction. The communication device may be the third node in the second aspect, or a device comprising the third node, or a module in the third node in the second aspect, such as a chip, a chip system, or a circuit, or a logical node, a logical module, or a software implementation that can implement some or all of the functions of the third node; or the communication device may be the first node in the third aspect, or a device comprising the first node, or a module in the first node in the third aspect, such as a chip, a chip system, or a circuit, or a logical node, a logical module, or a software implementation that can implement some or all of the functions of the first node; or the communication device may be the node that initiates a service call in the fourth aspect, or a device comprising the node that initiates a service call, or a module in the node that initiates a service call in the fourth aspect, such as a chip, a chip system, or a circuit, or a logical node, a logical module, or a software implementation that can implement some or all of the functions of the node that initiates a service call.
[0105] In conjunction with the seventh aspect above, in one possible implementation, the communication device is a chip or a chip system. Optionally, when the communication device is a chip system, it can be composed of a chip or include a chip and other discrete devices.
[0106] In an eighth aspect, a computer-readable storage medium is provided, wherein instructions are stored in the computer-readable storage medium. When the computer-readable storage medium is run on a computer, the computer can execute the method described in any one of the above aspects.
[0107] In a ninth aspect, a computer program product comprising instructions is provided, which, when executed on a computer, enables the computer to execute the method described in any one of the above aspects.
[0108] In a tenth aspect, a communication system is provided, which includes a first node for executing the method described in the third aspect, and a node for initiating a service call for executing the method described in the fourth aspect.
[0109] Among them, the technical effects brought about by any possible implementation method in the fifth to tenth aspects can be referred to the technical effects brought about by any aspect in the first to fourth aspects or different possible implementation methods in any aspect, and will not be repeated here.
[0110] It is understandable that, provided that the solutions are not contradictory, the solutions in each aspect can be combined. BRIEF DESCRIPTION OF THE DRAWINGS
[0111] Figure 1 is a schematic diagram of the core network architecture;
[0112] FIG2 is a schematic diagram of the deployment of the network functions of the core network provided by this application and / or the service functions provided by the core network in the form of smart contracts in the blockchain;
[0113] FIG3A is a schematic diagram of the architecture of the decentralized core network provided by this application;
[0114] FIG3B is a second schematic diagram of the architecture of the decentralized core network provided by this application;
[0115] FIG3C is a third schematic diagram of the architecture of the decentralized core network provided by this application;
[0116] Figure 4 is a schematic diagram of the smart contract provided by this application;
[0117] FIG5 is a schematic diagram of a deployment method of a smart contract with network functions provided by this application;
[0118] FIG6 is a schematic diagram of the communication system architecture provided by this application;
[0119] FIG7 is a schematic diagram of the hardware structure of the communication device provided in this application;
[0120] FIG8 is a flow chart of the service calling method provided by this application;
[0121] FIG9 is a second flow chart of the service calling method provided by this application;
[0122] FIG10 is a flow chart of the service calling method provided by this application;
[0123] FIG11 is a fourth flow chart of the service calling method provided by this application;
[0124] FIG12A is a schematic diagram of a deployment method of a coordination node provided in this application;
[0125] FIG12B is a second schematic diagram of the deployment method of the coordination node provided in this application;
[0126] FIG12C is a third schematic diagram of the deployment method of the coordination node provided in this application;
[0127] FIG13 is a schematic diagram of the structure of the communication device provided in this application. DETAILED DESCRIPTION
[0128] Before introducing the technical solution of this application, the relevant technical terms involved in this application are explained. It is understood that these explanations are intended to make this application easier to understand and should not be regarded as limiting the scope of protection claimed in this application.
[0129] 1. Blockchain
[0130] In this application, blockchain can also be called a distributed ledger, which can generate and store data in blocks (or blocks), connect them into a chain (or chain) data structure in chronological order, and use cryptography to ensure that the data cannot be tampered with or forged. Any blockchain can run (or be deployed) on multiple blockchain nodes. In other words, a blockchain can be maintained by multiple blockchain nodes. For example, these multiple blockchain nodes can share ledgers and participate in transactions on the blockchain, storage, verification, forwarding and other operations on the blockchain. When a newly created block is created in the blockchain, the block needs to be confirmed by consensus of multiple blockchain nodes and broadcast in the blockchain to achieve data synchronization of each blockchain node. After that, the block cannot be changed or deleted, so the blockchain has the property of being tamper-proof.
[0131] In this application, a blockchain node can be understood as a physical node (such as a server, cloud, or data center service node, etc.) or a virtual node deployed on a physical node. If a blockchain node is a virtual node deployed on a physical node, then multiple blockchain nodes maintaining a blockchain can be deployed on the same physical node or on different physical nodes. For example, if blockchain nodes 1 to blockchain nodes n jointly maintain blockchain A, then blockchain nodes 1 to blockchain nodes n are all deployed on server 1, or some blockchain nodes from blockchain nodes 1 to blockchain nodes n are deployed on server 1, and another portion of blockchain nodes from blockchain nodes 1 to blockchain nodes n are deployed on server 2.
[0132] It is understood that multiple blockchains can form a blockchain network. In this blockchain network, each blockchain can be maintained by multiple blockchain nodes. Any blockchain node can maintain one or more blockchains. For example, a blockchain network includes blockchain A and blockchain B. Blockchain nodes 1 through 5 maintain blockchain A, while blockchain nodes 4 through 10 maintain blockchain B. In other words, blockchain nodes 1 through 3 maintain one blockchain (blockchain A), and blockchain nodes 6 through 10 maintain one blockchain (blockchain B). Blockchain nodes 4 through 5 maintain two blockchains (blockchain A and blockchain B).
[0133] 2. Smart Contract (SC)
[0134] The immutability, consensus, and distributed nature of blockchains have spurred the development of contract-based (SC) technology. SC is a computer protocol that can be deployed on a blockchain to disseminate, verify, or execute contracts in an information-based manner. By declaring business logic within an SC, corresponding operations can be executed. SC allows for trusted, traceable, and irreversible transactions without a third party. Specifically, an SC is business logic that can be installed and run on blockchain nodes, a piece of executable code. Leveraging the characteristics of blockchain, this executable code can be deployed to an account address on the blockchain. When a call transaction is initiated to that address, it is verified and executed within the blockchain network under the constraints of the consensus mechanism, ensuring the determinism and uniqueness of the execution results.
[0135] Understandably, the decentralized nature of blockchain allows program code built on SC to become a decentralized application (DAPP). The emergence of DAPP has transformed the architecture of internet applications, shifting application deployment from a centralized, single-service provider model to a decentralized, distributed deployment and execution model. Currently, several decentralized versions of internet applications exist.
[0136] 3. Terminal
[0137] In this application, a terminal is a device with wireless transceiver capabilities. The terminal can be deployed on land, including indoors, outdoors, handheld or vehicle-mounted; it can also be deployed on the water (such as ships, etc.); it can also be deployed in the air (such as airplanes, balloons and satellites, etc.). The terminal can also be called a terminal device, and the terminal device can be a user equipment (UE), a mobile station (MS), a mobile terminal (MT), etc., or a device used to provide voice or data connectivity to users. Among them, UE includes handheld devices with wireless communication capabilities, vehicle-mounted devices (such as cars, bicycles, electric vehicles, airplanes, ships, trains, high-speed railways, etc.), wearable devices (such as smart watches, smart bracelets, pedometers, etc.) or computing devices. Exemplarily, UE can be a mobile phone, a tablet computer, a laptop computer, a PDA, a mobile internet device (MID), a satellite terminal or a computer with wireless transceiver capabilities. The terminal device may also be a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless modem, a smart point of sale (POS) machine, customer-premises equipment (CPE), an intelligent robot, a robotic arm, workshop equipment, smart home devices (e.g., refrigerators, televisions, air conditioners, electric meters, etc.), a wireless terminal in industrial control, a wireless terminal in unmanned driving, a wireless terminal in telemedicine, a wireless terminal in a smart grid, a wireless terminal in transportation safety, a wireless terminal in a smart city, a wireless terminal in a smart home, an in-vehicle terminal, a roadside unit (RSU) with terminal functions, or an aerial device (e.g., an intelligent robot, a hot air balloon, a drone, an airplane), etc. The terminal device may also be other devices with terminal functions, for example, a terminal device may also be a device that functions as a terminal in device-to-device (D2D) communication.
[0138] In the present application, the terminal may be a terminal in an Internet of Things (IoT) system. IoT is an important part of the development of information technology. Its main technical feature is to connect objects to the network through communication technology, thereby realizing an intelligent network of human-machine interconnection and object-to-object interconnection. The terminal in the present application may be a terminal in machine type communication (MTC). The terminal of the present application may be an on-board module, on-board module, on-board component, on-board chip or on-board unit built into a vehicle as one or more components or units. The vehicle may implement the method of the present application through the built-in on-board module, on-board module, on-board component, on-board chip or on-board unit. The terminal of the present application may be a vehicle, such as a car. Therefore, the present application can be applied to vehicle networks, such as vehicle to everything (V2X), long term evolution vehicle (LTE-V), vehicle to vehicle (V2V), etc.
[0139] This application does not limit the form of the terminal. The device used to implement the terminal's functions can be a terminal; it can also be a device that supports the terminal in implementing the functions, such as a chip system. This device can be installed in the terminal or used in conjunction with the terminal. In this application, the chip system can be composed of a chip or include a chip and other discrete components.
[0140] 4. Radio access network (RAN) nodes
[0141] In this application, a RAN node may be any device with wireless transceiver functions that can help a terminal achieve wireless access, such as a node in a RAN, which may also be referred to as an access network device or a network device. Including but not limited to: evolved base stations (NodeB or eNB or e-NodeB, evolutionary Node B) in long term evolution (LTE), evolved base stations (next generation eNB, ng-eNB) in next generation LTE, base stations (gNodeB or gNB) in new radio (NR), transmitting points (TP) or transmission receiving points / transmission reception points, TRP), base stations of subsequent evolution of 3GPP, next generation NodeB (gNB), next generation base stations in sixth generation (6G) mobile communication systems, base stations in future mobile communication systems, access nodes in satellite wireless fidelity (WiFi) systems, wireless relay nodes, wireless backhaul nodes, integrated access and backhaul (IAB) nodes, network equipment in mobile switching center non-terrestrial network (NTN) communication systems, that is, network equipment that can be deployed on high-altitude platforms or satellites. A base station can be: a macro base station, a micro base station, a pico base station, a small station, a relay station, a donor node, or a balloon station, etc. Multiple base stations can support networks of the same technology mentioned above, or they can support networks of different technologies mentioned above. A base station can include one or more co-sited or non-co-sited TRPs. A RAN node can also be a device that acts as a base station in D2D communication, vehicle-to-vehicle communication, drone communication, or machine communication. A RAN node can also be a wireless controller in a cloud radio access network (CRAN) scenario. A RAN node can also be a centralized unit (CU), a distributed unit (DU), a CU-control plane (CP), a CU-user plane (UP), a radio unit (RU), an RSU with base station functions, a wired access gateway, or a core network element, etc. A RAN node can also be a server, a wearable device, a machine communication device, or an in-vehicle device, etc. For example, the access network device in V2X technology can be an RSU.
[0142] In this application, the CU and DU may be separately configured or may be included in the same network element, such as a baseband unit (BBU). The RU may be included in a radio frequency device or radio frequency unit, such as a remote radio unit (RRU), an active antenna unit (AAU), or a remote radio head (RRH). It is understood that the CU may be classified as a network device in an access network, or as a network device in a core network, without limitation herein.
[0143] In different systems, CU (or CU-CP and CU-UP), DU or RU may also have different names, but those skilled in the art can understand their meanings. For example, in an open radio access network (ORAN) system, CU may also be called O-CU (open CU), DU may also be called O-DU, CU-CP may also be called O-CU-CP, CU-UP may also be called O-CU-UP, and RU may also be called O-RU. For the convenience of description, this application takes CU, CU-CP, CU-UP, DU and RU as examples for description. Any unit of CU (or CU-CP, CU-UP), DU and RU in this application can be implemented by a software module, a hardware module, or a combination of a software module and a hardware module.
[0144] It is understandable that in some scenarios, the roles of RAN nodes and terminals are relative. For example, a helicopter or drone, which is usually configured as a terminal, can also be configured as a mobile base station, and the device that accesses the RAN via the helicopter or drone is configured as a terminal.
[0145] In this application, the form of a RAN node is not limited. The device used to implement the functions of a RAN node can be a RAN node; it can also be a device that supports the RAN node to implement the functions, such as a chip system. The device can be installed in a RAN node or used in conjunction with a RAN node.
[0146] 5. Core Network
[0147] In this application, the core network is mainly responsible for maintaining mobile network subscription data and providing terminal session management, mobility management, policy management, and security authentication functions. The core network can be a centralized network architecture, and the network function (NF) of the core network is deployed by the management plane.
[0148] Exemplarily, as shown in FIG1 , a core network architecture is illustrated by taking the network service architecture of the fifth generation (5G) mobile communication system as an example. In Figure 1, the network functions of the core network include network slice selection function (NSSF), network exposure function (NEF), network storage function (NRF), policy control function (PCF), unified data management (UDM), application function (AF), edge application server discovery function (EASDF), network slice and standalone non-public network (SNPN) authentication and authorization function (NSSAAF), authentication server function (AUSF), access management function (AMF), session management function (SMF), service communication proxy (SCP), network slice admission control function (NSACF), user plane function (UPF) and data network (DN). Among them, RAN nodes can communicate with AMF and UPF, and terminals can communicate with AMF. The terminal and the RAN node can communicate using air interface technology. For an introduction to the terminal and RAN node, please refer to the corresponding description above.
[0149] In Figure 1, N1 is the interface between the terminal and AMF, N2 is the interface between the RAN node and AMF, N3 is the interface between the RAN node and UPF, N4 is the interface between the SMF and UPF, N6 is the interface between the UPF and DN, and N9 is the interface between UPFs. Nnssaaf is the service-based interface provided by NSSAAF, Nausf is the service-based interface provided by AUSF, Namf is the service-based interface provided by AMF, Nsmf is the service-based interface provided by SMF, Nsacf is the service-based interface provided by NSACF, Nnssf is the service-based interface provided by NSSF, Nnef is the service-based interface provided by NEF, Nnrf is the service-based interface provided by NRF, Npcf is the service-based interface provided by PCF, Nudm is the service-based interface provided by UDM, Naf is the service-based interface provided by AF, and Neasdf is the service-based interface provided by EASDF.
[0150] It can be understood that the core network shown in FIG1 is merely exemplary. In specific applications, the core network may include more or fewer network functions than those shown in FIG1 , without limitation.
[0151] As discussed above, blockchain technology is tamper-proof. Therefore, to improve communication security between devices within a communication system and to support the traceability and querying of device behavior and various data within the system, the industry has proposed integrating blockchain technology into communication systems (such as the core network). For example, blockchain technology can be used to verify information within the core network.
[0152] Exemplarily, the blockchain account management function (BCAMF) network element can connect the core network and the blockchain network to verify the information in the core network. Specifically, the terminal sends an account opening request message to the BCAMF network element of the first operator. The account opening request message includes the identifier of the terminal, and the account opening request message is used to request to open an account for the terminal in the first operator. After receiving the account opening request message from the terminal, the BCAMF network element can verify in the blockchain that the terminal meets the account opening requirements based on the identifier of the terminal, and send a first message to the user data management network element of the first operator. The first message includes the contract data of the terminal, that is, the contract data of the terminal in the first operator. Afterwards, the user data management network element can store the contract data of the terminal so that when the terminal subsequently accesses the mobile network of the first operator, the mobile management network element or the session management network element needs to obtain the contract data to authorize the terminal.
[0153] As can be seen from the above description, the BCAMF network element can verify that a terminal meets the account opening requirements in the blockchain based on the terminal's identity. This means that the BCAMF network element can connect the core network and the blockchain network. However, in reality, the core network and the blockchain network are independent networks, with the blockchain network only used to record core network data. This integration of the core network and the blockchain network fails to fully utilize the advantages of blockchain.
[0154] To fully leverage the advantages of blockchain, a decentralized core network can be constructed based on the distributed nature of blockchain, combined with the core network's network functions and / or the service functions provided by the core network. This decentralized core network can use blockchain as its infrastructure to achieve the integration of blockchain and core networks, namely, blockchain-network integration. Specifically, the core network's network functions and / or the service functions provided by the core network can be deployed on the blockchain in the form of SCs, which can be called by upper-layer applications (APPs), terminals, RAN nodes, AF network elements, network function network elements, or operation administration and maintenance (OAM) network elements. Once called, the corresponding SCs are executed, and the execution results are recorded on the blockchain.
[0155] It is understandable that this application refers to the "network after the blockchain network and the core network are integrated" as the "decentralized core network" only to distinguish it from the "core network not integrated with the blockchain network" and is not intended to limit the solution of this application. This application does not limit the naming method of the "network after the blockchain network and the core network are integrated". For example, the decentralized core network can be replaced by a decentralized 3GPP network, a native decentralized core network, a native decentralized telecommunications network, a decentralized telecommunications network, a core network, a 3GPP network, a telecommunications network, or a decentralized network. For ease of description, this application uses a decentralized core network as an example.
[0156] The following further explains "the network functions of the core network", "the business functions provided by the core network" and "the network functions of the core network, and / or, the business functions provided by the core network are deployed in the form of SC on at least one blockchain".
[0157] 6. Network functions of the core network
[0158] In this application, the network functions of the core network may include any one or more network functions defined in the current protocol, and / or new network functions introduced by the protocol later. For example, the network functions of the core network include one or more network functions shown in Figure 1. For another example, the network functions of the core network include new network functions introduced by 6G communication technology.
[0159] 7. Service functions provided by the core network
[0160] In this application, the service functions provided by the core network may include third-party service functions and / or service functions related to everything as a service (XaaS). For example, the service functions provided by the core network include one or more of the following: Internet of Things service functions, satellite communication service functions, communication service functions, cloud service functions, network service functions, AI services, computing services, or data services.
[0161] 8. The network functions of the core network and / or the business functions provided by the core network are deployed in the form of SC on at least one blockchain
[0162] In this application, the deployment of the core network's network functions on the blockchain in the form of SCs can be understood as meaning that the SCs deployed on the blockchain possess (or carry) the core network's network functions, or that SCs possessing the core network's network functions are installed (or deployed) on blockchain nodes. For example, executable code capable of implementing the core network's network functions can be written and deployed on blockchain nodes. It should be understood that one network function may correspond to at least one SC. For example, when a network function is used to implement a single function (such as registration), the network function may correspond to one SC that possesses that single function, or the network function may correspond to multiple SCs that collectively implement that single function. When a network function is used to implement multiple functions (such as registration and forwarding control plane signaling), the network function may correspond to multiple SCs that each possess a specific function of the network function.
[0163] Similarly, the service functions provided by the core network are deployed on the blockchain in the form of SCs. This can be understood as the SCs deployed on the blockchain possessing the service functions provided by the core network, or as the SCs with the service functions provided by the core network being installed on blockchain nodes. For example, executable code that implements the service functions provided by the core network can be written and deployed on blockchain nodes. It should be understood that when a service is used to implement a single function, that service function may correspond to a single SC that possesses that single function, or it may correspond to multiple SCs that collectively implement that single function. When a service is used to implement multiple functions, that service function may correspond to multiple SCs that each possesses a specific function of that service function.
[0164] It is understandable that since the SC in this application has the network functions of the core network and / or the service functions provided by the core network, SC can be replaced by network contract, network SC, network function contract, network function smart contract (NF smart contract, NF-SC), service contract, service SC, service function contract or service function SC, etc. It should be understood that in addition to the above names, SC can also have other naming methods, such as contract, function contract or function SC, etc., without limitation. SC is used as an example for description in this application.
[0165] The following uses Figure 2 as an example to introduce the network functions of the core network, and / or the specific situation of the service functions provided by the core network being deployed on the blockchain in the form of SC.
[0166] In Figure 2, the core network's network functions and the service functions provided by the core network all correspond to SCs. These SCs can be deployed on blockchains, and blockchains with SCs can be deployed on physical nodes. Specifically, the SCs for the AMF (i.e., AMF-SC), the SCs for the SMF (i.e., SMF-SC), and the SCs for the PCF (i.e., PCF-SC) are deployed on Blockchain 1, which is deployed on one or more physical nodes from Physical Nodes 1 to Physical Nodes n. The SCs for the UPF (i.e., UPF-SC), the SCs for the NEF (i.e., NEF-SC), and the SCs for the UDM (i.e., UDM-SC) are deployed on Blockchain 2, which is deployed on one or more physical nodes from Physical Nodes 1 to Physical Nodes n. The SCs for the NFR (i.e., NRF-SC), the SCs for the NSSF (i.e., NSSF-SC), the SCs for the AF (i.e., AF-SC), and the SCs for the service functions provided by the core network (i.e., service function SCs) are deployed on Blockchain m, which is deployed on one or more physical nodes from Physical Nodes 1 to Physical Nodes n. m and n are positive integers and can be the same or different.
[0167] It is understandable that the above deployment of AMF-SC, SMF-SC and PCF-SC on blockchain 1, the deployment of UPF-SC, NEF-SC and UDM-SC on blockchain 2, and the deployment of NRF-SC, NSSF-SC, AF-SC and business function SC on blockchain m is only one way of deploying SC on the blockchain. This application does not limit the deployment method of SC on the blockchain. For example, SC can be deployed on the blockchain according to the business, such as deploying SC related to business 1 on a blockchain, and not deploying SC other than SC related to business 1. For another example, SC can be deployed on the blockchain according to network function, such as deploying SC of network function 1 on a blockchain, and not deploying SC of businesses other than network function 1. It should be understood that in specific applications, there can be other deployment methods, which are not listed here one by one.
[0168] The following introduces the decentralized core network provided by this application in combination with the idea that "the network functions of the core network, and / or the business functions provided by the core network are deployed in the blockchain in the form of SC".
[0169] 9. Decentralized core network
[0170] It can be understood that based on the idea that "the network functions of the core network, and / or the business functions provided by the core network are deployed in the form of SC in the blockchain", a variety of decentralized core network network architectures can be designed, and this application cannot list them one by one. The following Designs 1 to 3 are used as examples for explanation. In addition, the way in which the business functions provided by the core network are deployed in the blockchain in the form of SC is similar to the way in which the network functions of the core network are deployed in the blockchain in the form of SC. Therefore, for the sake of simplicity, the following description will be based on the example of the network functions of the core network being deployed in the blockchain in the form of SC. For the case in which the business functions provided by the core network are deployed in the blockchain in the form of SC, please refer to the description of the network functions of the core network being deployed in the blockchain in the form of SC below, and no further details will be given.
[0171] Design 1: A blockchain is deployed in the decentralized core network, and the SCs corresponding to multiple network functions of the core network are deployed in the blockchain.
[0172] For example, in Figure 3A , blockchain 3001 is deployed in a decentralized core network 30. SCs 3002 through 3004 are deployed on blockchain 3001, which is then deployed on blockchain nodes 3005 through 3012. In other words, decentralized core network 30 includes blockchain nodes 3005 through 3012, which collectively maintain blockchain 3001, on which SCs 3002 through 3004 are deployed. SCs 3002 through 3004 each correspond to a network function in the core network. For example, SC 3002 is an AMF-SC, SC 3003 is an SMF-SC, and SC 3004 is a UPF-SC.
[0173] Optionally, the decentralized core network 30 provides a ledger anchor function (LAF) for performing communication network ledger-related tasks, such as installing or deploying SCs for blockchain nodes. For example, the decentralized core network 30 includes a LAF network element (not shown in FIG3A ).
[0174] It is understood that the network composed of blockchain nodes 3005 to 3012 can also be called a P2P network. Blockchain nodes 3005 to 3012 can be deployed on the same physical node or on different physical nodes.
[0175] It can be understood that Figure 3A is only an example of a decentralized core network. In specific applications, the decentralized core network may include more or fewer blockchain nodes than shown in Figure 3A, and / or, more or fewer SCs than shown in Figure 3A may be deployed on the blockchain 3001 without limitation.
[0176] It is understandable that in Design 1, deploying a blockchain in a decentralized core network can facilitate the maintenance of the blockchain.
[0177] Design 2: Multiple blockchains are deployed in the decentralized core network, and SCs corresponding to one or more network functions of the core network are deployed on each of the multiple blockchains.
[0178] For example, in FIG3B , blockchains 3101 through 3103 are deployed in the decentralized core network 31. SCs 3104 and 3107 are deployed on blockchain 3101, SC 3105 is deployed on blockchain 3102, and SC 3106 is deployed on blockchain 3103. SCs 3104 through 3107 each correspond to a network function of the core network. In other words, the decentralized core network 31 includes all or part of the blockchain nodes (not shown in FIG3B ) that maintain blockchains 3101 through 3103. The blockchain nodes that maintain blockchain 3101, the blockchain nodes that maintain blockchain 3102, and the blockchain nodes that maintain blockchain 3103 can be identical, partially identical, or completely different. For example, blockchain nodes 1 to blockchain nodes 5 jointly maintain blockchain 3101 and blockchain 3102, and blockchain nodes 6 to blockchain nodes 12 maintain blockchain 3103; or, blockchain nodes 1 to blockchain nodes 6 maintain blockchain 3101, blockchain nodes 7 to blockchain nodes 13 maintain blockchain 3102, and blockchain nodes 14 to blockchain nodes 22 maintain blockchain 3103.
[0179] Optionally, the decentralized core network 31 provides a LAF for performing communication network ledger-related tasks, such as installing or deploying SCs for blockchain nodes. For example, the decentralized core network 31 includes a LAF network element 3108.
[0180] Optionally, multiple SCs may be deployed on a blockchain in the decentralized core network 31. For example, in addition to SC 3104, SC 3107 may also be deployed on blockchain 3101.
[0181] It is understandable that Figure 3B is only an example of a decentralized core network. In specific applications, the decentralized core network may include more or fewer blockchains than shown in Figure 3B, and / or, more or fewer SCs than shown in Figure 3B may be deployed on a blockchain without limitation.
[0182] Understandably, in Design 2, multiple blockchains are deployed in the decentralized core network, and different SCs can be deployed on different blockchains. The data stored on each blockchain is relatively small, which facilitates data maintenance and management, and it takes less time to trace or query the data.
[0183] Understandably, during network architecture evolution, to balance existing networks and reduce network deployment costs, the architecture is typically updated gradually. For example, a portion of the core network's network functions might be initially deployed on the blockchain as SCs, and then the remaining network functions might be gradually deployed on the blockchain as SCs. Therefore, during this network architecture update, some core network functions might remain deployed on the network as SCs, while others might be deployed on the blockchain as SCs. This type of network architecture can be referred to as a hybrid network architecture or a partially decentralized core network architecture. The following description uses a hybrid network architecture as an example.
[0184] Design 3: At least one network function and at least one blockchain are deployed in a hybrid network, and each of the at least one blockchain has one or more SCs corresponding to the core network's network functions deployed on it.
[0185] It is understandable that the hybrid network can be further divided into domains based on the deployment method of network functions in the network. For example, the hybrid network includes a service-based architecture (SBA) domain and an SC domain, where at least one of the above-mentioned network functions is deployed in the SBA domain, and at least one of the above-mentioned blockchains is deployed in the SC domain. In this application, "domain" can be replaced by "region", "part" or "architecture", etc., without limitation. It should be understood that the SC domain is related to the blockchain, and therefore, the SC domain can be replaced by a block domain, a blockchain domain or a blockchain node domain, etc., without limitation. In addition, this application does not limit the connection method between the SBA domain and the SC domain (or the connection method between the blockchain node and the network function network element). For example, they can be connected through a newly defined interface.
[0186] For example, in FIG3C , hybrid network 32 deploys NFs 3201 to 3206 and blockchains 3207 to 3208. SC 3209 is deployed on blockchain 3207, and SC 3210 is deployed on blockchain 3208. SC 3209 and SC 3210 each correspond to a network function of the core network. In other words, hybrid network 32 may include all or part of the blockchain nodes maintaining blockchains 3207 to 3208 (not shown in FIG3C ). The blockchain nodes maintaining blockchain 3207 and the blockchain nodes maintaining blockchain 3208 may be identical, partially identical, or completely different.
[0187] Optionally, hybrid network 32 provides LAF for performing communication network ledger-related tasks, such as installing or deploying SC for blockchain nodes. In other words, hybrid network 32 includes LAF network elements (not shown in Figure 3C).
[0188] Optionally, multiple SCs may be deployed on a blockchain in the hybrid network 32. For example, in addition to SC 3209, SC 3212 may also be deployed on blockchain 3207.
[0189] It can be understood that Figure 3C is only an example of a hybrid network. In specific applications, the hybrid network may include more or fewer blockchains than shown in Figure 3C, and / or more or fewer network functions than shown in Figure 3C, and / or more or fewer SCs than shown in Figure 3C may be deployed on a blockchain without limitation.
[0190] Based on the above introduction, we have a certain understanding of how blockchain networks and core networks are integrated. In the integrated network (such as a decentralized core network), the SC has the network functions of the core network, which is explained in detail below.
[0191] In one possible implementation, the input parameters of the network function are input into the SC (ie, NF-SC) corresponding to the network function, and a response of the network function or an output parameter of the network function can be obtained.
[0192] It is understandable that a network function in the core network may need to obtain certain parameters in advance when implementing its own functions, such as the terminal's Subscription Permanent Identifier (SUPI), the terminal's Subscription Concealed Identifier (SUCI), or the Public Land Mobile Network (PLMN) identifier. For example, the AMF may need to obtain the terminal's SUPI in advance when registering a terminal. These parameters may be referred to as input parameters of the network function. Furthermore, when the network function implements its own functions, it may obtain corresponding output parameters based on the input parameters, such as the PLMN identifier, the terminal's SUPI, the terminal's SUCI, the terminal's identifier in the 3GPP network, an authentication vector, or a key. For example, after the AMF completes registration for the terminal, it assigns the terminal an identifier in the 3GPP network. These output parameters may be referred to as the network function's response. Since the SC possesses network functions, inputting the network function's input parameters into the SC can generate a corresponding response. For example, in Figure 4 , inputting the input parameters of NF 401 into the SC corresponding to NF 401 (i.e., NF-SC 402) generates a response from NF 401.
[0193] Optionally, trigger conditions and / or response rules may be preset in the SC. The trigger conditions may include conditions set for time and / or events that trigger the SC to implement corresponding network functions. The response rules may define how the SC responds to different actions. It is understandable that an executable code that implements the trigger condition may be written for the SC so that the SC is executed or called under the trigger condition. An executable code that implements the response rule may be written for the SC so that the SC responds accordingly when executed. Taking the SC corresponding to the charging function (CHF) as an example, its trigger condition is that the call duration of user A is greater than 100 minutes, and its response rule is to deduct the corresponding call fee from the account of user A. That is: when the call duration of user A is greater than 100 minutes, the execution of the SC is triggered, and when the SC is executed, the corresponding call fee may be deducted from the account of user A.
[0194] Optionally, since the SC is deployed on a blockchain, trigger conditions and / or response rules for one or more blockchains, or for one or more SCs, can be preset in the SC. For example, a trigger condition can be preset in NF-SC 1 in blockchain 1: After NF-SC 1 is updated, a notification message is sent to the blockchain nodes in blockchain 2. In this way, after NF-SC 1 is updated, the blockchain nodes in blockchain 1 can send a notification message to the blockchain nodes in blockchain 2.
[0195] As you can understand, the core network can invoke one or more network functions when providing services. Based on this logic, the decentralized core network can invoke one or more SCs when providing services. These invoked SCs follow a specific calling or execution order, which is called an SC chain. The SC chain is explained in detail below.
[0196] 10. SC chain
[0197] In this application, an SC chain may include at least one SC that needs to be called when a decentralized core network processes a business (or service). The at least one SC has a certain calling order or execution order. It is understandable that different businesses correspond to different SC chains. Two different SC chains can be understood as at least one different SC included in the two SC chains, or the calling order or execution order of the SCs is different.
[0198] In specific applications, the decentralized core network can handle a variety of services, including services that the core network can handle, and / or new services that emerge during the network evolution process. This application introduces the SC chain by taking the terminal registration request (UE registration request) service, terminal service request (service request) service, terminal configuration update (UE configuration update) service, AF service request (AF service request) service, AN release request (AN release request) service and SMF service context transfer procedure (SMF service context transfer procedures) service and network slice-specific authentication and authorization (network slice-specific authentication and authorization) service as examples.
[0199] Exemplarily, the SC chain of the terminal registration request service includes AMF-SC=>AUSF-SC=>UDM-SC, that is, after the terminal initiates a terminal registration request to the decentralized core network through the RAN node, the decentralized core network first calls AMF-SC, AMF-SC calls AUSF-SC, and AUSF-SC calls UDM-SC to realize registration of the terminal in the decentralized core network.
[0200] Exemplarily, the SC chain for the terminal service request service includes AMF-SC=>AUSF-SC=>AMF-SC=>SMF-SC=>UPF-SC=>SMF-SC=>AMF-SC, UPF-SC, and AMF-SC=>SMF-SC=>PCF-SC=>SMF-SC=>UPF-SC=>SMF-SC. That is, after the terminal initiates a terminal service request to the decentralized core network through the RAN node, the decentralized core network first calls the AMF-SC, the AMF-SC calls the AUSF-SC, the AUSF-SC returns the execution result (or call result) to the AMF-SC, the AMF-SC calls the SMF-SC, the SMF-SC calls the UPF-SC, the UPF-SC returns the execution result to the SMF-SC, and the SMF-SC returns the execution result to the AMF-SC. The AMF-SC sends the execution result to the terminal via the RAN node. Subsequently, the terminal triggers the decentralized core network to call UPF-SC, the RAN node triggers the decentralized core network to call AMF-SC, AMF-SC calls SMF-SC, SMF-SC calls PCF-SC, PCF-SC returns the execution result to SMF-SC, SMF-SC calls UPF-SC, UPF-SC returns the execution result to SMF-SC to provide the service requested by the terminal.
[0201] Exemplarily, the SC chain of the terminal configuration update service includes AMF-SC and AMF-SC=>UDM-SC=>AMF-SC. That is, after the terminal initiates a terminal configuration update request to the decentralized core network through the RAN node, the decentralized core network calls AMF-SC, and AMF-SC returns the execution result to the terminal through the RAN node. After that, the terminal initiates a request to the decentralized core network through the RAN node based on the execution result. The decentralized core network calls AMF-SC, AMF-SC calls UDM-SC, UDM-SC returns the execution result to AMF-SC, and AMF-SC returns the execution result to the RAN node to implement the terminal configuration update.
[0202] For example, the SC chain for the AF service request service includes NEF-SC=>UDM-SC. That is, after the AF network element initiates a service request to the decentralized core network, the decentralized core network calls the NEF-SC, and the NEF-SC calls the UDM-SC to provide services to the AF network element.
[0203] Exemplarily, the SC chain for the AN release request service includes AMF-SC or AMF-SC=>SMF-SC=>UPF-SC. That is, after the terminal initiates an AN request to the decentralized core network through the RAN node, the decentralized core network calls AMF-SC to implement AN release, or after the terminal initiates an AN request to the decentralized core network through the RAN node, the decentralized core network calls AMF-SC, AMF-SC calls SMF-SC, and SMF-SC calls UPF-SC to implement AN release.
[0204] Exemplarily, the SC chain of the SMF service context transfer process business includes SMF-SC 1=>SMF-SC 2. That is, when the decentralized core network processes the SMF service context transfer process business, SMF-SC 1 is used as the consumer of the network function service and a session management (SM) context is pushed to SMF-SC 2 as the producer of the network function service.
[0205] Exemplarily, the SC chain for network slice-specific authentication and authorization services includes AMF-SC, and AMF-SC=>NSSAAF-SC. That is, after the terminal initiates a network slice-specific authentication and authorization request to the decentralized core network through the RAN node, the decentralized core network calls AMF-SC, and AMF-SC returns the execution result to the terminal. Afterwards, the terminal initiates a request to the decentralized core network, the decentralized core network calls AMF-SC, and AMF-SC calls NSSAAF-SC. After that, NSSAAF-SC can send the execution result to the AAA server (AAA service, AAA-S) through the authentication, authorization, and accounting (AAA) proxy (AAA-proxy) to achieve network slice-specific authentication and authorization.
[0206] The above introduction to the SC chain uses a decentralized core network as an example. In specific applications, the SC chain is also applicable to hybrid networks. In a hybrid network, the network can invoke at least one SC and / or at least one network function when providing services. That is, the network may not only invoke the SC but also the network function when providing services. Therefore, in hybrid networks, the SC chain can be replaced by a function chain. For example, for terminal registration request services, one or more of the AMF-SC, AUSF-SC, and UDM-SC can be replaced by the corresponding network function. For example, in a hybrid network where the AMF is deployed as an SBA and the AUSF and UDM are deployed as SCs, the AMF-SC can be replaced by the AMF. That is, after the hybrid network receives a terminal registration request, the AMF network element performs the corresponding processing and invokes the AUSF-SC, which in turn invokes the UDM-SC. Therefore, the function chain for the terminal registration request service includes AMF => AUSF-SC => UDM-SC. The service invocation method described below in this application uses the SC chain as an example. It should be understood that the service invocation method provided in this application is also applicable to function chains. The logic of the hybrid networking processing function chain is similar to the logic of the decentralized core network processing SC chain. You can refer to the relevant description of the decentralized core network processing SC chain in this application and will not repeat it here.
[0207] 11. SC deployment on blockchain
[0208] In this application, SC is a piece of executable code used to implement network functions, so deploying SC on the blockchain can be understood as installing / deploying the SC on a blockchain node. It should be understood that the blockchain node has the operating environment of the SC.
[0209] It is understood that an SC can be installed on multiple blockchain nodes, but not every blockchain node is a node that executes (or runs) the SC. For example, some of the multiple blockchain nodes may be the execution nodes of the SC, while others may be used to verify the execution results of the SC and serve as the verification nodes of the SC to ensure the correctness of the SC's execution results. The number of SC execution nodes is greater than or equal to 1, and the number of SC verification nodes is greater than or equal to 1.
[0210] It is understandable that SC can be installed on multiple blockchain nodes of a blockchain, or on multiple blockchain nodes of multiple blockchains, without restriction.
[0211] For example, Figure 5 shows a schematic diagram of SC deployment. In Figure 5, SCs 517, 518, and 519 are deployed on blockchain (BC) 514, which is deployed on blockchain nodes 506, 508, 510, and 513. That is, SCs 517, 518, and 519 are installed on blockchain nodes 506, 508, 510, and 513. However, not all of these blockchain nodes are execution nodes for SCs 517, 518, and 519. For example, in the figure, the execution nodes for SCs 517 and 518 are blockchain nodes 506 and 508, while the execution nodes for SC 519 are blockchain nodes 510 and 513. SC 520 is deployed on blockchain 515, which is deployed on blockchain nodes 509 and 512. That is, SC 520 is installed on blockchain node 509 and blockchain node 512. In Figure 5, blockchain node 509 and blockchain node 512 are both execution nodes of SC 520. SC 521 and SC 522 are deployed on blockchain 516, which is deployed on blockchain node 507 and blockchain node 511. That is, SC 521 and SC 522 are installed on blockchain node 507 and blockchain node 511. In Figure 5, blockchain node 507 and blockchain node 511 are both execution nodes of SC 521 and SC 522.
[0212] It is understood that blockchain nodes can be deployed on physical nodes, which can be deployed in data centers. For example, in Figure 5, blockchain nodes 506 through 507 are deployed on physical node 503, which is deployed in data center 501. Blockchain nodes 508 through 510 are deployed on physical node 504, and blockchain nodes 511 through 513 are deployed on physical node 505, which is deployed in data center 502.
[0213] In this application, if the SC is installed on a blockchain node, the information of the SC is stored in the blockchain node (or the blockchain maintained by the blockchain node).
[0214] In one possible design, the SC information includes an identifier of the SC, wherein the identifier of the SC can be used to indicate the SC, for example, an SC ID or an Internet Protocol (IP) address of the SC.
[0215] Optionally, the information of the SC also includes at least one of the following: the identifier of the blockchain where the SC is located, the information of the execution node of the SC, the information of the verification node of the SC, the information of the node where the SC is deployed, the key information of the SC, the token access method information of the SC, the version information of the SC, the input parameters of the network functions possessed by the SC, or the information of the network functions possessed by the SC.
[0216] In this application, the identifier of the blockchain where the SC is located is used to indicate the blockchain where the SC is located or the blockchain where the SC is deployed, for example, the ID of the blockchain. The information of the execution node of the SC is used to indicate the execution node of the SC, for example, the information of the execution node of the SC includes the identifier of the execution node of the SC or the IP address of the execution node of the SC. The information of the verification node of the SC is used to indicate the verification node of the SC, for example, the information of the verification node of the SC includes the identifier of the verification node of the SC or the IP address of the verification node of the SC. The information of the node where the SC is deployed is used to indicate the node where the SC is deployed (or installed), for example, the information of the node where the SC is deployed includes the identifier of the node where the SC is deployed (or installed), or the IP address of the node where the SC is deployed (or installed). The key information of the SC includes one or more of the public key of the SC, the public key certificate of the SC, or the private key of the SC. The token access method information of the SC is used to indicate the token access method of the SC. The token access method information of the SC includes the identifier of the SC that the SC can access. Optionally, the token access method information of the SC includes the validity period during which the SC can access. The SC's version information is used to indicate the SC's version. For example, the SC's version information includes the SC's version number. The SC's network function information is used to indicate the SC's network functions. For example, the SC's network function information includes the SC's network function identifier or the interface provided by the SC's network function. The SC's network function information may also include the terminal number segments supported by the SC's network function and / or the location information of the SC's network function. The SC's identifier and the SC's token access method information may be referred to as the SC's account.
[0217] The above is a detailed introduction to the decentralized core network and the SC deployed in the core network. In the above-mentioned decentralized core network, the network functions of the core network are deployed on the blockchain in the form of SC. Based on this idea, the present application also provides a communication system that can realize the integration of the blockchain network and the core network. The communication system can be applicable to various communication scenarios, for example, the communication system is a long-term evolution (LTE) system, a fifth-generation (5G) communication system, a wireless fidelity (WiFi) system, a communication system related to the third-generation partnership project (3GPP), a communication system evolved after 5G (such as: 6G communication system, etc.), or a system that integrates multiple systems, etc., without limitation. Among them, 5G can also be called new radio (NR). The following is an introduction using the communication system 60 shown in Figure 6 as an example. Figure 6 is only a schematic diagram and does not constitute a limitation on the applicable scenarios of the technical solution provided by this application.
[0218] The communication system 60 shown in Figure 6 includes at least two communicatively connected nodes, such as node 6011 and node 6012. The at least two nodes maintain at least one blockchain, on which at least one SC with network functionality is deployed. Optionally, the at least two nodes are blockchain nodes. This application does not limit the connection method between the at least two nodes; for example, the connection may be wired or wireless. Wireless methods include 3G, 4G, 5G, or 6G communication methods.
[0219] Optionally, the network function of the core network is used to provide at least one of the following services: contract service, authentication service, registration service, mobility management service, policy management service, data processing service, billing service, session management service, or at least one service that can be provided by the core network after 5G (such as 6G core network). For example, the core network after 5G can provide at least one of the following services: computing service, perception service, or AI service. It can be understood that the above services are only examples of services provided by the network functions of the core network. In specific applications, the network functions of the core network can provide more or fewer services than the above services without limitation.
[0220] Exemplarily, the network functions of the core network include at least one of the following: access function, mobility management function, network storage function, unified data management, authentication service function, session management function, user plane function, policy control function, network open function, computing plane function (such as the computing plane function in the 6G core network), data plane function (such as the data plane function in the 6G core network), or intelligent plane function (such as the intelligent plane function in the 6G core network). For example, the network functions of the core network include at least one of the following: AMF, NRF, UDM, AUSF, SMF, UPF, PCF, NEF, or functions corresponding to network functions that appear after 5G.
[0221] It is understood that communication system 60 can be applied to the aforementioned decentralized core network or hybrid network. In other words, network 601 where at least two nodes reside is the aforementioned decentralized core network or hybrid network. The following describes the specific application of communication system 60 to a decentralized core network or hybrid network, focusing on two scenarios: one in which at least two nodes jointly maintain a blockchain; and one in which at least two nodes each maintain a different blockchain.
[0222] Case 1: At least two nodes jointly maintain a blockchain.
[0223] In one possible implementation, at least one blockchain includes a first blockchain, node 6011 and node 6012 jointly maintain the first blockchain, a first SC and a second SC are deployed on the first blockchain, the first SC has a first network function of the core network, and the second SC has a second network function of the core network.
[0224] For example, taking the decentralized core network 30 as an example, in which the network 601 containing at least two nodes is located, node 6011 and node 6012 are any two blockchain nodes in the decentralized core network 30. For example, node 6011 is blockchain node 3007, and node 6012 is blockchain node 3008. The first blockchain is blockchain 3001, and the first SC and the second SC are any two SCs from SC 3002 to SC 3004. For example, the first SC is SC 3002, and the second SC is SC 3004.
[0225] Optionally, the communication system 60 (or network 601) also includes: a network element of a core network (not shown in Figure 6) that is communicatively connected to at least two nodes, the network element of the core network is used to call the SC deployed on at least one blockchain, or the network element of the core network is used to provide services for the SC deployed on at least one blockchain.
[0226] Exemplarily, taking the network 601 where at least two nodes are located as the above-mentioned hybrid network 32 as an example, the network elements of the core network include NFs 3201 to 3206, and the network elements of at least one NF in 3211. Nodes 6011 and 6012 are blockchain nodes that maintain blockchain 3207. The first blockchain is blockchain 3207, the first SC is SC 3209, and the second SC is SC 3212. The network elements of the core network can call SC 3209 and / or SC 3212, or the network elements of the core network can provide services for SC 3209 and / or SC 3212.
[0227] In scenario 1, the first SC's information is stored on the first blockchain, or on nodes 6011 and 6012. The first SC's information includes the first SC's identifier. Optionally, the first SC's information also includes at least one of the following: the first blockchain's identifier, information about the execution node of the first SC, information about the node deploying the first SC, key information about the first SC, token access method information for the first SC, version information about the first SC, input parameters for the first network function, or information about the first network function. For a detailed description of the above information, please refer to the description of SC information above.
[0228] Case 2: At least two nodes maintain different blockchains.
[0229] In one possible implementation, at least one blockchain includes a first blockchain and a second blockchain, node 6011 maintains the first blockchain, node 6012 maintains the second blockchain, a first SC is deployed on the first blockchain, and a second SC is deployed on the second blockchain, the first SC has the first network function of the core network, and the second SC has the second network function of the core network.
[0230] For example, in the decentralized core network 31, the network 601 where at least two nodes are located is used as an example. Node 6011 is a blockchain node that maintains blockchain 3101, and node 6012 is a node that maintains blockchain 3102. The first blockchain is blockchain 3101, the second blockchain is blockchain 3102, the first SC is SC 3104 or SC 3107, and the second SC is SC 3105.
[0231] Optionally, the communication system 60 (or network 601) also includes: a network element of a core network (not shown in Figure 6) that is communicatively connected to at least two nodes, the network element of the core network is used to call the SC deployed on at least one blockchain, or the network element of the core network is used to provide services for the SC deployed on at least one blockchain.
[0232] Exemplarily, taking the network 601 where at least two nodes are located as the above-mentioned hybrid network 32 as an example, the network elements of the core network include NFs 3201 to 3206, and the network elements of at least one NF in 3211, node 6011 is a blockchain node that maintains blockchain 3207, node 6012 is a blockchain node that maintains blockchain 3208, the first blockchain is blockchain 3207, the second blockchain is blockchain 3208, the first SC is SC 3209, and the second SC is SC 3210. The network elements of the core network can call SC 3209 and / or SC 3210, or the network elements of the core network can provide services for SC 3209 and / or SC 3210.
[0233] In case 2, the information of the first SC is stored on the first blockchain, or the information of the first SC is stored on node 6011. The information of the second SC is stored on the second blockchain, or the information of the second SC is stored on node 6012. The information of the first SC includes the identifier of the first SC. Optionally, the information of the first SC also includes at least one of the following: the identifier of the first blockchain, the information of the execution node of the first SC, the information of the node deploying the first SC, the key information of the first SC, the token access method information of the first SC, the version information of the first SC, the input parameters of the first network function, or the information of the first network function. The information of the second SC includes the identifier of the second SC. Optionally, the information of the second SC also includes at least one of the following: the identifier of the second blockchain, the information of the execution node of the second SC, the information of the node deploying the second SC, the key information of the second SC, the token access method information of the second SC, the version information of the second SC, the input parameters of the second network function, or the information of the second network function.
[0234] For the above-mentioned cases 1 and 2, the communication system 60 may further have the following features:
[0235] In one possible implementation, the communication system 60 further includes a RAN 602 connected to the network 601. The RAN 602 may be a 3GPP-related cellular system, such as a 3G, 4G, or 5G mobile communication system, or a system evolved after 5G (such as a 6G mobile communication system). The RAN 602 may also be an ORAN, a CRAN, or a WiFi system. The RAN 602 may also be a communication system that integrates two or more of the above systems.
[0236] RAN 602 includes at least one RAN node (as shown in FIG6 , one RAN node 6021). RAN 602 also includes at least one terminal (as shown in FIG6 , three terminals, namely, terminal 6022 through terminal 6024). The terminal in FIG6 can be wirelessly connected to RAN node 6021. RAN node 6021 is sometimes also referred to as access network equipment, a RAN entity, or an access node, and constitutes part of a communication system, facilitating wireless access for terminals. RAN node 6021 can be communicatively connected to at least one node in network 601. For example, if network 601 is the decentralized core network 30 described above, RAN node 6021 can be connected to at least one blockchain node in the decentralized core network 30. For example, RAN node 6021 is connected to blockchain node 3008. If network 601 is the decentralized core network 31 described above, RAN node 6021 can be connected to at least one blockchain node in the decentralized core network 31. For example, RAN node 6021 is connected to a blockchain node that has an AMF-SC and / or UPF-SC installed. For example, if SC 3104 is an AMF-SC and SC 3105 is a UPF-SC, RAN node 6021 is connected to the blockchain node that maintains blockchain 3101 and / or the blockchain node that maintains blockchain 3102. If network 601 is the aforementioned hybrid network 32, RAN node 6021 may be connected to at least one network element or at least one blockchain node in hybrid network 32. Specifically, RAN node 6021 is connected to both the AMF network element and the UPF network element. For example, if NF 3204 is an AMF and NF 3211 is a UPF, RAN node 6021 is connected to both the network element where NF 3204 is located and the network element where NF 3211 is located. Alternatively, the RAN node 6021 is connected to the blockchain node where the AMF-SC and UPF-SC are installed. Taking SC 3209 as the AMF-SC and SC 3212 as the UPF-SC as an example, the RAN node 6021 is connected to the blockchain node that maintains blockchain 3207. Alternatively, the RAN node 6021 is connected to the UPF network element and the blockchain node where the AMF-SC is installed. Taking NF 3211 as the UPF and SC 3210 as the AMF-SC as an example, the RAN node 6021 is connected to the network element where NF 3211 is located and the blockchain node that maintains blockchain 3208.
[0237] In one possible design, RAN nodes and / or terminals are used to invoke SCs deployed on at least one blockchain. In other words, the RAN nodes and / or terminals have the ability to invoke SCs on blockchains. For specific invocation methods, refer to the corresponding descriptions of the methods shown in Figures 8-11 below. For further information on terminals and RAN nodes, refer to the previous descriptions of terminals and RAN nodes and are omitted here.
[0238] In one possible implementation, any one of the at least two nodes is configured to receive an SC invocation request to invoke the SC. The SC invocation request originates from one or more of a terminal, a RAN node, an AF network element, a network function network element, or an OAM network element. This process is described in the methods shown in Figures 8 and 9 below.
[0239] In one possible implementation, the communication system 60 further includes a node 6013. Node 6013 is used to parse the service call request and obtain the call information of at least one SC corresponding to the service call request, so as to implement the service call by calling at least one SC. The service call request originates from one or more of the terminal, RAN node, AF network element, network function network element, and OAM network element. This process will be described in the method shown in Figures 10 and 11 below. Optionally, node 6013 and node 6011 are deployed on the same physical node or different physical nodes; or, node 6013 and node 6012 are deployed on the same physical node or different physical nodes.
[0240] In one possible implementation, the communication system 60 further includes at least one scheduling node (not shown in FIG6 ). Any scheduling node is used to schedule at least one SC. Taking network 601 as the decentralized core network 31 described above as an example, the decentralized core network 31 further includes a scheduling node 1 and a scheduling node 2 (not shown in FIG3B ), wherein scheduling node 1 is used to schedule SC 3104, SC 3107, and SC 3105, and scheduling node 2 is used to schedule SC 3106. Therefore, the node initiating the SC 3104 call can first send a request to call SC 3104 to scheduling node 1. After receiving the request, scheduling node 1 sends the request to the execution node of SC 3104, such as the node maintaining blockchain 3101, to call SC 3104. The node that initiates the SC 3106 call can first send the request to call SC 3106 to the scheduling node 2. After receiving the request, the scheduling node 2 sends the request to the execution node of SC 3106, such as the node that maintains the blockchain 3103, to call SC 3106.
[0241] It is understood that based on the concept of deploying core network network functions on the blockchain in the form of SCs, terminal functions, and / or RAN node functions, and / or OAM network elements can also be deployed on the blockchain in the form of SCs. Taking the example of deploying RAN node functions on the blockchain in the form of SCs, RAN node 6021 can be replaced with at least one blockchain node, which is equipped with at least one SC that performs the functions of RAN node 6021. The terminal or network 601 can communicate with the at least one blockchain node to invoke the at least one SC.
[0242] As will be understood, communication system 60 represents a novel network architecture provided by this application. How to invoke services within this novel network architecture is a challenge that needs to be addressed. Therefore, this application also provides a service invocation method, through which node 6011 or node 6012 can obtain an invocation request and, based on the invocation request, invoke a SC on the blockchain to implement the corresponding network function. This method is described in detail in the methods illustrated in Figures 8 and 9 below. Alternatively, node 6013 can obtain a service invocation request and determine the invocation information of at least one SC corresponding to the invocation request, thereby invoking the service by invoking the at least one SC. This method is described in detail in the methods illustrated in Figures 10 and 11 below.
[0243] The communication system 60 shown in Figure 6 is for illustrative purposes only and is not intended to limit the technical solutions of this application. Those skilled in the art will appreciate that, in a specific implementation, the communication system 60 may also include other devices, and the number of RAN nodes, terminals, core network elements, or blockchain nodes may be determined based on specific needs without limitation.
[0244] Optionally, each network element or device in Figure 6 of the present application (for example, RAN node 6021, terminal, node 6011 to node 6013, etc.) can also be referred to as a communication device, which can be a general device or a dedicated device. This application does not make specific limitations on this.
[0245] Optionally, the relevant functions of each network element or device (e.g., RAN node 6021, terminal, nodes 6011 to 6013, etc.) in FIG6 of the present application can be implemented by a single device, or can be implemented jointly by multiple devices, or can be implemented by one or more functional modules within a single device, and this application does not impose specific limitations on this. It is understood that the above functions can be components in a hardware device, software functions running on dedicated hardware, or a combination of hardware and software, or virtualized functions instantiated on a platform (e.g., a cloud platform).
[0246] In a specific implementation, each network element or device in Figure 6 of this application (e.g., RAN node 6021, terminal, nodes 6011 to 6013, etc.) can adopt the structure shown in Figure 7, or include the components shown in Figure 7. Figure 7 shows a schematic diagram of the hardware structure of a communication device applicable to this application. The communication device 70 includes at least one processor 701 and at least one communication interface 704, which are used to implement the method provided in this application. The communication device 70 may also include a communication circuit 702 and a memory 703.
[0247] The processor 701 can be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of the program of the present application.
[0248] The communication link 702 may include a path for transmitting information between the above components, such as a bus.
[0249] Communication interface 704 is used to communicate with other devices or communication networks. Communication interface 704 can be any transceiver-like device, such as an Ethernet interface, a radio access network (RAN) interface, a wireless local area network (WLAN) interface, a transceiver, a pin, a bus, an interface circuit, or a transceiver circuit.
[0250] The memory 703 can be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited to this. The memory can be independent and coupled to the processor 701 via a communication line 702. The memory 703 can also be integrated with the processor 701. The memory provided in this application can generally be non-volatile.
[0251] Among them, the memory 703 is used to store computer-executable instructions involved in executing the solution provided by this application, and is controlled by the processor 701. The processor 701 is used to execute the computer-executable instructions stored in the memory 703, thereby implementing the method provided by this application. Alternatively, optionally, in this application, the processor 701 may also perform the processing-related functions of the method provided below in this application, and the communication interface 704 is responsible for communicating with other devices or communication networks, which is not specifically limited in this application.
[0252] Optionally, the computer-executable instructions in this application may also be referred to as application code, which is not specifically limited in this application.
[0253] The coupling in this application is an indirect coupling or communication connection between devices, units or modules, which can be electrical, mechanical or other forms, and is used for information exchange between devices, units or modules.
[0254] As an embodiment, the processor 701 may include one or more CPUs, such as CPU0 and CPU1 in FIG. 7 .
[0255] As an embodiment, the communication device 70 may include multiple processors, such as processor 701 and processor 707 in Figure 7. Each of these processors may be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor. The processor herein may refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).
[0256] As an embodiment, the communication device 70 may further include an output device 705 and / or an input device 706. The output device 705 is coupled to the processor 701 and can display information in a variety of ways. For example, the output device 705 can be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector. The input device 706 is coupled to the processor 701 and can receive user input in a variety of ways. For example, the input device 706 can be a mouse, a keyboard, a touch screen device, or a sensor device.
[0257] It is understandable that the composition structure shown in Figure 7 does not constitute a limitation on the communication device. In addition to the components shown in Figure 7, the communication device may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.
[0258] The method provided by the present application will be described below with reference to the accompanying drawings. Each network element in the following embodiment may include the components shown in FIG7 , which will not be described in detail.
[0259] It is understood that in this application, " / " can indicate that the objects associated with each other are in an "or" relationship, for example, A / B can mean A or B; "and / or" can be used to describe that there are three relationships between the associated objects, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. In addition, expressions similar to "at least one of A, B and C" or "at least one of A, B or C" are usually used to indicate any of the following: A exists alone; B exists alone; C exists alone; A and B exist at the same time; A and C exist at the same time; B and C exist at the same time; A, B and C exist at the same time. The above uses A, B and C as an example to illustrate the optional items of the item. When there are more elements in the expression, the meaning of the expression can be obtained according to the above rules.
[0260] In order to facilitate the description of the technical solutions of the present application, in the present application, words such as "first" and "second" may be used to distinguish between technical features with the same or similar functions. The words such as "first" and "second" do not limit the quantity and execution order, and the words such as "first" and "second" do not necessarily limit them to be different. In the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design described as "exemplary" or "for example" should not be interpreted as being more preferred or more advantageous than other embodiments or design. The use of words such as "exemplary" or "for example" is intended to present related concepts in a concrete way for easy understanding.
[0261] It is understood that the "embodiment" mentioned throughout the specification means that the specific features, structures or characteristics related to the embodiment are included in at least one embodiment of the present application. Therefore, the various embodiments in the entire specification do not necessarily refer to the same embodiment. In addition, these specific features, structures or characteristics can be combined in one or more embodiments in any suitable manner. It is understood that in the various embodiments of the present application, the size of the sequence number of each process does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the present application.
[0262] It can be understood that in this application, "when", "if" and "if" all mean that corresponding processing will be taken under certain objective circumstances, and do not limit the time, nor do they require judgment actions when implementing them, nor do they mean that there are other limitations.
[0263] The term "simultaneously" in this application may be understood as at the same time point, within a period of time, or within the same cycle.
[0264] In this application, unless otherwise specified, "a plurality of" can be understood as two or more. For example, "a plurality of blockchain nodes" can be understood as two or more blockchain nodes.
[0265] It is understood that some optional features in this application may, in certain scenarios, be implemented independently of other features, such as the solution on which they are currently based, to solve corresponding technical problems and achieve corresponding effects. They may also be combined with other features in certain scenarios as needed. Accordingly, the devices provided in this application may also implement these features or functions accordingly, which will not be described in detail here.
[0266] It is understandable that the same step or steps or technical features with the same function in different embodiments of the present application can be referenced to each other.
[0267] The following describes the service invocation method provided by this application, taking the interaction between node 6011, node 6012, node 6013, RAN node 6021, and terminal 6022 as an example. It should be understood that node 6011, node 6012, node 6013, RAN node 6021, or terminal 6022 can perform some or all of the steps in this application. These steps are merely examples, and this application can also perform other steps or variations of various steps. In addition, the steps can be performed in a different order than those presented in this application, and it is possible that not all steps in this application need to be performed.
[0268] In addition, in the method provided below in this application, node 6011, node 6012, node 6013, RAN node 6021, and terminal 6022 are used as the execution subjects of the interaction diagram to illustrate the method, but this application does not limit the execution subjects of the interaction diagram. For example, the various nodes (such as node 6011, node 6012, node 6013, or RAN node 6021) in the method provided in the following embodiments of this application can also be chips, chip systems, or processors that support the node to implement the method, or can also be logical nodes, logical modules, or software that can implement all or part of the node functions; the terminal 6022 in the method provided below in this application can also be chips, chip systems, or processors that support the terminal 6022 to implement the method, or can also be logical nodes, logical modules, or software that can implement all or part of the terminal 6022 functions.
[0269] As shown in FIG8 , a service calling method provided by this application may include the following steps:
[0270] S801: Node 6011 obtains the first call request.
[0271] The first call request is used to call the first SC, which is deployed on the first blockchain and has the first network function of the core network. Node 6011 has the first SC installed and is the execution node of the first SC.
[0272] In one possible implementation, the first network function is used to provide signing service, authentication service, registration service, mobility management service, policy management service, data processing service, billing service, session management service, billing service or at least one service that the core network after 5G can provide.
[0273] In one possible implementation, the first network function includes at least one of the following: an access function, a mobility management function, a network storage function, a unified data management, an authentication service function, a session management function, a user plane function, a policy control function, a network open function, a computing plane function, a data plane function, or an intelligent plane function. For example, the first network function is an AMF, an NRF, an UDM, an AUSF, an SMF, an UPF, a PCF, a NEF, or a function corresponding to a network function that will appear in the future.
[0274] In the present application, the first call request includes information of the first SC. The information of the first SC may include an identifier of the first SC and / or input parameters of the first network function.
[0275] In one possible implementation, the information of the first SC also includes at least one of the following: an identifier of the first blockchain, information about the execution node of the first SC, information about the node deploying the first SC, key information of the first SC, token access method information of the first SC, version information of the first SC, or information about the first network function. For an introduction to the above information, please refer to the detailed introduction to SC information above.
[0276] As will be appreciated, the identifier of the first SC allows node 6011 to determine that the SC being executed is the first SC. The input parameters of the first network function allow node 6011 to use the input parameters of the first network function as the input parameters of the first SC to execute the first SC. The identifier of the first blockchain allows node 6011 to determine that the first SC is deployed on the first blockchain, and then determine the first SC in the first blockchain based on the identifier of the first SC. As will be appreciated, combining the identifier of the first blockchain and the identifier of the first SC can shorten the time it takes for node 6011 to determine the first SC. The information about the execution nodes of the first SC allows node 6011 to determine which execution nodes execute the first SC, or whether it is the execution node of the first SC. The information about the node that deploys the first SC allows node 6011 to determine which nodes deploy the first SC, or whether it deploys the first SC. The key information of the first SC allows node 6011 to obtain the key information of the first SC and verify the legitimacy of the node initiating the first call request based on the key information of the first SC (such as the public key or public key certificate of the first SC). The token access method information of the first SC allows node 6011 to determine the token access method of the first SC, such as the identifiers of the SCs accessible by the first SC and / or the expiration dates of the SCs accessible by the first SC, so as to facilitate subsequent access to these SCs. The version information of the first SC allows node 6011 to determine the version number of the first SC, compare it with the version of the first SC deployed on node 6011, and determine whether the first call request can call the first SC deployed on node 6011. The information of the first network function allows node 6011 to determine the network functions possessed by the first SC.
[0277] It is understandable that in different scenarios, the node 6011 obtains the first call request in different ways. The following is a detailed description of the method in conjunction with the following scenarios 1 to 3.
[0278] Scenario 1: Node 6011 obtains the first call request from the node that initiates the service call.
[0279] The node initiating the service call includes the terminal 6022, the RAN node 6021, the AF network element, the network function network element, or the OAM network element. That is, the terminal 6022, the RAN node 6021, the AF network element, the network function network element, or the OAM network element can initiate a call to the first SC. The network function network element is a network element corresponding to a network function other than the first network function.
[0280] In one possible implementation, when the node initiating the service call requests the first service from the network 601, the information of the first SC and the execution node of the first SC (i.e., node 6011) is determined based on the first service, and the first call request is sent to the node 6011. When the node 6011 receives the first call request, it is considered to have obtained the first call request. The above-mentioned first service can be any service provided by the network 601, such as: terminal registration request service, terminal service request service, terminal configuration update service, AF service request service, AN release request service, SMF service context transfer process service, or network slice-specific authentication and authorization service, etc.
[0281] In Scenario 1, the node initiating the service call can store or pre-acquire the correspondence between the first service, the first SC information, and the first SC's execution node (if the first SC information includes the first SC's execution node information, the node initiating the service call stores the correspondence between the first service and the first SC information). Taking the example of the first SC information including the first SC's identifier, the correspondence is shown in Table 1. If the node initiating the service call determines that the first service is a terminal registration request service, then, according to Table 1, the first SC is determined to be AMF-SC 1, and the first SC's execution node is blockchain node 1. Alternatively, if the node initiating the service call determines that the first service is a terminal service request service, then, according to Table 1, the first SC is determined to be AMF-SC 2, and the first SC's execution node is blockchain node 2. Alternatively, if the node initiating the service call determines that the first service is a terminal configuration update service, then, according to Table 1, the first SC is determined to be AMF-SC 3, and the first SC's execution node is blockchain node 3. Alternatively, if the node initiating the service call determines that the first service is an AF service request service, then, according to Table 1, the first SC is determined to be NEF-SC, and the first SC's execution node is blockchain node 4. Alternatively, if the node initiating the service call determines that the first service is an AN release request service, then according to Table 1, the first SC is determined to be AMF-SC 4, and the execution node of the first SC is blockchain node 5. Alternatively, if the node initiating the service call determines that the first service is an SMF service context transfer process service, then according to Table 1, the first SC is determined to be SMF-SC 1, and the execution node of the first SC is blockchain node 6. Alternatively, if the node initiating the service call determines that the first service is a network slice-specific authentication and authorization service, then according to Table 1, the first SC is determined to be AMF-SC 5, and the execution node of the first SC is blockchain node 7.
[0282] Table 1
[0283] Scenario 2: Node 6011 obtains the first call request from the scheduling node of the first SC.
[0284] The scheduling node of the first SC is used to schedule multiple SCs, and the multiple SCs include the first SC.
[0285] In one possible implementation, the node initiating the service call determines a first service, determines information about a first SC based on the first service, and sends a first call request to the scheduling node of the first SC. After receiving the first call request, the scheduling node of the first SC determines that the execution node for the first SC is node 6011 based on the first call request and sends the first call request to node 6011. Node 6011 receives the first call request, which means it has obtained the first call request.
[0286] In one possible implementation, the node initiating the service call stores the correspondence between the first service and the information of the first SC, so as to determine the first call request based on the first service and the correspondence. The scheduling node of the first SC stores the correspondence between the information of the first SC and the execution node of the first SC, so as to determine the execution node of the first SC based on the information of the first SC.
[0287] Scenario 3: Node 6011 obtains the first call request from the execution node of the third SC.
[0288] The execution node of the third SC is used to execute the third SC. The third SC is used to call the first SC. That is, to complete the first service, at least the third SC and the first SC must be called, or the SC chain of the first service includes at least the third SC and the first SC. The third SC has a third network function. For example, if the first service is an AF service request service, the third SC is an NEF-SC, the third network function is NEF, and the first SC is a UDM-SC, and the first network function is UDM.
[0289] In one possible implementation, the node initiating the service call determines the first service, determines information about a third SC and the execution node of the third SC based on the first service, and sends a third call request for calling the third SC to the execution node of the third SC. The third call request includes information about the third SC, and the content of the third SC information is similar to that of the first SC. For details, refer to the description of the information corresponding to the first SC above. After receiving the third call request, the execution node of the third SC executes the third SC. Subsequently, the execution node of the third SC determines that the first SC needs to be called again and sends the first call request to node 6011.
[0290] In scenario 3, the node that initiates the business call stores the correspondence between the first business, the information of the third SC and the execution node of the third SC (if the information of the third SC includes the information of the execution node of the third SC, the node that initiates the business call stores the correspondence between the information of the first business and the third SC) so as to determine the information of the third SC and the execution node of the third SC based on the first business. After the execution node of the third SC executes the third SC, it can obtain the information of the first SC. For example, the execution result of the third SC includes the information of the first SC, and the execution node of the third SC generates a first call request based on the information of the first SC. For another example, the node that initiates the business call sends the information of the first business, such as the identifier of the first business, to the execution node of the third SC. The execution node of the third SC determines that the SC chain of the first business includes the third SC and the first SC based on the information of the first business, and sends the first call request to the execution node of the first SC.
[0291] It should be understood that in scenario 3, the execution node of the third SC may send the first call request to the execution node 6011, or send the first call request to the node 6011 through the scheduling node of the first SC.
[0292] S802: Node 6011 executes the first SC and obtains the execution result of the first SC.
[0293] In one possible implementation, the node 6011 executes the executable code corresponding to the first SC to obtain the execution result of the first SC.
[0294] In the present application, the execution result of the first SC includes indication information for indicating whether the first SC is executed successfully. Optionally, the execution result of the first SC also includes at least one of the following: the reason for the execution error of the first SC or the output parameter of the first network function.
[0295] Optionally, node 6011 sends the execution result of the first SC. For example, in scenario 1, node 6011 sends the execution result of the first SC to the node that initiates the service call. In scenario 2, node 6011 sends the execution result of the first SC to the scheduling node of the first SC. After the scheduling node of the first SC receives the execution result of the first SC, it may send the execution result of the first SC to the node that initiates the service call. In scenario 3, node 6011 sends the execution result of the first SC to the execution node of the third SC. After the execution node of the third SC receives the execution result of the first SC, it may send the execution result of the third SC, or the execution result of the third SC and the execution result of the first SC, to the node that initiates the service call. The execution result of the third SC includes indication information for indicating whether the execution of the third SC is successful. Optionally, the execution result of the third SC also includes at least one of the following: the reason for the execution error of the third SC or the output parameter of the third network function.
[0296] Optionally, node 6011 sends the execution result of the first SC to the blockchain node that maintains the first blockchain, so that the blockchain node verifies and records the execution result of the first SC.
[0297] For example, taking the case where the first service is an AN release request service and AMF-SC is called to complete the first service, the terminal 6022 may send a first call request to the node 6011 through the RAN node 6021. After receiving the first call request, the node 6011 executes the AMF-SC to implement the AMF function, such as releasing the context of the terminal 6022, obtains the execution result of the AMF-SC, and sends the execution result of the AMF-SC to the RAN node 6021. After receiving the execution result of the AMF-SC, the RAN node 6021 may send the execution result of the AMF-SC to the terminal 6022.
[0298] Based on the method shown in Figure 8, node 6011 can obtain the first call request and execute the first SC according to the first call request, thereby invoking the first SC. Since the first SC has the first network function, node 6011 executing the first SC is equivalent to invoking the first network function, thereby invoking the first network function. Since the first SC is deployed on the first blockchain, it can be prevented from being tampered with, thereby improving communication security. Moreover, the distributed architecture of the blockchain allows for flexible deployment of the first SC on the first blockchain. For example, deploying the first SC on multiple blockchain nodes corresponding to the first blockchain will not affect the execution of the first SC if one blockchain node fails, thereby improving the robustness of the communication system. In addition, the execution results of the first SC can be recorded on the first blockchain in the form of transactions, facilitating traceability.
[0299] Optionally, in a possible implementation of the method shown in Figure 8, in order to complete the first business, the first SC needs to call the second SC. That is: for scenarios 1 and 2, to complete the first business, at least the first SC and the second SC need to be called, or the SC chain of the first business includes at least the first SC and the second SC; for scenario 3, to complete the first business, at least the third SC, the first SC and the second SC need to be called, or the SC chain of the first business includes at least the third SC, the first SC and the second SC. In this case, node 6011 also sends a second call request to call the second SC. For example, as shown in Figure 9, the method shown in Figure 8 also includes S803-S804, or the method shown in Figure 8 also includes S805-S807.
[0300] S803: Node 6011 sends a second call request to the execution node of the second SC. Correspondingly, the execution node of the second SC receives the second call request from node 6011.
[0301] In this application, the second call request is used to call a second SC. For example, the second call request includes information about the second SC. The second SC has a second network function of the core network. The second SC is deployed on the first blockchain or the second blockchain. It is understood that if the second SC is deployed on the second blockchain, the call from the first SC to the second SC is a cross-chain call, and the execution node of the first SC and the execution node of the second SC are located on different blockchains. If the second SC is deployed on the first blockchain, the information included in the second SC is similar to that included in the first SC. Please refer to the description of the information corresponding to the first SC above and will not be repeated here. If the second SC is deployed on the second blockchain, the information included in the second SC includes the identifier of the second SC, the identifier of the second blockchain, and the input parameters of the second network function. Optionally, the information of the second SC also includes at least one of the following: information about the execution node of the second SC, information about the node deploying the second SC, key information of the second SC, token access method information for the second SC, version information of the second SC, or information about the second network function. Optionally, the second call request also includes the identifier of the first blockchain and / or information about the first SC. The identifier of the first blockchain enables the execution node of the second SC to determine that the SC on the first blockchain is calling the second SC. The information of the first SC may enable the execution node of the second SC to determine the corresponding information of the first SC that calls the second SC.
[0302] In one possible implementation, the execution result of the first SC includes the information of the second SC, and the node 6011 generates a second call request based on the information of the second SC, and sends the second call request to the execution node of the second SC (such as node 6012). Alternatively, the node 6011 obtains the information of the first business, and determines that the SC chain of the first business includes the first SC and the second SC based on the information of the first business. The node 6011 stores the information of the second SC, generates a second call request based on the information of the second SC, and sends the second call request to the execution node of the second SC. Alternatively, the logic of calling the second SC is preset in the first SC, and the node 6011 triggers the call of the second SC during the execution of the first SC. At this time, the node 6011 can continue to execute the first SC, or continue to execute the first SC after obtaining the execution result of the second SC.
[0303] S804: The execution node of the second SC executes the second SC and obtains an execution result of the second SC.
[0304] It can be understood that the process in which the execution node of the second SC executes the second SC and obtains the execution result of the second SC is similar to the process in which the execution node of the first SC executes the first SC and obtains the execution result of the first SC. Therefore, you can refer to the corresponding description in S802 above and will not repeat it here.
[0305] Optionally, the execution node of the second SC sends the execution result of the second SC to node 6011. Accordingly, node 6011 receives the execution result of the second SC from the execution node of the second SC. After receiving the execution result of the second SC, node 6011 may send the execution result of the second SC to the node that initiated the service call, the scheduling node of the first SC, or the execution node of the third SC.
[0306] Optionally, if the second SC is deployed on the first blockchain, the execution node of the second SC sends the execution result of the second SC to the blockchain node that maintains the first blockchain, so that the blockchain node can verify and record the execution result of the second SC. If the second SC is deployed on the second blockchain, the execution node of the second SC sends the execution result of the second SC to the blockchain node that maintains the second blockchain, so that the blockchain node can verify and record the execution result of the second SC.
[0307] It is understood that if the second SC needs to call the fourth SC to complete the first service, the execution node of the second SC will also send a call request for calling the fourth SC until the first service is completed. The process of the second SC calling the fourth SC is similar to the process of the first SC calling the second SC, and can be referred to the corresponding description above.
[0308] For example, taking the first service as a terminal service request service, and the SC-chain of the first service including AMF-SC, AUSF-SC, SMF-SC and UPF-SC as an example, the terminal 6022 can send a first call request to the node 6011 through the RAN node 6021 to call the AMF-SC. After receiving the first call request, the node 6011 executes the AMF-SC to implement the function of the AMF, obtains the execution result of the AMF-SC, and determines that the AUSF-SC needs to be called again. Therefore, the node 6011 sends a second call request to the execution node of the AUSF-SC to call the AUSF-SC. After receiving the second call request, the execution node of the AUSF-SC executes the AUSF-SC to implement the function of the AUSF, obtains the execution result of the AUSF-SC, and determines that the SMF-SC needs to be called again. Therefore, the execution node of the AUSF-SC sends a fourth call request to the execution node of the SMF-SC to call the SMF-SC. After receiving the fourth call request, the SMF-SC execution node executes the SMF-SC to implement the SMF's functions, obtains the SMF-SC execution result, and determines that the UPF-SC needs to be called. Therefore, the SMF-SC execution node sends a fifth call request to the UPF-SC execution node to call the UPF-SC. After receiving the fifth call request, the UPF-SC execution node executes the UPF-SC to implement the UPF's functions, obtains the UPF-SC execution result, and sends the UPF-SC execution result to the SMF-SC execution node. After receiving the UPF-SC execution result, the SMF-SC execution node sends the SMF-SC execution result to the AUSF-SC execution node. After receiving the SMF-SC execution result, the AUSF-SC execution node sends the AUSF-SC execution result to node 6011. After receiving the AUSF-SC execution result, node 6011 sends the AMF-SC execution result to terminal 6022 via RAN 6021.
[0309] In S803 to S804, node 6011 sends the second call request to the execution node of the second SC. In a specific application, the second SC may have a corresponding scheduling node, and node 6011 may send the second call request to the scheduling node of the second SC, so that the scheduling node of the second SC can send the second call request to the execution node of the second SC. Therefore, S803 to S804 above can be replaced by S805 to S807.
[0310] S805: Node 6011 sends a second call request to the scheduling node of the second SC. Correspondingly, the scheduling node of the second SC receives the second call request from node 6011.
[0311] In this application, the scheduling node of the second SC is used to schedule multiple SCs, and the multiple SCs include the second SC. The introduction of the second SC and the second call request can be described in the corresponding parameter S803.
[0312] In one possible implementation, the execution result of the first SC includes information about the second SC and the scheduling node of the second SC, a second call request is generated based on the information of the second SC, and the second call request is sent to the scheduling node of the second SC. Alternatively, node 6011 obtains information about the first service and determines, based on the information of the first service, that the SC chain of the first service includes the first SC and the second SC. Node 6011 stores the correspondence between the second SC and the scheduling nodes of the second SC, as well as the information of the second SC, generates a second call request based on the information of the second SC, determines the scheduling node of the second SC based on the correspondence, and sends the second call request to the scheduling node of the second SC.
[0313] S806: The scheduling node of the second SC sends a second call request to the execution node of the second SC. Correspondingly, the execution node of the second SC receives the second call request from the scheduling node of the second SC.
[0314] It can be understood that after receiving the second call request, the scheduling node of the second SC can query the execution node of the second SC according to the information of the second SC included in the second call request, and send the second call request to the execution node of the second SC.
[0315] It can be understood that in specific applications, after the scheduling node of the second SC receives the second call request, it can further process the second call request, such as repackaging, adding new information or deleting information, etc., to obtain the sixth call request for calling the second SC, and send the sixth call request to the execution node of the second SC to call the second SC.
[0316] S807: The execution node of the second SC executes the second SC and obtains an execution result of the second SC.
[0317] It can be understood that the process in which the execution node of the second SC executes the second SC and obtains the execution result of the second SC is similar to the process in which the execution node of the first SC executes the first SC and obtains the execution result of the first SC. Therefore, you can refer to the corresponding description in S802 above and will not repeat it here.
[0318] Optionally, the execution node of the second SC sends the execution result of the second SC to node 6011 via the scheduling node of the second SC. Accordingly, node 6011 receives the execution result of the second SC from the execution node of the second SC via the scheduling node of the second SC. After receiving the execution result of the second SC, node 6011 may send the execution result of the second SC to the node that initiated the service call, the scheduling node of the first SC, or the execution node of the third SC.
[0319] Optionally, if the second SC is deployed on the first blockchain, the execution node of the second SC sends the execution result of the second SC to the blockchain node that maintains the first blockchain, so that the blockchain node can verify and record the execution result of the second SC. If the second SC is deployed on the second blockchain, the execution node of the second SC sends the execution result of the second SC to the blockchain node that maintains the second blockchain, so that the blockchain node can verify and record the execution result of the second SC.
[0320] It is understood that if the second SC needs to call the fourth SC to complete the first service, the execution node of the second SC will also send a call request to the scheduling node or execution node of the fourth SC to call the fourth SC until the first service is completed. The process of the second SC calling the fourth SC is similar to the process of the first SC calling the second SC, and can be referred to the corresponding description above.
[0321] It can be understood that the actions of the node 6011, terminal 6022, RAN node 6021, AF network element, network function network element, OAM network element, execution node of the first SC, scheduling node of the first SC, execution node of the second SC or scheduling node of the second SC in the above S801-S807 can be executed by the processor 701 in the communication device 70 shown in Figure 7 calling the application code stored in the memory 703, and this application does not impose any restrictions on this.
[0322] In the method shown in Figure 8 or Figure 9, the terminal 6022, the RAN node 6021, the AF network element, the network function network element, or the OAM network element can determine the SC to be called based on the first service. In other words, the terminal 6022, the RAN node 6021, the AF network element, the network function network element, or the OAM network element has the ability to call the SC. Moreover, when the first service corresponds to an SC chain, the execution node of the SC in the SC chain can trigger the call of the next SC, thereby forming an SC chain and completing the call of the first service. In order to complete the above operations, the terminal 6022, the RAN node 6021, the AF network element, the network function network element, the OAM network element, and the execution node of the SC in the SC chain need to pre-set the corresponding operation process. Therefore, the method shown in Figure 8 or Figure 9 is applicable to standardized service call processes, fixed service call processes, or service call processes triggered by specific nodes, and has high execution efficiency.
[0323] Understandably, pre-setting corresponding operational procedures in terminal 6022, RAN node 6021, AF network element, network function network element, OAM network element, and the SC execution nodes in the SC chain is not universally applicable. Therefore, to accommodate devices that lack the ability to invoke SCs or nodes that lack the ability to trigger SC invocation, node 6013 can be deployed in network 601 to parse service invocation requests and obtain the SC chain for that service. Optionally, node 6013 can also manage the invocation of SCs in the SC chain. This is explained in detail below.
[0324] As shown in FIG10 , another service calling method provided by the present application may include the following steps:
[0325] S1001: Node 6013 obtains a call request for a first service.
[0326] The invocation request of the first service is used to invoke the first service. For an introduction to the first service, reference may be made to the corresponding description in S801. The invocation request of the first service includes information of the first service, such as an identifier of the first service and / or parameters of the first service.
[0327] In one possible implementation, a node initiating a service invocation, such as terminal 6022, RAN node 6021, AF network element, network function network element, or OAM network element, sends a first service invocation request to node 6013. Accordingly, node 6013 receives the first service invocation request from terminal 6022, RAN node 6021, AF network element, network function network element, or OAM network element. Upon receiving the first service invocation request, node 6013 obtains the first service invocation request.
[0328] S1002: The node 6013 determines the calling information of at least one SC corresponding to the calling request of the first service.
[0329] The at least one SC is included in the SC chain of the first service. Any one of the at least one SC is deployed on the blockchain and has core network network functions. The core network network functions are used to provide at least one of the following services: subscription service, authentication service, registration service, mobility management service, policy management service, data processing service, billing service, session management service, or at least one service provided by the core network after 5G. Specifically, the core network network functions include at least one of the following: access function, mobility management function, network storage function, unified data management, authentication service function, session management function, user plane function, policy control function, network openness function, computing plane function, data plane function, or intelligent plane function. For example, the core network network functions include at least one of the following: AMF, NRF, UDM, AUSF, SMF, UPF, PCF, NEF, or functions corresponding to future network functions.
[0330] In the present application, the calling information of at least one SC is used to indicate at least one SC and the calling order of at least one SC. For example, the calling information includes information of each SC in at least one SC, and the position of the SC information in the calling information can indicate the calling order of the SC. The content included in the information of any SC is similar to the content included in the information of the first SC in S801, and reference can be made to the corresponding description in S801. Optionally, the calling information of at least one SC also includes an identifier for identifying the execution order of the SC.
[0331] For example, if at least one SC includes a first SC and a second SC, the calling information of the at least one SC may be as shown in Table 2. The calling information shown in Table 2 indicates that the SC chain of the first service includes the first SC and the second SC. When the first service is called, the network 601 first calls the first SC, and the first SC calls the second SC.
[0332] Table 2
[0333] It will be appreciated that Table 2 is merely an example of the call information of at least one SC. In specific applications, the call information of at least one SC may include more or fewer rows or more or fewer columns than those in Table 2. Furthermore, the call information of at least one SC may be presented in forms other than a list, without limitation.
[0334] In a possible implementation, the node 6013 obtains the calling information of at least one SC according to the information of the first service.
[0335] Exemplarily, node 6013 stores a correspondence between information about the first service and call information for at least one SC. Upon receiving a call request for the first service, node 6013 can obtain the call information for at least one SC based on the information about the first service and the correspondence. In this way, corresponding call information can be determined for standardized services. A standardized service can be understood as one with a defined service call process.
[0336] Exemplarily, a neural network model or executable code is pre-installed in node 6013. This neural network model or executable code can determine corresponding call information for a service based on the service information. In this way, corresponding call information can be determined for standardized services and / or non-standardized services. Non-standardized services can be understood as services for which the service call process is not yet defined, such as newly emerging services or services with different service call processes for different service providers.
[0337] Based on the method shown in Figure 10, node 6013 can obtain a call request for a first service and determine the call information of at least one SC corresponding to the call request for the first service, so that it can subsequently call the SC based on the call information, thereby invoking the first service. In the method shown in Figure 10, node 6013 has the ability to parse the call request for the first service and determine the SC chain for the first service. Therefore, the node initiating the service call does not need to be able to call the SC. This simplifies the operation of the node initiating the service call, improves the compatibility of the method shown in Figure 10, reduces the complexity of the node initiating the service call, and lowers the performance requirements of the node initiating the service call. In addition, since any one of the at least one SC is deployed on the blockchain and has the network functions of the core network, it can prevent tampering of the SC, thereby improving communication security. Moreover, the distributed architecture of the blockchain allows for flexible deployment of SCs on the blockchain. For example, by deploying SCs on multiple blockchain nodes corresponding to the blockchain, the failure of a blockchain node will not affect the execution of the SC, thereby improving the robustness of the communication system.
[0338] Optionally, in a possible implementation of the method shown in Figure 10, node 6013 can manage the calling of SCs in the SC chain. For example, node 6013 initiates a call to the execution node of the first SC in at least one SC, and sends the calling information of at least one SC so that the execution node calls the next SC. This process can refer to S1003-S1008 below. For another example, node 6013 calls at least one SC in sequence according to the calling information of at least one SC. This process can refer to S1009-S1014 below. The following is a specific explanation based on the example that at least one SC includes a first SC and a second SC, and the first SC is used to call the second SC. Among them, the first SC has the first network function of the core network, and the second SC has the second network function of the core network. The first SC and the second SC are deployed on the same blockchain, or are deployed on different blockchains respectively.
[0339] As shown in FIG11 , the method shown in FIG10 further includes S1003 - S1008 or S1009 - S1014 .
[0340] S1003: Node 6013 sends a first call request and call information of at least one SC to the execution node of the first SC. Correspondingly, the execution node of the first SC receives the first call request and call information of at least one SC from node 6013.
[0341] The first call request is used to call a first SC, which is deployed on a first blockchain and has a first network function of the core network. The execution node of the first SC is installed with the first SC and is configured to execute the first SC. Optionally, the first network function is configured to provide a contracting service, an authentication service, a registration service, a mobility management service, a policy management service, a data processing service, a billing service, a session management service, or at least one service provided by a post-5G core network. Specifically, the first network function is an access function, a mobility management function, a network storage function, a unified data management function, an authentication service function, a session management function, a user plane function, a policy control function, a network openness function, a computing plane function, a data plane function, or an intelligent plane function. For example, the first network function is an AMF, NRF, UDM, AUSF, SMF, UPF, PCF, NEF, or a function corresponding to a future network function. The first call request includes information about the first SC. For details, please refer to the corresponding description in S801.
[0342] It is understandable that node 6013 may send the first call request directly to the execution node of the first SC, or send the first call request to the execution node of the first SC through the scheduling node of the first SC. For example, node 6013 determines the execution node of the first SC based on the information of the first SC and sends the first call request to the execution node of the first SC. For another example, node 6013 determines the scheduling node of the first SC based on the information of the first SC and sends the first call request to the scheduling node of the first SC. After receiving the first call request, the scheduling node of the first SC sends the first call request to the execution node of the first SC.
[0343] S1004: The execution node of the first SC executes the first SC and obtains an execution result of the first SC.
[0344] It can be understood that the process of S1004 is similar to the process of S802. Please refer to the corresponding description in S802 and do not elaborate on it.
[0345] S1005: The execution node of the first SC sends a second call request to the execution node of the second SC. Correspondingly, the execution node of the second SC receives the second call request from the execution node of the first SC.
[0346] It is understandable that the execution node of the first SC determines to call the second SC based on the call information of at least one SC, and sends the second call request to the execution node of the second SC. The execution node of the first SC may send the second call request directly to the execution node of the second SC, or send the second call request to the execution node of the second SC through the scheduling node of the second SC.
[0347] S1006: The execution node of the second SC executes the second SC and obtains an execution result of the second SC.
[0348] It can be understood that the specific process of S1005-S1006 is similar to the process of S803-S804. Please refer to the corresponding description in S803-S804 and no further details will be given.
[0349] It is understandable that if at least one SC also includes other SCs, the execution node of the second SC continues to send call requests and call information of SCs in at least one SC other than the first and second SCs until the call of at least one SC is completed. For example, if at least one SC also includes a fourth SC and a fifth SC, the second SC is used to call the fourth SC, and the fourth SC is used to call the fifth SC, then the execution node of the second SC sends the fourth call request and the call information of the fifth SC to the execution node of the fourth SC. After receiving the fourth call request and the call information of the fifth SC, the execution node of the fourth SC executes the fourth SC according to the fourth call request, and initiates the call of the fifth SC according to the call information of the fifth SC.
[0350] S1007: The execution node of the second SC sends the execution result of the second SC to the execution node of the first SC. Correspondingly, the execution node of the first SC receives the execution result of the second SC from the execution node of the second SC.
[0351] S1008: The execution node of the first SC sends the execution result of the first SC to the node 6013. Correspondingly, the node 6013 receives the execution result of the first SC from the execution node of the first SC.
[0352] It will be appreciated that after at least one SC call is completed, such as when node 6013 receives the execution result of the first SC, it may send the call result of the first service to the node that initiated the service call. The call result of the first service includes information indicating whether the call of the first service was successful. Optionally, the call result of the first service also includes at least one of the following: the reason for the error in calling the first service or the parameters to be returned by calling the first service.
[0353] In S1003-S1008, after parsing the call request of the first service and obtaining call information of at least one SC, node 6013 may send the call information of at least one SC to the execution node of the SC, so that the execution node of the SC sequentially calls the SC according to the call order indicated by the call information. In a specific application, node 6013 may not send the call information of at least one SC, but instead manage the call of the SC itself, as described in S1009-S1014.
[0354] S1009 : Node 6013 sends a first call request to the execution node of the first SC. Correspondingly, the execution node of the first SC receives the first call request from node 6013 .
[0355] S1010: The execution node of the first SC executes the first SC and obtains an execution result of the first SC.
[0356] It can be understood that the specific process of S1009-S1010 is similar to the process of S1003-S1004. Please refer to the corresponding description in S1003-S1004 and no further details will be given.
[0357] S1011: The execution node of the first SC sends the execution result of the first SC to the node 6013. Correspondingly, the node 6013 receives the execution result of the first SC from the execution node of the first SC.
[0358] S1012: Node 6013 sends a second call request to the execution node of the second SC. Correspondingly, the execution node of the second SC receives the second call request from node 6013.
[0359] S1013: The execution node of the second SC executes the second SC and obtains an execution result of the second SC.
[0360] It can be understood that the specific process of S1012-S1013 is similar to the process of S1003-S1004. Please refer to the corresponding description in S1003-S1004 and no further details will be given.
[0361] S1014: The execution node of the second SC sends the execution result of the second SC to the node 6013. Correspondingly, the node 6013 receives the execution result of the second SC from the execution node of the second SC.
[0362] It is understood that if at least one SC also includes other SCs, node 6013 will continue to send call requests until the call of at least one SC is completed. For example, if at least one SC also includes a fourth SC, and the second SC is used to call the fourth SC, node 6013 will send a fourth call request to the execution node of the fourth SC to call the fourth SC.
[0363] It is understandable that after at least one SC call is completed, such as after node 6013 receives the execution result of the second SC, it can send the call result of the first service to the node that initiated the service call.
[0364] It can be understood that the actions of the node 6013, terminal 6022, RAN node 6021, AF network element, network function network element, OAM network element, execution node of the first SC, scheduling node of the first SC, execution node of the second SC or scheduling node of the second SC in the above S1001-S1014 can be executed by the processor 701 in the communication device 70 shown in Figure 7 calling the application code stored in the memory 703, and this application does not impose any restrictions on this.
[0365] In the methods shown in Figures 10 or 11, a coordinator node, such as node 6013, is deployed in network 601 to parse service call requests and obtain the service's SC chain. Subsequently, the coordinator node can also manage the invocation of SCs in the SC chain. For scenarios with complex service calls or where the coordinator node has weak computing power, it is possible to consider deploying multiple coordinator nodes in network 601. The service call requests and / or invoked SCs handled by different coordinator nodes can be divided according to specific policies.
[0366] In one possible implementation, multiple coordination nodes correspond to different nodes initiating service calls. For example, multiple coordination nodes correspond to different external function interfaces and receive service call requests sent by different nodes initiating service calls.
[0367] For example, assuming that five coordination nodes, namely coordination nodes 1201 to 1205, are deployed in network 601, and multiple SCs, such as SC 1206, SC 1207, SC 1208, etc., are deployed in network 601, the corresponding relationship between the node initiating a service call (such as terminal 6022, RAN node 6021, AF network element, network function network element, or OAM network element) and the coordination node can be shown in Figure 12A. The service call request sent by terminal 6022 is sent to coordination node 1201. After coordinating node 1201 parses the service call request, it uses the method shown in Figure 11 to call the SC corresponding to the service call request, as shown in Figure 12A. The service call request sent by RAN node 6021 is sent to coordination node 1202. After coordinating node 1202 parses the service call request, it uses the method shown in Figure 11 to call the SC corresponding to the service call request, as shown in Figure 12A. The service call request sent by the AF network element is sent to coordination node 1203. After parsing the service call request, coordination node 1203 uses the method shown in FIG11 to call the corresponding SC for the service call request, as shown in FIG12A . The service call request sent by the network function network element is sent to coordination node 1204. After parsing the service call request, coordination node 1204 uses the method shown in FIG11 to call the corresponding SC for the service call request, as shown in FIG12A . The service call request sent by the OAM network element is sent to coordination node 1205. After parsing the service call request, coordination node 1205 uses the method shown in FIG11 to call the corresponding SC for the service call request, as shown in FIG12A . In FIG12A , each node initiating a service call corresponds to a different coordination node. In specific applications, some nodes initiating service calls may share a coordination node. For example, if node 1202 is not deployed in network 601, terminal 6022 and RAN node 6021 may share coordination node 1201.
[0368] In one possible implementation, multiple coordination nodes correspond to call requests of different types of services, for example, multiple coordination nodes correspond to different external function interfaces, and receive call requests of different types of services.
[0369] For example, taking the case where three coordination nodes are deployed in network 601, namely coordination nodes 1211 to 1213, and multiple SCs are deployed in network 601, such as SC 1214, SC 1215, SC 1216, etc., the corresponding relationship between service types and coordination nodes can be shown in Figure 12B. A call request for a service of service type 1 is sent to coordination node 1211. After coordination node 1211 parses the call request for the service, it uses the method shown in Figure 11 to call the SC corresponding to the call request for the service, as shown in Figure 12B. A call request for a service of service type 2 is sent to coordination node 1212. After coordination node 1212 parses the call request for the service, it uses the method shown in Figure 11 to call the SC corresponding to the call request for the service, as shown in Figure 12B. A call request for a service of service type 3 is sent to coordination node 1213. After coordination node 1213 parses the call request for the service, it uses the method shown in Figure 11 to call the SC corresponding to the call request for the service, as shown in Figure 12B. In a specific application, some service types may share a coordination node. For example, the node 1213 is not deployed in the network 601 , and service type 2 and service type 3 share the coordination node 1212 .
[0370] In one possible implementation, multiple coordination nodes have a hierarchical relationship. For example, after a coordination node parses a service call request and obtains the service's SC chain, it distributes the SC chain to the coordination node at the next level according to a certain strategy, so that the coordination node at the next level can call the SC in the SC chain.
[0371] For example, in network 601, four coordination nodes, namely coordination nodes 1221 to 1224, are deployed, and multiple SCs, such as SC 1225, SC 1226, SC 1227, etc., are deployed. After coordinating node 1221 parses the service call request and obtains the SC chain of the service, it distributes the SC chain that meets condition 1 to coordinating node 1222, so that coordinating node 1222 can use the method shown in FIG11 to call the SC in the SC chain, such as the SC in FIG12C. It distributes the SC chain that meets condition 2 to coordinating node 1223, so that coordinating node 1223 can use the method shown in FIG11 to call the SC in the SC chain, such as the SC in FIG12C. It distributes the SC chain that meets condition 3 to coordinating node 1224, so that coordinating node 1224 can use the method shown in FIG11 to call the SC in the SC chain, such as the SC in FIG12C. The above conditions 1, 2, and 3 can be set as needed, such as setting conditions based on network functions. For example, condition 1 is that the SC in the SC chain includes AMF-SC, condition 2 is that the SC in the SC chain includes SMF-SC and UPF-SC, and condition 3 is that the SC in the SC chain includes AUSF-SC.
[0372] It is understood that a hierarchical approach with multiple coordination nodes can also be applied to Figure 12A or Figure 12B. Taking the hierarchical approach with multiple coordination nodes as shown in Figure 12A as an example, the service call request sent by terminal 6022 is sent to coordination node 1201. After coordinating node 1201 parses the service call request and obtains the service's SC chain, it distributes the SC chain to the coordination node at the next level according to a specific strategy, so that the coordination node at the next level can call the SC in the SC chain. It should be understood that coordination nodes 1202 to 1205 can also perform similar processing as coordination node 1201, and will not be further described.
[0373] It is understood that in the above examples, different coordination nodes can call the same or different SCs. Taking coordination node 1201 and coordination node 1204 as an example, coordination node 1201 and coordination node 1204 can both call SCs 1206 to 1208, or coordination node 1201 can call SC 1206 and SC 1207, and coordination node 1204 can call SC 1206 and SC 1208.
[0374] The various embodiments mentioned above in this application can be combined without limitation if there is no contradiction between the solutions.
[0375] The above mainly introduces the solution provided by this application from the perspective of interaction between various nodes. Accordingly, this application also provides a communication device, which can be node 6011 in the above method embodiment, or a device including the above node 6011, or a component that can be used for node 6011; alternatively, the communication device can be node 6013 in the above method embodiment, or a device including the above node 6013, or a component that can be used for node 6013; alternatively, the communication device can be the node that initiates the service call in the above method embodiment, or a device including the above node that initiates the service call, or a component that can be used for the node that initiates the service call. It is understandable that in order to implement the above functions, the above node 6011, node 6013, or the node that initiates the service call, etc., includes the corresponding hardware structure and / or software modules for performing each function. Those skilled in the art should readily appreciate that, in combination with the various exemplary units and algorithmic operations described in the embodiments disclosed herein, this application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in hardware or in a computer software-driven hardware manner depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0376] The present application can divide the functional modules of node 6011, node 6013, or the node that initiates the service call according to the above method example. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The above integrated modules can be implemented in the form of hardware or software functional modules. It is understood that the division of modules in this application is schematic and is only a logical functional division. In actual implementation, other division methods can be used.
[0377] For example, FIG13 illustrates a schematic structural diagram of a communication device 130, where the functional modules are divided in an integrated manner. The communication device 130 includes a processing module 1301. Optionally, the communication device 130 also includes an interface module 1302. The processing module 1301, also known as a processing unit, is configured to perform operations other than transceiver operations and may be, for example, a processing circuit or processor. The interface module 1302, also known as an interface unit, is configured to perform transceiver operations and may be, for example, an interface circuit, a transceiver, a transceiver, or a communication interface.
[0378] In some embodiments, the communication device 130 may further include a storage module (not shown in FIG. 13 ) for storing program instructions and data.
[0379] Exemplarily, the communication device 130 is used to implement the functions of the node 6013. The communication device 130 is, for example, the node 6013 described in the embodiment shown in FIG10 or the embodiment shown in FIG11.
[0380] The processing module 1301 is configured to obtain a call request for the first service. For example, the processing module 1301 may be configured to execute S1001.
[0381] Processing module 1301 is further configured to determine call information of at least one smart contract corresponding to the call request of the first service. Any one of the at least one smart contract is deployed on a blockchain and has core network functionality. For example, processing module 1301 may be configured to execute S1002.
[0382] In one possible implementation, the network functions of the core network are used to provide at least one of the following services: contract service, authentication service, registration service, mobility management service, policy management service, data processing service, billing service, session management service, or at least one service that the core network after 5G can provide.
[0383] In one possible implementation, at least one smart contract includes a first smart contract, and the interface module 1302 is used to send a first call request, where the first call request is used to call the first smart contract.
[0384] In one possible implementation, the interface module 1302 is specifically used to send a first call request to the scheduling node of the first smart contract; or, the interface module 1302 is specifically used to send a first call request to the execution node of the first smart contract.
[0385] In one possible implementation, the interface module 1302 is further configured to receive the execution result of the first smart contract.
[0386] In one possible implementation, the interface module 1302 is further configured to send call information of at least one smart contract.
[0387] In one possible implementation, at least one smart contract also includes a second smart contract, the first smart contract is used to call the second smart contract, and the interface module 1302 is further used to send a second call request, and the second call request is used to call the second smart contract.
[0388] In one possible implementation, the interface module 1302 is specifically used to send a second call request to the scheduling node of the second smart contract; or, the interface module 1302 is specifically used to send a second call request to the execution node of the second smart contract.
[0389] In one possible implementation, the interface module 1302 is specifically configured to receive the execution result of the second smart contract.
[0390] In one possible implementation, the first smart contract has the first network function of the core network, and the second smart contract has the second network function of the core network.
[0391] In one possible implementation, the first call request includes an identifier of the first smart contract and input parameters of the first network function.
[0392] In one possible implementation, the first call request also includes at least one of the following: an identifier of the first blockchain, information of the execution node of the first smart contract, information of the node deploying the first smart contract, key information of the first smart contract, token access method information of the first smart contract, version information of the first smart contract, or information of the first network function.
[0393] In one possible implementation method, the first network function is an access function, a mobility management function, a network storage function, a unified data management, an authentication service function, a session management function, a user plane function, a policy control function, a network open function, a computing plane function, a data plane function or an intelligent plane function.
[0394] In a possible implementation, the processing module 1301 is specifically configured to receive, through the interface module 1302 , a call request for a first service from a terminal, a wireless access network node, an application function network element, a network function network element, or an operation management and maintenance network element.
[0395] In one possible implementation, the call information of at least one smart contract is used to indicate at least one smart contract and the calling order of at least one smart contract.
[0396] In a possible implementation, the interface module 1302 is configured to send the calling result of the first service.
[0397] When used to implement the function of the node 6013, regarding other functions that the communication device 130 can implement, please refer to the relevant introduction of the embodiment shown in Figure 10 or the embodiment shown in Figure 11, and no further details will be given.
[0398] Alternatively, illustratively, the communication device 130 is used to implement the functions of the node 6011. The communication device 130 is, for example, the node 6011 described in the embodiment shown in FIG8 or the embodiment shown in FIG9.
[0399] Processing module 1301 is configured to obtain a first call request. The first call request is configured to call a first smart contract, which is deployed on a first blockchain and has a first network function of a core network. For example, processing module 1301 may be configured to execute S801.
[0400] The processing module 1301 is further configured to execute the first smart contract and obtain an execution result of the first smart contract. For example, the processing module 1301 may be configured to execute S802.
[0401] In one possible implementation method, the first network function is used to provide contract service, authentication service, registration service, mobility management service, policy management service, data processing service, billing service, session management service or at least one service that can be provided by the core network after 5G.
[0402] In one possible implementation, the first smart contract is used to call the second smart contract, and the interface module 1302 is used to send a second call request, and the second call request is used to call the second smart contract.
[0403] In one possible implementation, the interface module 1302 is specifically used to send a second call request to the scheduling node of the second smart contract; or, the interface module 1302 is specifically used to send a second call request to the execution node of the second smart contract.
[0404] In one possible implementation, the interface module 1302 is configured to receive the execution result of the second smart contract.
[0405] In one possible implementation, the second smart contract has the second network function of the core network.
[0406] In one possible implementation, the first call request includes an identifier of the first smart contract and input parameters of the first network function.
[0407] In one possible implementation, the first call request also includes at least one of the following: an identifier of the first blockchain, information of the execution node of the first smart contract, information of the node deploying the first smart contract, key information of the first smart contract, token access method information of the first smart contract, version information of the first smart contract, or information of the first network function.
[0408] In one possible implementation, the processing module 1301 is specifically used to receive a first call request from a scheduling node, terminal, wireless access network node, application function network element, network function network element, operation management and maintenance network element of a first smart contract or an execution node of a third smart contract through the interface module 1302; wherein the third smart contract is used to call the first smart contract.
[0409] In one possible implementation method, the first network function is an access function, a mobility management function, a network storage function, a unified data management, an authentication service function, a session management function, a user plane function, a policy control function, a network open function, a computing plane function, a data plane function or an intelligent plane function.
[0410] When used to implement the functions of the node 6011, regarding other functions that the communication device 130 can implement, reference can be made to the relevant introduction of the embodiment shown in Figure 8 or the embodiment shown in Figure 9, and no further details will be given.
[0411] Alternatively, illustratively, the communication device 130 is used to implement the function of a node initiating a service call. The communication device 130 is, for example, the node initiating a service call as described in the embodiment shown in FIG8 or the embodiment shown in FIG9 .
[0412] The processing module 1301 is configured to determine a first call request, wherein the first call request is used to call a first smart contract, the first smart contract is deployed on a first blockchain, and the first smart contract has a first network function of a core network.
[0413] The interface module 1302 is configured to send a first call request.
[0414] In one possible implementation method, the first network function is used to provide contract service, authentication service, registration service, mobility management service, policy management service, data processing service, billing service, session management service or at least one service that can be provided by the core network after 5G.
[0415] In one possible implementation, the first call request includes an identifier of the first smart contract and input parameters of the first network function.
[0416] In one possible implementation, the first call request also includes at least one of the following: an identifier of the first blockchain, information of the execution node of the first smart contract, information of the node deploying the first smart contract, key information of the first smart contract, token access method information of the first smart contract, version information of the first smart contract, or information of the first network function.
[0417] In one possible implementation method, the first network function is an access function, a mobility management function, a network storage function, a unified data management, an authentication service function, a session management function, a user plane function, a policy control function, a network open function, a computing plane function, a data plane function or an intelligent plane function.
[0418] In one possible implementation, the interface module 1302 is further configured to receive the execution result of the first smart contract.
[0419] When used to implement the function of a node initiating a service call, regarding other functions that the communication device 130 can implement, reference can be made to the relevant introduction of the embodiment shown in Figure 8 or the embodiment shown in Figure 9, and no further details will be given.
[0420] In a simple embodiment, those skilled in the art may appreciate that the communication device 130 may be in the form shown in Figure 7. For example, the processor 701 in Figure 7 may call computer-executable instructions stored in the memory 703 to enable the communication device 130 to execute the method described in the above method embodiment.
[0421] Exemplarily, the functions / implementation processes of the processing module 1301 and the interface module 1302 in FIG13 may be implemented by the processor 701 in FIG7 calling computer-executable instructions stored in the memory 703. Alternatively, the functions / implementation processes of the processing module 1301 in FIG13 may be implemented by the processor 701 in FIG7 calling computer-executable instructions stored in the memory 703, and the functions / implementation processes of the interface module 1302 in FIG13 may be implemented by the communication interface 704 in FIG7.
[0422] It is understandable that one or more of the above modules or units can be implemented by software, hardware or a combination of the two. When any of the above modules or units is implemented by software, the software exists in the form of computer program instructions and is stored in a memory, and a processor can be used to execute the program instructions and implement the above method flow. The processor can be built into an SoC (system on chip) or an ASIC, or it can be an independent semiconductor chip. In addition to the core used to execute software instructions to perform calculations or processing within the processor, it can further include necessary hardware accelerators, such as field programmable gate arrays (FPGAs), PLDs (programmable logic devices), or logic circuits that implement dedicated logic operations.
[0423] When the above modules or units are implemented in hardware, the hardware can be any one or any combination of a CPU, a microprocessor, a digital signal processing (DSP) chip, a microcontroller unit (MCU), an artificial intelligence processor, an ASIC, a SoC, an FPGA, a PLD, a dedicated digital circuit, a hardware accelerator or a non-integrated discrete device, which can run the necessary software or not rely on the software to execute the above method flow.
[0424] Optionally, the present application also provides a chip system, comprising: at least one processor and an interface, wherein the at least one processor is coupled to a memory via the interface, and when the at least one processor executes a computer program or instruction in the memory, the method in any of the above method embodiments is executed. In one possible implementation, the chip system also includes a memory. Optionally, the chip system can be composed of a chip, or can include a chip and other discrete devices, which is not specifically limited in this application.
[0425] Optionally, the present application also provides a computer-readable storage medium. All or part of the processes in the above-mentioned method embodiments can be completed by a computer program to instruct the relevant hardware. The program can be stored in the above-mentioned computer-readable storage medium. When the program is executed, it can include the processes of the above-mentioned method embodiments. The computer-readable storage medium can be an internal storage unit of the communication device of any of the above-mentioned embodiments, such as a hard disk or memory of the communication device. The above-mentioned computer-readable storage medium can also be an external storage device of the above-mentioned communication device, such as a plug-in hard disk, a smart memory card (smart media card, SMC), a secure digital (secure digital, SD) card, a flash card (flash card), etc. equipped on the above-mentioned communication device. Furthermore, the above-mentioned computer-readable storage medium can also include both the internal storage unit of the above-mentioned communication device and an external storage device. The above-mentioned computer-readable storage medium is used to store the above-mentioned computer program and other programs and data required by the above-mentioned communication device. The above-mentioned computer-readable storage medium can also be used to temporarily store data that has been output or is to be output.
[0426] Optionally, the present application also provides a computer program product. All or part of the processes in the above method embodiments may be completed by a computer program instructing related hardware. The program may be stored in the above computer program product, and when executed, the program may include the processes in the above method embodiments.
[0427] Optionally, the present application also provides a computer instruction. All or part of the process in the above method embodiment can be completed by the computer instruction to instruct the relevant hardware (such as a computer or processor, etc.). The program can be stored in the above computer-readable storage medium or in the above computer program product.
[0428] Optionally, the present application also provides a communication system, including: the node 6011 in the above embodiment and a node that initiates a service call.
[0429] Through the description of the above implementation methods, technical personnel in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.
[0430] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the modules or units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0431] The units described as separate components may or may not be physically separate, and the components shown as units may be one physical unit or multiple physical units, that is, they may be located in one place or distributed in multiple places. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0432] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.
[0433] The above is only a specific embodiment of the present application, but the scope of protection of this application is not limited to this. Any changes or substitutions within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.
Claims
1. A communication system, characterized in that: The communication system includes: at least two nodes in communication connection, the at least two nodes maintain at least one blockchain, at least one smart contract is deployed on the blockchain, and any one of the at least one smart contract has the network function of the core network.
2. The communication system according to claim 1, characterized in that The network function of the core network is used to provide at least one of the following services: subscription service, authentication service, registration service, mobility management service, policy management service, data processing service, billing service, session management service, computing service, perception service or artificial intelligence service.
3. The communication system according to claim 1 or 2, characterized in that: The at least two nodes include a first node and a second node, the at least one blockchain includes a first blockchain, the first node and the second node jointly maintain the first blockchain, a first smart contract and a second smart contract are deployed on the first blockchain, the first smart contract has a first network function of the core network, and the second smart contract has a second network function of the core network.
4. The communication system according to claim 1 or 2, characterized in that: The at least two nodes include a first node and a second node, the at least one blockchain includes a first blockchain and a second blockchain, the first node maintains the first blockchain, the second node maintains the second blockchain, a first smart contract is deployed on the first blockchain, and a second smart contract is deployed on the second blockchain, the first smart contract has a first network function of the core network, and the second smart contract has a second network function of the core network.
5. The communication system according to claim 3 or 4, characterized in that: The first blockchain or the first node stores information about the first smart contract, and the information about the first smart contract includes an identifier of the first smart contract.
6. The communication system according to claim 5, characterized in that: The information of the first smart contract also includes at least one of the following: an identifier of the first blockchain, information of the execution node of the first smart contract, information of the node on which the first smart contract is deployed, key information of the first smart contract, token access method information of the first smart contract, version information of the first smart contract, input parameters of the first network function, or information of the first network function.
7. The communication system according to any one of claims 1 to 6, characterized in that: The communication system also includes a third node, which is used to parse the service call request and obtain the call information of at least one smart contract corresponding to the service call request.
8. The communication system according to claim 7, characterized in that: The service invocation request originates from one or more of a terminal, a wireless access network node, an application function network element, a network function network element or an operation management and maintenance network element.
9. The communication system according to any one of claims 1 to 8, characterized in that: Any one of the at least two nodes is used to receive a call request for a smart contract.
10. The communication system according to claim 9, characterized in that: The call request of the smart contract comes from one or more of a terminal, a wireless access network node, an application function network element, a network function network element or an operation management and maintenance network element.
11. The communication system according to any one of claims 1 to 10, characterized in that: The network functions of the core network include at least one of the following: access function, mobility management function, network storage function, unified data management, authentication service function, session management function, user plane function, policy control function, network open function, computing plane function, data plane function or intelligent plane function.
12. The communication system according to any one of claims 1 to 11, characterized in that: The communication system also includes: a wireless access network node that is communicatively connected to the at least two nodes, and the wireless access network node is used to call the smart contract deployed on the at least one blockchain.
13. The communication system according to any one of claims 1 to 12, characterized in that: The communication system also includes: a network element of the core network that is communicatively connected to the at least two nodes, the network element of the core network is used to call the smart contract deployed on the at least one blockchain, or the network element of the core network is used to provide services for the smart contract deployed on the at least one blockchain.
14. A service calling method, characterized in that: The method comprises: Obtaining a call request for a first service; Determine the call information of at least one smart contract corresponding to the call request of the first service, wherein any one of the at least one smart contract is deployed on the blockchain and has the network function of the core network.
15. The method according to claim 14, characterized in that The network function of the core network is used to provide at least one of the following services: subscription service, authentication service, registration service, mobility management service, policy management service, data processing service, billing service, session management service, computing service, perception service or artificial intelligence service.
16. The method according to claim 14 or 15, characterized in that The at least one smart contract includes a first smart contract, and the method further includes: Send a first call request, where the first call request is used to call the first smart contract.
17. The method according to claim 16, characterized in that The sending of the first call request comprises: Sending the first call request to the scheduling node of the first smart contract; or, Send the first call request to the execution node of the first smart contract.
18. The method according to claim 16 or 17, characterized in that The method further comprises: Receive the execution result of the first smart contract.
19. The method according to any one of claims 16 to 18, characterized in that: The method further comprises: Sending call information of the at least one smart contract.
20. The method according to any one of claims 16 to 19, characterized in that The at least one smart contract further includes a second smart contract, the first smart contract is used to call the second smart contract, and the method further includes: Send a second call request, where the second call request is used to call the second smart contract.
21. The method according to claim 20, characterized in that The sending of the second call request comprises: Sending the second call request to the scheduling node of the second smart contract; or, Send the second call request to the execution node of the second smart contract.
22. The method according to claim 20 or 21, characterized in that The method further comprises: Receive the execution result of the second smart contract.
23. The method according to any one of claims 20 to 22, characterized in that The first smart contract has a first network function of the core network, and the second smart contract has a second network function of the core network.
24. The method according to any one of claims 16 to 23, characterized in that: The first call request includes an identifier of the first smart contract and input parameters of the first network function.
25. The method according to claim 24, characterized in that The first call request also includes at least one of the following: an identifier of the blockchain where the first smart contract is located, information about the execution node of the first smart contract, information about the node on which the first smart contract is deployed, key information of the first smart contract, token access method information of the first smart contract, version information of the first smart contract, or information about the first network function.
26. The method according to any one of claims 16 to 25, characterized in that The first network function is an access function, a mobility management function, a network storage function, a unified data management, an authentication service function, a session management function, a user plane function, a policy control function, a network open function, a computing plane function, a data plane function or an intelligent plane function.
27. The method according to any one of claims 14 to 26, characterized in that The obtaining of the calling request for the first service includes: A call request for the first service is received from a terminal, a wireless access network node, an application function network element, a network function network element, or an operation management and maintenance network element.
28. The method according to any one of claims 14 to 27, characterized in that The calling information of the at least one smart contract is used to indicate the at least one smart contract and the calling order of the at least one smart contract.
29. The method according to any one of claims 14 to 28, characterized in that The method further comprises: Send the calling result of the first service.
30. A service calling method, characterized in that: The method comprises: Obtaining a first call request, where the first call request is used to call a first smart contract, where the first smart contract is deployed on a first blockchain, and where the first smart contract has a first network function of a core network; Execute the first smart contract to obtain an execution result of the first smart contract.
31. The method according to claim 30, characterized in that The first network function is used to provide contract service, authentication service, registration service, mobility management service, policy management service, data processing service, billing service, session management service, computing service, perception service or artificial intelligence service.
32. The method according to claim 30 or 31, characterized in that The first smart contract is used to call the second smart contract, and the method further includes: Send a second call request, where the second call request is used to call the second smart contract.
33. The method according to claim 32, characterized in that The sending of the second call request comprises: Sending the second call request to the scheduling node of the second smart contract; or, Send the second call request to the execution node of the second smart contract.
34. The method according to claim 32 or 33, characterized in that The method further comprises: Receive the execution result of the second smart contract.
35. The method according to any one of claims 31 to 34, characterized in that The second smart contract has the second network function of the core network.
36. The method according to any one of claims 30 to 35, characterized in that The first call request includes an identifier of the first smart contract and input parameters of the first network function.
37. The method according to claim 36, characterized in that The first call request also includes at least one of the following: an identifier of the first blockchain, information of an execution node of the first smart contract, information of a node on which the first smart contract is deployed, key information of the first smart contract, token access method information of the first smart contract, version information of the first smart contract, or information of the first network function.
38. The method according to any one of claims 30 to 37, characterized in that The obtaining of the first call request comprises: Receive the first call request from the scheduling node, terminal, wireless access network node, application function network element, network function network element, operation management and maintenance network element of the first smart contract or the execution node of the third smart contract; wherein the third smart contract is used to call the first smart contract.
39. The method according to any one of claims 30 to 38, characterized in that The first network function is an access function, a mobility management function, a network storage function, a unified data management, an authentication service function, a session management function, a user plane function, a policy control function, a network open function, a computing plane function, a data plane function or an intelligent plane function.
40. A service calling method, characterized in that: The method comprises: Determine a first call request, where the first call request is used to call a first smart contract, where the first smart contract is deployed on a first blockchain, and where the first smart contract has a first network function of a core network; Send the first call request.
41. The method according to claim 40, characterized in that The first network function is used to provide contract service, authentication service, registration service, mobility management service, policy management service, data processing service, billing service, session management service, computing service, perception service or artificial intelligence service.
42. The method according to claim 40 or 41, characterized in that The first call request includes an identifier of the first smart contract and input parameters of the first network function.
43. The method according to claim 42, characterized in that The first call request also includes at least one of the following: an identifier of the first blockchain, information of an execution node of the first smart contract, information of a node on which the first smart contract is deployed, key information of the first smart contract, token access method information of the first smart contract, version information of the first smart contract, or information of the first network function.
44. The method according to any one of claims 40 to 43, characterized in that The first network function is an access function, a mobility management function, a network storage function, a unified data management, an authentication service function, a session management function, a user plane function, a policy control function, a network open function, a computing plane function, a data plane function or an intelligent plane function.
45. The method according to any one of claims 40 to 44, characterized in that The method further comprises: Receive the execution result of the first smart contract.
46. A communication device, characterized in that: Comprising a module or device for executing the method as claimed in any one of claims 14 to 29, or comprising a module or device for executing the method as claimed in any one of claims 30 to 39, or comprising a module or device for executing the method as claimed in any one of claims 40 to 45.
47. A communication device, characterized in that: include: A processor, the processor is coupled to a memory, the memory is used to store programs or instructions, when the program or instructions are executed by the processor, the device performs the method as claimed in any one of claims 14 to 29, or performs the method as claimed in any one of claims 30 to 39, or performs the method as claimed in any one of claims 40 to 45.
48. A computer-readable storage medium having a computer program or instruction stored thereon, characterized in that: When the computer program or instructions are executed, the computer performs the method according to any one of claims 14 to 29, or the method according to any one of claims 30 to 39, or the method according to any one of claims 40 to 45.
49. A computer program product, comprising computer program code, characterized in that: When the computer program code is executed on a computer, the computer is enabled to implement the method of any one of claims 14 to 29, or the method of any one of claims 30 to 39, or the method of any one of claims 40 to 45.
50. A communication system, characterized in that: include: An apparatus for performing the method according to any one of claims 30 to 39, and / or an apparatus for performing the method according to any one of claims 40 to 45.