Communication method and terminal equipment
Patent Information
- Application Number
- CN202380059429.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-12-12
- Filing Date
- 2023-08-21
- Publication Date
- 2025-03-25
AI Technical Summary
The existing 5G standards do not describe how to determine matching network slices for different applications, so that the application data flow cannot be effectively transmitted through the corresponding network slices, resulting in a mismatch between network slice performance and business data processing level, affecting the business experience. .
Adopt a terminal-centralized solution, obtain the activation request of the application through the SDK module, determine the target network slice based on URSP rules, and send its identification to the OS module and Modem module to associate the application with the matching network slice to ensure business data The level of processing in the end device matches the network slice.
It simplifies the update and management of network slicing selection rules, improves the efficiency of network slicing, ensures that the processing level of application business data in the terminal device matches the network slicing, gives full play to the advantages of network slicing, and improves the business experience.
Smart Images

Figure CN119698861A_ABST
Abstract
Description
Communication method and terminal equipment
[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office of China on December 12, 2022, with application number 202211589413.9 and application name “Communication Method and Terminal Equipment”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of intelligent terminal technology, and in particular to a communication method and terminal device. Background Art
[0003] Network slicing is a logically isolated network used to support specific network capabilities and network characteristics. It is a key technology to meet the network differentiation requirements of the fifth generation (5G) mobile communication technology proposed by the 3rd Generation Partnership Project (3GPP).
[0004] Typically, different network slices have different network characteristics and are required to be isolated from each other without interfering with each other. For example, network slices for enhanced mobile broadband (eMBB) services can provide transmission rates more than 10 times faster than 4G and can be applied to currently popular augmented reality (AR) or virtual reality (VR) and high-definition video live streaming, giving users a fast experience. Network slices for massive machine-type communications (mMTC) services require support for massive terminal access, but with low bandwidth and no latency requirements. Network slices for ultra-reliable low-latency communication (URLLC) services feature large bandwidth, low latency, and high reliability, and can be applied to scenarios such as cloud gaming and autonomous driving.
[0005] Therefore, different types of network slices are suitable for different data transmission scenarios. However, the existing 5G standards do not describe how to determine the matching network slices for different applications so that the application data flow can be transmitted through the corresponding network slice.
[0006] Summary of the Invention
[0007] To solve the above technical problems, embodiments of the present application provide a communication method and terminal device. This method adopts a terminal-centric solution to determine the matching network slice for the application and the data processing level in the terminal device, making the updating, management, and maintenance of network slice selection rules more convenient. In addition, the processing level of the application service data in the terminal matches the network slice, which can also give full play to the advantages of network slicing.
[0008] In a first aspect, an embodiment of the present application provides a communication method. The method is applied to a terminal device, wherein the terminal device includes an SDK module, an OS module, and a Modem module. The method includes:
[0009] The SDK module obtains the activation request for establishing a network connection service sent by the target APP; wherein, the activation request includes a TD parameter; based on the URSP rule, the SDK module determines the target network slice corresponding to the target APP according to the TD parameter, and sends the identifier of the target network slice to the OS module; the OS module sends the identifier of the target network slice to the Modem module; the Modem module interacts with the network device according to the identifier of the target network slice, and associates the target APP with the PDU session that supports the target network slice; wherein, the business data of the target APP is processed in the terminal device according to the data processing level matching the target network slice.
[0010] The target app can be any app running on a terminal device that requires a network connection service. Different apps may have different requirements for network connection services, such as high speed, large bandwidth, and low latency.
[0011] This approach uses a terminal-centric approach to determine the matching network slice for each application and the data processing level within the terminal device. Compared to modem-centric and operating system-centric approaches, this makes updating, managing, and maintaining network slice selection rules much easier. Furthermore, the processing level of application service data within the terminal matches the network slice, fully leveraging the advantages of network slicing.
[0012] According to the first aspect, the activation request also includes a TD parameter signature; the corresponding SDK module determines the target network slice corresponding to the target APP based on the TD parameters, which may include: when the SDK module determines that the target APP security verification is successful based on the TD parameter signature, the SDK module determines the target network slice corresponding to the target APP based on the TD parameters.
[0013] The TD parameter signature may be generated by encrypting a hash value of the TD parameter.
[0014] In this way, the SDK module uses a security verification mechanism to verify the security of the APP, which can avoid the problem of APP abusing network slicing.
[0015] According to the first aspect, or any implementation of the first aspect above, the SDK module, after determining that the target APP security verification is successful based on the TD parameter signature, may include:
[0016] The SDK module decrypts the TD parameter signature according to the signature public key to obtain the first hash value; the TD parameter signature is generated based on the signature private key paired with the signature public key; if the SDK module determines that the first hash value and the second hash value are consistent, it determines that the target APP security verification is successful; wherein, the second hash value is obtained by hashing the TD parameters of the target APP.
[0017] According to the first aspect, or any implementation of the first aspect above, the method further includes: the Modem module receiving the updated URSP rules, and sending the updated URSP rules to the SDK module, so that the SDK module updates the local URSP rules.
[0018] The embodiment of the present application adopts a terminal-centric solution. Compared with the operating system-centric solution and the modem-centric solution, the cycle required for updating URSP rules is shorter, and the URSP rules are more limited to maintenance and management.
[0019] According to the first aspect, or any implementation of the first aspect above, the method further includes: the SDK module determining, based on the first identifier of the target network slice, a data processing level of the service data of the target APP in the terminal device; or,
[0020] The SDK module determines the data processing level of the target APP's service data in the terminal device according to the second identifier of the target network slice and the type of the target network slice; or
[0021] The SDK module determines the data processing level of the target APP's business data in the terminal device based on the type of the target network slice or the priority of the target network slice.
[0022] The first identifier is the identifier of the newly defined network slice. The SDK module determines the data processing level of the target APP's business data in the terminal device based on the first identifier of the target network slice. Please refer to the first possible implementation method below.
[0023] The second identifier is the existing network slice identifier, but with new relevant indication information. The SDK module determines the data processing level of the target APP's business data in the terminal device based on the second identifier of the target network slice and the type of the target network slice. You can refer to the second possible implementation method below.
[0024] The SDK module determines the data processing level of the target APP's business data in the terminal device based on the type of the target network slice or the priority of the target network slice. Please refer to the third possible implementation method below.
[0025] Since the processing level of application business data in the terminal matches the network slice, this can fully leverage the advantages of network slicing and avoid the problem of poor business experience caused by the mismatch between network slice performance and business data processing level.
[0026] According to the first aspect, or any implementation of the first aspect above, the SDK module determines, based on the first identifier of the target network slice, a data processing level of the service data of the target APP in the terminal device, including:
[0027] The SDK module determines the data processing level of the target APP's business data in the terminal device based on the first indication information in the first identifier of the target network slice; wherein the first identifier is a custom identifier of the network slice, and the first indication information is used to indicate the data processing level of the APP in the terminal device.
[0028] The first indication information may refer to the first possible implementation method below.
[0029] According to the first aspect, or any implementation method of the above first aspect, the identifier of the target network slice sent by the SDK module to the OS module, and the identifier of the target network slice sent by the OS module to the Modem module, are the first identifiers of the target network slice.
[0030] According to the first aspect, or any implementation of the first aspect above, the SDK module determines the data processing level of the service data of the target APP in the terminal device according to the second identifier of the target network slice and the type of the target network slice, which may include:
[0031] The SDK module determines the data processing level of the target APP's business data in the terminal device based on the second indication information in the second identifier of the target network slice and the type of the target network slice; wherein the second identifier is the network slice identifier specified in the communication protocol, and the second indication information is the newly added indication information in the network slice identifier, which is used to indicate the data processing level of the APP in the terminal device.
[0032] The first indication information may refer to the second possible implementation method below.
[0033] According to the first aspect, or any implementation method of the above first aspect, the identifier of the target network slice sent by the SDK module to the OS module, and the identifier of the target network slice sent by the OS module to the Modem module are the second identifiers of the target network slice.
[0034] According to the first aspect, or any implementation of the first aspect above, aspects related to the data processing level include at least one of the following: priority, latency, rate, data security, and data reliability.
[0035] Correspondingly, the data processing level may be a priority processing level, a delay processing level, a rate processing level, a security processing level, a reliability processing level, and the like.
[0036] According to the first aspect, or any implementation of the first aspect above, when the SDK module determines the data processing level of the target APP's business data in the terminal device according to the first identifier of the target network slice, the first indication information is the target parameter; the TD parameter of the target APP includes the target parameter; accordingly,
[0037] The SDK module determines the target network slice corresponding to the target app based on the TD parameters, which may include:
[0038] The SDK module uses the first network slice as the target network slice corresponding to the target APP; wherein, the target parameter value in the first identifier of the first network slice is the same as the target parameter value of the target APP.
[0039] The target parameter may be the IS parameter mentioned below.
[0040] In this way, the SDK module can match the corresponding target network slice for the APP based on the target parameter value.
[0041] According to the first aspect, or any implementation of the first aspect above, when the value of the target parameter is different, the data processing level of the APP in the terminal device is different.
[0042] According to the first aspect, or any implementation of the first aspect above, the target parameter value of the target APP is determined by negotiation between the developer of the target APP and the manufacturer of the terminal device.
[0043] In this way, the developer of the target APP can negotiate with the manufacturer of the terminal device to determine the data processing level that meets its business needs.
[0044] In a second aspect, an embodiment of the present application provides a terminal device, which includes one or more processors; a memory; and one or more computer programs, wherein the one or more computer programs are stored in the memory, and when the computer programs are executed by one or more processors, the terminal device executes a communication method such as the first aspect or any one of the first aspects.
[0045] The terminal device includes an SDK module, an OS module and a Modem module.
[0046] The SDK module is used to: obtain an activation request for establishing a network connection service sent by the target APP; wherein the activation request includes a path descriptor TD parameter;
[0047] The SDK module is also used to: determine the target network slice corresponding to the target APP based on the UE routing policy URSP rule and the TD parameters, and send the identifier of the target network slice to the OS module;
[0048] The OS module is used to send the identifier of the target network slice to the Modem module;
[0049] The Modem module is used to interact with the network device according to the identifier of the target network slice and associate the target app with the PDU session that supports the target network slice;
[0050] Among them, the business data of the target APP is processed in the terminal device according to the data processing level matching the target network slice.
[0051] The second aspect and any implementation of the second aspect correspond to the first aspect and any implementation of the first aspect, respectively. The technical effects corresponding to the second aspect and any implementation of the second aspect can be referred to the technical effects corresponding to the first aspect and any implementation of the first aspect, and will not be repeated here.
[0052] In a third aspect, embodiments of the present application provide a chip comprising a processing circuit and transceiver pins. The transceiver pins and the processing circuit communicate with each other via an internal connection path, and the processing circuit executes the communication method according to the first aspect or any one of the first aspects to control the receive pin to receive a signal and to control the transmit pin to send a signal.
[0053] The third aspect and any implementation of the third aspect correspond to the first aspect and any implementation of the first aspect, respectively. The technical effects corresponding to the third aspect and any implementation of the third aspect can be referred to the technical effects corresponding to the first aspect and any implementation of the first aspect, and will not be repeated here.
[0054] In a fourth aspect, an embodiment of the present application provides a computer program product, comprising a computer program, which, when executed, enables a computer to execute the communication method according to the first aspect and any one of the items in the first aspect.
[0055] The fourth aspect and any implementation of the fourth aspect correspond to the first aspect and any implementation of the first aspect, respectively. The technical effects corresponding to the fourth aspect and any implementation of the fourth aspect can be referred to the technical effects corresponding to the first aspect and any implementation of the first aspect, and will not be repeated here.
[0056] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, which includes a computer program, and when the computer program is executed on an electronic device, causes the electronic device to execute the communication method of the first aspect and any one of the first aspects.
[0057] The fifth aspect and any implementation of the fifth aspect correspond to the first aspect and any implementation of the first aspect, respectively. The technical effects corresponding to the fifth aspect and any implementation of the fifth aspect can be referred to the technical effects corresponding to the first aspect and any implementation of the first aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0058] Figure 1 is a schematic diagram of the data structure of S-NSSAI;
[0059] FIG2 is a schematic diagram of a 5G communication system provided in an embodiment of the present application;
[0060] FIG3 is a schematic diagram of an S-NSSAI data structure provided in an embodiment of the present application;
[0061] FIG4 is a schematic diagram illustrating a hardware structure of an electronic device;
[0062] FIG5 is a schematic diagram illustrating a software structure of an electronic device;
[0063] FIG6 is a flowchart of module interactions involved in the communication method provided in an embodiment of the present application;
[0064] FIG7 is a schematic diagram of the data structure of URSP rules;
[0065] FIG8 is a schematic diagram of a data structure of a URSP rule provided in an embodiment of the present application;
[0066] FIG9 is a schematic diagram of module interactions involved in the communication method provided in an embodiment of the present application;
[0067] FIG10 is a flowchart of module interactions involved in the communication method provided in an embodiment of the present application;
[0068] FIG11 is a schematic diagram showing an exemplary scenario of encrypting TD parameters. DETAILED DESCRIPTION
[0069] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0070] The term "and / or" in this article is merely a description of the association relationship between associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone.
[0071] In the description and claims of the embodiments of this application, the terms "first" and "second" are used to distinguish different objects, rather than to describe a specific order of objects. For example, the terms "first target object" and "second target object" are used to distinguish different objects, rather than to describe a specific order of objects.
[0072] In the embodiments of this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of this application should not be interpreted as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.
[0073] In the description of the embodiments of this application, unless otherwise specified, "multiple" means two or more. For example, "multiple processing units" means two or more processing units; "multiple systems" means two or more systems.
[0074] The following will first introduce some concepts involved in this application:
[0075] 1. Network slicing:
[0076] 5G will usher in an era of the Internet of Everything. 5G supports three major scenarios: eMBB, mMTC, and URLLC, which include diverse and differentiated applications.
[0077] eMBB: Leveraging breakthroughs in wireless spectrum utilization and bandwidth technology, 5G can deliver transmission speeds over 10 times faster than 4G. For the currently popular AR / VR and HD live video streaming, only 5G's ultra-high speeds can meet these demands; 4G's transmission rates are insufficient. Currently, using VR to watch HD or large-scale interactive games requires a network cable to access data. In the future, wireless connections over 5G networks will enable a faster VR / AR experience.
[0078] mMTC: Through technologies such as multi-user shared access and ultra-dense heterogeneous networks, 5G can support up to one million devices per square kilometer, ten times the capacity of 4G. With the recent rapid development of smart cities, public infrastructure such as streetlights, manhole covers, and water meters already have network connectivity, enabling remote management. However, 5G will bring even greater innovation. Leveraging the powerful connectivity of 5G networks, public equipment across various sectors of a city can be connected to intelligent management platforms. These public infrastructures can work collaboratively through 5G networks, requiring only a small number of maintenance personnel for unified management and significantly improving city operational efficiency.
[0079] URLLC: The most typical 5G application is autonomous driving. Common scenarios for autonomous driving, such as sudden braking, vehicle-to-vehicle, vehicle-to-pedestrian, and vehicle-to-infrastructure communications, require simultaneous multi-path communication, requiring massive amounts of data processing and decision-making in a split second. Therefore, the network requires high bandwidth, low latency, and high reliability. 5G networks are well-suited for these scenarios.
[0080] In the 4G era, a single network was used to meet the needs of all application scenarios and customer groups. For example, to provide Narrowband Internet of Things (NB-IoT) capabilities, NB-related features were enabled on the network elements. To enhance network reliability, redundant backups were added to the network elements. By continuously adding features, the ever-increasing demands of the mass market were met.
[0081] However, the requirements of various businesses in vertical industries in terms of latency, number of connections, reliability, security, etc. vary greatly and are unpredictable. For example, AR services require ultra-high network bandwidth greater than 1600Mbps, energy meter reading services require the network to provide massive connections, and autonomous driving requires the network to guarantee end-to-end low latency of several milliseconds and high reliability of more than 99.999%. If we still want to use a single network to meet all current and future needs, it is simply impossible to achieve.
[0082] Network slicing technology allows operators to create multiple virtual networks from a single hardware infrastructure, allocating resources on demand and flexibly combining capabilities to meet the diverse needs of various services. When new requirements arise that the current network cannot meet, operators simply create a new virtual network slice to meet the need without affecting the existing network slice, enabling the fastest service launch.
[0083] Network slicing uses slicing technology to create multiple end-to-end virtual networks on a common hardware foundation. Each network has distinct network functions and adapts to different service requirements. After purchasing physical resources, operators use them to create an eMBB network slice for mass internet access. They then use these resources to create an mMTC network slice for the smart metering needs of specific vendors in vertical industries. These two slices serve different business scenarios.
[0084] While vertical industries have diverse demands for network functions, these requirements can be broken down into requirements for bandwidth, number of connections, latency, reliability, and other network functions. The 5G standard also categorizes the network function requirements of different services into three typical scenarios. The corresponding network slice types for these three scenarios are eMBB slicing, mMTC slicing, and URLLC slicing.
[0085] 2. Single Network Slice Selection Assistance Information (S-NSSAI):
[0086] S-NSSAI is used to identify a network slice. Based on the operator's operational or deployment needs, an S-NSSAI can be associated with one or more network slice instances, and a network slice instance can be associated with one or more S-NSSAIs. For example, eMBB slice 1, eMBB slice 2, and eMBB slice 3 are all eMBB slices, and their S-NSSAI values are all 0x01000000. eMBB+mMTC slice 4 can provide services for both eMBB and mMTC services, so it is both an eMBB and mMTC slice, and the corresponding S-NSSAI values are 0x01000000 and 0x02000000, respectively.
[0087] As shown in Figure 1, S-NSSAI consists of two parts: Slice / Service Type (SST) and Slice Differentiator (SD).
[0088] SST refers to the expected network slice behavior in terms of features and services. The standard range of SST values is 1, 2, and 3, with 1 representing eMBB, 2 representing URLLC, and 3 representing Massive Internet of Things (MIoT).
[0089] SD is an optional information used to supplement SST to distinguish multiple network slices of the same slice / service type.
[0090] The SST and SD components together represent the slice type and multiple slices of the same slice type. For example, S-NSSAI values of 0x01000000, 0x02000000, and 0x03000000 represent eMBB slices, URLLC slices, and MIoT slices, respectively. S-NSSAI values of 0x01000001 and 0x01000002 represent eMBB slices, serving user groups 1 and 2, respectively.
[0091] 3. Network Slice Selection Assistance Information (NSSAI):
[0092] NSSAI is a collection of S-NSSNIs. The NSSAIs used in 5G networks include requested NSSAI, allowed NSSAI, and configured NSSAI. Their specific definitions are shown in Table 1.
[0093] Table 1
[0094] 4. Slice selection process
[0095] In the UE registration process, the radio access network (RAN) first selects an initial AMF for the UE to provide services based on the locally stored information and the UE registration request message. However, the initial AMF may not support the network slice that the UE wants to use. For example, the initial AMF only supports URLLC type network slices, but the UE requests eMBB type network slices. If the initial AMF cannot provide services for the UE, the initial AMF queries and selects a target AMF that can support the UE network slice from the network slice selection function (NSSF), and then sends the UE's registration request message directly or indirectly to the target AMF, which processes the UE's registration request and provides network services for the UE. Specifically, the following steps may be included:
[0096] Step 1. When a UE registers to a PLMN using an access type, it sends a Registration Request message to the RAN. If the UE has stored the Configured NSSAI for this PLMN or the Allowed NSSAI for this PLMN and this access type, the UE will include the Requested NSSAI information in the non-access stratum (NAS) Registration Request message and the AN message. The Requested NSSAI contains the S-NSSAI of the slice the UE wishes to register.
[0097] Step 2. The RAN selects the initial AMF based on the globally unique AMF identifier (GUAMI) or the Requested NSSAI. If the UE does not provide the Requested NSSAI and GUAMI in the AN message, the RAN shall send the Registration Request message from the UE to the default AMF.
[0098] Step 3. The initial AMF queries the unified data management (UDM) to obtain the UE subscription information including the Subscribed S-NSSAIs. The initial AMF determines whether it can provide services to the UE based on the received Requested NSSAI, Subscribed S-NSSAI and local configuration. If the AMF can serve the UE, the initial AMF remains the serving AMF for the UE. The AMF then constructs the Allowed NSSAI based on the Subscribed S-NSSAI and Requested NSSAI, and returns the Allowed NSSAI to the UE through a registration accept message. If the initial AMF cannot serve the UE or cannot make a judgment, the AMF needs to query the NSSF.
[0099] Step 4.AMF sends the Requested NSSAI, Subscribed S-NSSAI, PLMN of the subscription permanent identifier (SUPI), tracking area identifier (TAI) and other information to NSSF for query.
[0100] Step 5. Based on the received information and local configuration, the NSSF selects the AMF Set or candidate AMF list that can serve the UE, the Allowed NSSAI applicable to this access type, and may also select the network slice instance serving the UE and the network repository function (NRF) within the instance for selecting the network function (NF), and sends this information to the initial AMF.
[0101] Step 6. If the initial AMF is not in the AMF Set and the AMF address information is not stored locally, the initial AMF obtains a candidate AMF list by querying the NRF. The NRF returns a list of available AMFs, including an AMF pointer and address information. The initial AMF selects one as the target AMF. If the initial AMF cannot obtain the candidate AMF list by querying the NRF, the initial AMF needs to send the UE's registration request message to the target AMF via the RAN. The message sent by the initial AMF to the RAN contains the AMF Set and Allowed NSSAI.
[0102] Step 7. If the initial AMF decides to send the NAS message directly to the target AMF based on local policy and subscription information, the initial AMF sends the UE Registration Request message and other information obtained from the NSSF except the AMF Set to the target AMF.
[0103] If the initiating AMF decides to forward the NAS message to the target AMF via the RAN based on local policy and subscription information, the initiating AMF sends a Reroute NAS message to the RAN. The Reroute NAS message includes the target AMF Set information and the Registration Request message, as well as relevant information obtained from the NSSF.
[0104] Step 8. After receiving the Registration Request message sent in step 7, the target AMF continues to execute the relevant steps of the registration process and finally sends a Registration Accept message to the UE, which carries information such as Allowed NSSAI.
[0105] With the introduction of network slicing technology, operators will be able to offer network capabilities with diverse functional characteristics, providing dedicated networks for users with diverse business needs. This ensures high-quality service and meets differentiated business requirements. Users will also be able to use more advanced applications, further stimulating the development of new industry applications. Ultimately, this will improve network resource utilization efficiency, optimize operator network construction investments, and build a flexible and agile 5G network.
[0106] The following uses the requirements of cloud gaming applications for network slicing as an example to explain.
[0107] Cloud gaming applications are implemented based on real-time audio and video streaming technology. The server sends real-time audio and video streams to the client, and the client sends a stream of control commands to the server. The server then applies the received control commands to the game. The entire data processing loop involves server-side game rendering, audio and video encoding, network transmission, and client-side audio and video decoding and rendering. Each of these processes is time-consuming, but network transmission is the factor that has the greatest impact on the user experience. Given the unique business scenarios of cloud gaming, higher network requirements are imposed: low latency, high bandwidth, and zero (or minimal) jitter.
[0108] Therefore, cloud gaming applications require low latency in network slicing. If using existing 4G networks and Wi-Fi (wireless fidelity) networks, under normal network conditions, the response delay of cloud gaming fluctuates between 50ms and 140ms. For some games that require high operational response delay (for example, action games, fighting games, multiplayer online tactical competitive games, first-person shooters, racing games, etc.), there is a significant difference in the experience between cloud gaming and local gaming, and operational response delay needs to be further reduced. Due to the special nature of VR headsets, large delays can cause motion sickness, and the delay also needs to be controlled within 20ms to effectively control rejection reactions.
[0109] Given the different business scenarios of different applications, their requirements for network slicing are also different. Therefore, how the terminal device determines the network slice that matches the application based on the application's business characteristics or business needs, so as to associate the application with the PDU (Protocol Data Unit) session that supports the network slice, so that the application's business data can be transmitted or routed through the PDU session that supports the network slice, is a problem that needs to be solved.
[0110] URSP (UE Route Selection Policy) rules are the core rules for configuring and managing network slices for terminals. They act on terminals during network slicing service flows, guiding them to associate service data with matching network slices based on service characteristics. However, the URSP mechanism is not yet fully defined in the standard, so standardized mechanisms are needed to implement the URSP solution and further promote its industrialization.
[0111] Figure 2 shows a schematic diagram of a 5G communication system provided by an embodiment of the present application. The communication system may include at least one of a UE, an (R)AN device, an AMF device, a session management function (SMF) device, a user plane function (UPF) device, a policy control function (PCF) device, an NSSF device, an application function (AF) device, and a UDM device.
[0112] The terminal device in the embodiment of the present application, such as the UE shown in FIG2 , can be a device for implementing wireless communication functions. For example, it can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; it can also be deployed on the water (such as a ship, etc.); it can also be deployed in the air (such as an airplane, a balloon, and a satellite, etc.). The terminal device can be a UE, an access terminal, a terminal unit, a terminal station, a mobile station, a mobile station, a remote station, a remote terminal, a mobile device, a wireless communication device, a terminal agent, or a terminal device in a 5G network or a future evolved PLMN. An access terminal may be a cellular phone, a cordless phone, a Session Initiation Protocol (SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (PDA), a handheld device with wireless communication capabilities, a computing device or other processing device connected to a wireless modem, an in-vehicle device or a wearable device, a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless terminal used in industrial control, a wireless terminal used in self-driving vehicles, a wireless terminal used in remote medical care, a wireless terminal used in smart grids, a wireless terminal used in transportation safety, a wireless terminal used in smart cities, a wireless terminal used in smart homes, etc. The terminal device may be mobile or fixed.
[0113] The access network device in the embodiment of the present application, such as the (R)AN device shown in Figure 2, is a device that provides wireless communication functions for terminal devices. For example, base stations include but are not limited to: the next generation base station (gnodeB, gNB) in 5G, evolved node B (eNB), radio network controller (RNC), node B (NB), base station controller (BSC), base transceiver station (BTS), home base station (e.g., home evolved nodeB, or home node B, HNB), baseband unit (BBU), transmission point (TRP), transmitting point (TP), and mobile switching center.
[0114] The mobility management network element in the embodiment of the present application, such as the AMF device shown in Figure 2, has the following main functions: connection management, mobility management, registration management, access authentication and authorization, reachability management, security context management and other access and mobility related functions.
[0115] The session management network element in the embodiment of the present application, such as the SMF device shown in Figure 2, is used for session management in mobile networks, such as session establishment, modification, and release. Specific functions include allocating Internet Protocol (IP) addresses to terminal devices, selecting the UPF that provides message forwarding functions, selecting service and session continuity (SSC) modes, roaming, and other session-related functions.
[0116] The user plane function network element in the embodiment of the present application, such as the UPF device shown in Figure 2, mainly performs functions related to the user plane, including packet routing and transmission, packet detection, service usage reporting, QoS processing, lawful interception, uplink packet detection, downlink packet storage, etc. The UPF can be connected to a data network (DN).
[0117] The policy control function network element in the embodiment of the present application, such as the PCF device shown in Figure 2, has the following main functions: unified policy formulation, provision of policy control, and obtaining policy decision-related contract information from the user database (User Data Repository, UDR) and other policy-related functions.
[0118] The network slice selection function network element in the embodiment of the present application, such as the NSSF device shown in Figure 2, has the following main functions: selecting a group of network slice instances for the UE, determining the allowed NSSAI, and determining the AMF set that can serve the UE.
[0119] The application function network element in the embodiment of the present application, such as the AF device shown in Figure 2, is responsible for interacting with the 3GPP core network to provide business or services, including interacting with the network exposure function (NEF) and policy architecture interaction.
[0120] The unified data management network element in the embodiment of the present application, such as the UDM device shown in Figure 2, supports authentication credential processing, user identity processing, access authorization, registration and mobility management, contract management, short message management, etc. in the 3GPP authentication and key negotiation mechanism.
[0121] The above-mentioned network elements can be implemented by designated hardware, or by software instances on designated hardware, or by virtual functions instantiated on a suitable platform, and this application is not limited thereto.
[0122] In a service-based architecture, service-based interfaces are used within the control plane. For example, Namf is a service-based interface provided by the AMF network element. The AMF network element can communicate with other network functions through Namf. Nsmf is a service-based interface provided by the SMF network element. The SMF can communicate with other network functions through Nsmf. Nnssf is a service-based interface provided by the NSSF network element. The NSSF network element can communicate with other network functions through Nnssf. A functional network element can open its capabilities to other authorized functional network elements through a service-based interface, thereby providing network function (NF) services. In other words, NF services refer to the various capabilities that can be provided.
[0123] In addition, the embodiments of the present application can also be applied to other future-oriented communication technologies. The network architecture and business scenarios described in this application are intended to more clearly illustrate the technical solutions of this application and do not constitute a limitation on the technical solutions provided by this application. It is known to those skilled in the art that with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided by this application are also applicable to similar technical problems. Among them, this application is applicable to communication networks with network slicing. A network slice is a logically isolated network used to support specific network capabilities and network characteristics.
[0124] To address the above issues, embodiments of the present application provide a new network slice selection rule. In a corresponding communication method, a UE can determine network slices that match different applications based on the new network slice selection rule, thereby associating the application with a PDU session that supports the corresponding network slice. Furthermore, the UE can also determine the data processing level within the service data terminal device of the application based on the new network slice selection rule.
[0125] It should be pointed out that the UE associating the first application with the PDU session supporting the first network slice means that the UE transmits or routes the data flow of the first application through the PDU session supporting the first network slice.
[0126] Among them, a new network slice selection rule provided in an embodiment of the present application is part of the URSP rule. For example, the network slice selection rule can be set in the route selection descriptor (RSD) of the URSP rule. Therefore, it can also be said that an embodiment of the present application provides a new URSP rule.
[0127] Currently, the mainstream URSP rule execution methods include modem-centric solutions and operating system (OS)-centric solutions. In the modem-centric solution, the matching process between service attributes and network slices is implemented in the terminal's modem, and the terminal's modem implements the corresponding binding between the characteristic attributes of the terminal's service applications and the network slices according to the URSP rules. In the operating system-centric solution, the matching process between service attributes and network slices is implemented in the terminal's operating system, and the terminal's operating system implements the corresponding binding between the characteristic attributes of the terminal's service applications and the network slices according to the URSP rules.
[0128] The embodiment of the present application adopts a terminal-centric solution. In the embodiment of the present application, the matching process between service attributes and network slices, as well as the matching process between service data and data processing levels, are implemented in the terminal, for example, in an SDK (Software Development Kit) or middleware developed and maintained by the terminal company. The SDK or middleware in the terminal implements the corresponding binding between the terminal application and the network slice according to the new network slice selection rules (or new URSP rules).
[0129] Compared with the modem-centric solution and the operating system-centric solution, the terminal-centric solution provided in the embodiment of the present application is more convenient for updating, managing and maintaining network slice selection rules. Moreover, the terminal company has higher initiative and is more conducive to ecological cooperation. Among them, the APP (application) developer can negotiate with the terminal device party to determine the network slice selection rules, and specifically negotiate to determine the network slice corresponding to the APP, as well as the data processing level of the APP in the terminal device. In this way, the SDK or middleware in the terminal can select a matching network slice for the application based on the corresponding network slice selection rules to associate the application with the PDU session that supports the corresponding network slice, and the business data of the APP can be processed according to the corresponding data processing level in the terminal device.
[0130] Among them, the new network slice selection rules provided in the embodiments of the present application can be defined by a standard organization (such as 3GPP) or by a communication operator. The new network slice selection rules are configured on the network side or the terminal side. The network side may refer to network equipment, for example, network equipment (or network elements) such as gNB (the next Generation Node B), AMF, SMF (Session Management function), and PCF (Policy Control function), and the terminal side may refer to terminal equipment, such as UE.
[0131] When a new network slice selection rule is configured on the network side, the network slice selection rule can be sent to the terminal side through the network device. In one implementation, the H-PCF (home PCF) can configure the new network slice selection rule to the terminal device through the AMF and gNB. For example, the new network slice selection rule can be configured to the terminal device through a registration command message. In one implementation, the communication operator can configure the new network slice selection rule to the terminal device.
[0132] In a new network slice selection rule provided in an embodiment of the present application, a mapping relationship between an application and a network slice may be included, and a mapping relationship between the data processing level of the application in the terminal device and the network slice corresponding to the application may also be included. In this way, the new network slice selection rule can not only be used to determine the network slice corresponding to the application and support the PDU session of the corresponding network slice, but also be used to determine the data processing level of the application in the terminal device.
[0133] The data processing level, which can also be referred to as the data processing level, data processing mode, internal processing level / mode, etc., is used to indicate the level of data processing performed by the APP within the terminal. For example, the data processing level can be a priority processing level, a latency processing level, a rate processing level, a security processing level, a reliability processing level, etc. It should be noted that the data processing level of the APP in the terminal device is determined through negotiation between the APP developer and the terminal device.
[0134] The SDK or middleware in the terminal can determine the network slice corresponding to the application according to the URSP rules, support the PDU session of the corresponding network slice, and determine the data processing level of the application in the terminal device according to the network slice indication information. Exemplarily, the network slice indication information can be a network slice identifier, which is used to describe information about the network slice, such as S-NSSAI.
[0135] Regarding network slicing indication information, the embodiments of the present application provide several possible implementation methods.
[0136] (1) In a first possible implementation, the network slice indication information is a newly defined network slice identifier, which is used to identify the network slice type. Compared with the existing network slice identifier (such as S-NSSAI), the newly defined network slice identifier can not only be used to indicate the network slice corresponding to the application, so that the terminal device can associate the application with the PDU session that supports the network slice, but also be used to indicate the data processing level corresponding to the application, so as to better meet the business needs of the application.
[0137] Exemplarily, the data structure of the newly defined network slice identifier adds first indication information based on the data structure of the existing network slice identifier. Exemplarily, the first indication information may be an internal slice (IS) parameter. Optionally, in the newly defined network slice identifier, the first indication information may be set in the SD part of the network slice identifier S-NSSAI, as shown in FIG3 (a), and the first indication information may also be set in the SST part of the network slice identifier S-NSSAI, as shown in FIG3 (b).
[0138] The first indication information is used to indicate the data processing level of the application in the terminal device. For example, the first indication information may be a slice parameter newly defined by the terminal device manufacturer (such as type, name, etc., which is different from the existing network slice type or name). This embodiment does not limit the form of the first indication information.
[0139] The first indication information may include one or more bits. When the first indication information has different values, the data processing levels of the corresponding application in the terminal device are different.
[0140] In one example, the data processing level of the application in the terminal device may be a priority level, such as high priority, medium priority, low priority, etc. When the priority levels are different, the network transmission channels corresponding to the application are different or not completely the same.
[0141] In one example, the data processing level of an application in a terminal device may be a latency processing level, such as a latency level of 1ms, 10ms, or 100ms, or a latency level of low latency, medium latency, or high latency. When the latency processing level is different, the network transmission channel corresponding to the application is different or not completely the same.
[0142] In one example, the data processing level of the application in the terminal device can be a rate processing level, such as 1 Mbps, 10 Mbps, 100 Mbps, 1000 Mbps, or a low rate, medium rate, high rate, etc. When the rate processing level is different, the network transmission channel corresponding to the application is different or not completely the same.
[0143] In one example, the data processing level of an application in a terminal device can be a security processing level, such as normal, TEE (Trusted Execution Environment), SE (Secure Element), or low, medium, or high security levels. When the security processing level is different, the network transmission channel corresponding to the application is different or not completely the same.
[0144] In one example, the data processing level of an application in a terminal device can be a reliable processing level, such as a reliability level of 99%, 99.9%, 99.99%, 99.999%, or a reliability level of low, medium, or high. When the reliable processing level is different, the network transmission channel corresponding to the application is different or not completely the same. A reliable processing level of "x%" indicates that the maximum possible service interruption time of the terminal device during continuous operation for one year is (1-x%)*365*24. It is understood that the shorter the maximum possible service interruption time of the terminal device, the higher the reliable processing level. For example, a reliability level of "99.9%" indicates that the maximum possible service interruption time of the terminal device during continuous operation for one year is: (1-99.9%)*365*24=8.76 hours, and a reliability level of "99.99%" indicates that the maximum possible service interruption time of the terminal device during continuous operation for one year is: (1-99.99%)*365*24=0.876 hours=52.6 minutes.
[0145] Table 2 exemplifies a mapping relationship between a network slice identifier, first indication information, and the data processing level corresponding to the application in the terminal device.
[0146] Table 2
[0147] As shown in Table 2, taking the case where the first indication information includes 2 bits as an example, “00”, “01”, “10” and “11” respectively identify different data processing levels. Among them, when the first indication information carried in S-NSSAI 1 is "00", it indicates that the data processing level corresponding to the application in the terminal device is the first priority processing level, and the terminal device associates the application with the PDU session supporting S-NSSAI 1; when the first indication information carried in S-NSSAI 2 is "01", it indicates that the data processing level corresponding to the application in the terminal device is the second priority processing level, and the terminal device associates the application with the PDU session supporting S-NSSAI 2; when the first indication information carried in S-NSSAI 3 is "10", it indicates that the data processing level corresponding to the application in the terminal device is the first delay processing level, and the terminal device associates the application with the PDU session supporting S-NSSAI 3; when the first indication information carried in S-NSSAI 4 is "11", it indicates that the data processing level corresponding to the application in the terminal device is the second delay processing level, and the terminal device associates the application with the PDU session supporting S-NSSAI 4.
[0148] The first priority processing level is different from the second priority processing level, and the first priority processing level can be higher than the second priority processing level. For example, the terminal device can process call applications at the first priority processing level and game applications at the first priority processing level. When the call application and the game application are running simultaneously, the call application data stream can be processed first. The first delay processing level is different from the second delay processing level, and the first delay processing level can be higher than the second delay processing level, that is, the processing delay corresponding to the first delay processing level is less than the processing delay corresponding to the second delay processing level.
[0149] (2) In a second possible implementation, the network slice indication information is an existing network slice identifier, and the second indication information is added to the existing network slice identifier. Exemplarily, the second indication information can be added to the SST part, SD part, or NSSAI information element identifier (IEI) of the network slice identifier.
[0150] The second indication information may include one or more bits for indicating the data processing level of the application in the terminal device, and the data processing level corresponds to the network slice type (or network slice priority). For example, when the network slice type is low latency, the corresponding data processing level is the low latency processing level; when the network slice type is high rate, the corresponding data processing level is the high rate processing level, and so on.
[0151] Table 3 exemplifies a mapping relationship between a network slice identifier, a network slice type, a second indication information, and the corresponding data processing level of an application in a terminal device.
[0152] Table 3
[0153] For example, as shown in Table 3, the type of network slice S-NSSAI 1 is a low-latency network slice, and a second indication information "1" is added to the identifier of the network slice S-NSSAI 1. The second indication information "1" may indicate that the corresponding data processing level of the application in the terminal device is a low-latency processing level. The low-latency processing level may refer to priority processing of service data within the terminal device, such as priority scheduling, priority queuing, queue-jumping and early transmission, and priority transmission.
[0154] In this way, when the network slice corresponding to the application service is a low-latency network slice, the data processing level of the service inside the terminal device is a low-latency processing level, which can meet the low-latency requirements of the service, and avoid the problem of poor service experience caused by low network slicing latency and high processing latency inside the terminal device. It can give full play to the advantages of low-latency network slicing and meet service needs.
[0155] For example, as shown in Table 3, the type of network slice S-NSSAI 2 is a high-rate network slice. After the second indication information "1" is added to the identifier of the network slice S-NSSAI 2, the second indication information "1" can indicate that the corresponding data processing level of the application in the terminal device is a high-rate processing level. Among them, the high-rate processing level can refer to the allocation of more processing resources inside the terminal device to process business data. The processing resources can be, for example, memory resources, computing resources (such as CPU (central processing unit, central processing unit), GPU (graphics processing unit, graphics processing unit), NPU (Neural-network Processing Unit, network processor), etc.).
[0156] In this way, when the network slice corresponding to the application service is a high-speed network slice, the processing level of the service inside the terminal device is a high-speed processing level, which can ensure the high-speed requirements of the service and avoid the problem of poor service experience caused by the high network slice rate and low processing rate inside the terminal device. The advantages of high-speed network slicing can be fully utilized to meet business needs.
[0157] For example, as shown in Table 3, the type of network slice S-NSSAI 3 is a high-security network slice. After the second indication information "1" is added to the identifier of the network slice S-NSSAI 3, the second indication information "1" can indicate that the corresponding data processing level of the application in the terminal device is a high-security processing level. Among them, the high-security processing level can mean that the terminal device places the business data in a high-security area (such as TEE, SE, etc.) for processing, and / or the terminal device uses a high-encryption method for the business data to ensure the security of the business data.
[0158] In this way, when the network slice corresponding to the application service is a high-security network slice, the processing level of the service inside the terminal device is a high-security processing level, which can ensure the high security requirements of the service and avoid the problem of poor service experience caused by high security of the network slice and low security during processing inside the terminal device. It can give full play to the advantages of high-security network slices and meet business needs.
[0159] For example, as shown in Table 3, the type of network slice S-NSSAI 4 is a high-reliability network slice. After the second indication information "1" is added to the identifier of the network slice S-NSSAI 4, the second indication information "1" may indicate that the corresponding data processing level of the application in the terminal device is a high-reliability processing level. The high-reliability processing level may mean that the terminal device backs up and / or transmits the service data multiple times to ensure the reliability of the service data.
[0160] In this way, when the network slice corresponding to the application service is a high-reliability network slice, the processing level of the service inside the terminal device is a high-reliability processing level, which can ensure the high reliability requirements of the service and avoid the problem of poor service experience caused by high reliability of the network slice and low reliability of processing inside the terminal device. The advantages of high-reliability network slices can be fully utilized to meet business needs.
[0161] For example, as shown in Table 3, the type of network slice S-NSSAI 5 is a large-bandwidth network slice. After the second indication information "1" is added to the identifier of the network slice S-NSSAI 5, the second indication information "1" may indicate that the corresponding data processing level of the application in the terminal device is a large-bandwidth processing level. The large-bandwidth processing level may, for example, be that the terminal device uses a frequency band with a larger bandwidth (for example, 80M / 120M) to transmit service data, or the terminal device may use multiple frequency bands to transmit data simultaneously.
[0162] In this way, when the network slice corresponding to the application service is a high-bandwidth network slice, the processing level of the service inside the terminal device is a high-bandwidth processing level, which can ensure the high bandwidth demand of the service, and avoid the problem of poor service experience caused by the large bandwidth of the network slice and the small bandwidth during internal processing of the terminal device. It can give full play to the advantages of high-bandwidth network slices and meet service needs.
[0163] (3) In a third possible implementation, an existing network slice identifier indicates the data processing level of an application in a terminal device, and the data processing level corresponds to the network slice type (or network slice priority). In this implementation, no indication information is added to the existing network slice identifier. Instead, the data processing level of an application in a terminal device is implicitly indicated based on the network slice type.
[0164] Table 4 exemplifies the mapping relationship between a network slice identifier, a network slice type, and the corresponding data processing level of an application in a terminal device.
[0165] Table 4
[0166] For example, as shown in Table 4, the type of network slice S-NSSAI 1 is a low-latency network slice, which implicitly indicates that the data processing level of the application in the terminal device is a low-latency processing level; the type of network slice S-NSSAI 2 is a high-rate network slice, which implicitly indicates that the data processing level of the application in the terminal device is a high-rate processing level; the type of network slice S-NSSAI 3 is a high-security network slice, which implicitly indicates that the data processing level of the application in the terminal device is a high-security processing level; the type of network slice S-NSSAI 4 is a high-reliability network slice, which implicitly indicates that the data processing level of the application in the terminal device is a high-reliability processing level.
[0167] Table 5 exemplifies a mapping relationship between a network slice identifier, a network slice priority, and an application's processing priority level in a terminal device.
[0168] Table 5
[0169] Assume that the network slice priority can include three levels, namely high, medium and low. Correspondingly, the corresponding processing priority levels of the application in the terminal device can also include three levels, namely high, medium and low. For example, as shown in Table 5, the priority of network slice S-NSSAI 1 is "high", and the processing priority level of the application corresponding to network slice S-NSSAI 1 in the terminal device is also "high"; the priority of network slice S-NSSAI 2 is "medium", and the processing priority level of the application corresponding to network slice S-NSSAI 2 in the terminal device is also "medium"; the priority of network slice S-NSSAI 3 is "low", and the processing priority level of the application corresponding to network slice S-NSSAI 3 in the terminal device is also "low".
[0170] The priority of network slice S-NSSAI 1 is "low", and the processing priority level of the application corresponding to network slice S-NSSAI 1 in the terminal device is also "low". That is, when the priority of the network slice corresponding to the application is "high", the priority processing level of the application service inside the terminal device is also "high", so as to ensure the service requirements of the application (such as low latency, high reliability, etc.). When the priority of the network slice corresponding to the application is "medium", the priority processing level of the application service inside the terminal device is also "medium", and the service requirements of the application (such as low latency, etc.) are guaranteed as much as possible. When the priority of the network slice corresponding to the application is "low", the priority processing level of the application service inside the terminal device is also "low" to reasonably meet the service requirements of the application.
[0171] Table 6 exemplifies a mapping relationship between a network slice identifier, a network slice priority, and an application's processing priority level in a terminal device.
[0172] Table 6
[0173] Assume that the network slice priority can include two levels, high and low. Correspondingly, the processing priority level of the application corresponding to the terminal device can also include two levels, high and low. For example, as shown in Table 6, the priority of network slice S-NSSAI 1 is "high", and the processing priority level of the application corresponding to network slice S-NSSAI 1 in the terminal device is also "high"; the priority of network slice S-NSSAI 2 is "low", and the processing priority level of the application corresponding to network slice S-NSSAI 2 in the terminal device is also "low".
[0174] It is understandable that the network slice priority may include more levels, for example, four levels, five levels, six levels, etc., which is not limited in the embodiments of this application. Correspondingly, the processing priority levels corresponding to the application in the terminal device may also include four levels, five levels, six levels, etc.
[0175] In the mapping relationships shown in Tables 5 and 6 above, the explanation is given by assuming that the network slice priority corresponds one-to-one to the processing priority of the application in the terminal device.
[0176] In one possible scenario, the network slice priority includes N levels, and the processing priority levels corresponding to the application in the terminal device include M levels, where N and M are positive integers, and N and M are not equal. In this case, one network slice priority level may correspond to multiple processing priority levels of the application in the terminal device, or multiple network slice priority levels may correspond to one processing priority level of the application in the terminal device, which is not limited in this embodiment.
[0177] Table 7 exemplifies a mapping relationship between a network slice identifier, a network slice priority, and an application's processing priority level in a terminal device.
[0178] Table 7
[0179] Assuming that the network slice priority can include three levels, namely high, medium, and low, the corresponding processing priority level of the application in the terminal device can also include two levels, namely high and low. For example, as shown in Table 7, the priority of network slice S-NSSAI 1 is "high", and the processing priority level of the application corresponding to network slice S-NSSAI 1 in the terminal device is also "high"; the priority of network slice S-NSSAI 2 is "medium", and the processing priority level of the application corresponding to network slice S-NSSAI 2 in the terminal device is "low"; the priority of network slice S-NSSAI 3 is "low", and the processing priority level of the application corresponding to network slice S-NSSAI 3 in the terminal device is "low". That is, multiple network slice priority levels can correspond to one processing priority level of the application in the terminal device.
[0180] In one implementation, the network slice priority may be determined based on the type of network slice. For example, the priorities of network slices of types such as uRLLC, eMBB, and mMTC may be ranked from high to low.
[0181] In combination with the above example, the terminal device can determine, based on the corresponding network slice selection rules, that a certain application performs data processing at a corresponding data processing level (such as a low-latency processing level, a high-rate processing level, etc.) in the terminal device, and the network slice corresponding to the application, and the terminal device can associate the application with a PDU session that supports the network slice, which can be identified using the network slice indication information (such as a network slice identifier) in the network slice selection rules. Among them, the application performs data processing at a corresponding data processing level in the terminal device, which means that the data flow (traffic of the application) of the application performs data processing at a corresponding data processing level in the terminal device.
[0182] As shown in Figure 4, a structural diagram of the electronic device 100 is shown. Optionally, the electronic device 100 can be called a terminal or a terminal device, which is not limited in this application. It should be noted that the structural diagram of the electronic device 100 can be applicable to the UE mentioned above. It should be understood that the electronic device 100 shown in Figure 4 is only an example of an electronic device, and the electronic device 100 can have more or fewer components than shown in the figure, can combine two or more components, or can have different component configurations. The various components shown in Figure 4 can be implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and / or application-specific integrated circuits.
[0183] The electronic device 100 may include: a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display 194, and a SIM card interface 195. The sensor module 180 may include a pressure sensor, a gyroscope sensor, an acceleration sensor, a temperature sensor, a motion sensor, an air pressure sensor, a magnetic sensor, a distance sensor, a proximity light sensor, a fingerprint sensor, a touch sensor, an ambient light sensor, a bone conduction sensor, and the like.
[0184] The processor 110 may include one or more processing units. For example, the processor 110 may include an application processor (AP), a modem processor (Modem), a graphics processing unit (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU). The different processing units may be independent devices or integrated into one or more processors.
[0185] The controller may be the nerve center and command center of the electronic device 100. The controller may generate an operation control signal according to the instruction operation code and the timing signal to complete the control of fetching and executing instructions.
[0186] The processor 110 may further include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory.
[0187] USB interface 130 is an interface that complies with USB standards and may be a Mini USB interface, a Micro USB interface, a USB Type-C interface, or the like. USB interface 130 can be used to connect a charger to charge electronic device 100, transfer data between electronic device 100 and peripheral devices, or connect headphones to play audio.
[0188] The charging management module 140 is used to receive charging input from a charger. The charger can be a wireless charger or a wired charger. While charging the battery 142, the charging management module 140 can also power the electronic device through the power management module 141.
[0189] The power management module 141 is used to connect the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140 to provide power to the processor 110, the internal memory 121, the external memory, the display 194, the camera 193, and the wireless communication module 160.
[0190] The wireless communication function of the electronic device 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.
[0191] Antenna 1 and Antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In other embodiments, the antennas can be used in conjunction with a tuning switch.
[0192] The mobile communication module 150 can provide solutions for wireless communications including 2G / 3G / 4G / 5G, etc., applied to the electronic device 100. The mobile communication module 150 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves from the antenna 1, filter, amplify, and perform other processing on the received electromagnetic waves, and transmit them to the modem processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation through the antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the same device as at least some of the modules of the processor 110.
[0193] The modem processor (Modem) runs on the baseband chip and the coprocessor. The Modem is provided with a SIM card module, which can be used to provide network registration, authentication and other functions related to SIM information. For example, when a user uses an electronic device with a Modem, he can trigger a local application to implement a series of SIM card functions. The SIM card mentioned above can be a physical card (or hard card) or a virtual SIM card (or soft card), and can include an embedded chip-type user identity card (embedded-SIM, eSIM), etc. The specific form of the SIM card is not limited in the embodiments of the present application.
[0194] The modem processor may include a modulator and a demodulator. The modulator is used to modulate the low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After being processed by the baseband processor, the low-frequency baseband signal is passed to the application processor. The application processor outputs a sound signal through an audio device (not limited to the speaker 170A, the receiver 170B, etc.) or displays an image or video through the display screen 194. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processor 110 and be set in the same device as the mobile communication module 150 or other functional modules.
[0195] The wireless communication module 160 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., which are applied to the electronic device 100. The wireless communication module 160 can be one or more devices that integrate at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 110. The wireless communication module 160 can also receive the signal to be sent from the processor 110, frequency modulate it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.
[0196] In some embodiments, antenna 1 of electronic device 100 is coupled to mobile communication module 150 , and antenna 2 is coupled to wireless communication module 160 , so that electronic device 100 can communicate with the network and other devices through wireless communication technology.
[0197] Electronic device 100 implements display functionality through a GPU, display screen 194, and an application processor. Processor 110 may include one or more GPUs that execute program instructions to generate or change display information. Display screen 194 is used to display images, videos, and the like. Electronic device 100 can implement camera functionality through an ISP, camera 193, a video codec, GPU, display screen 194, and an application processor. Camera 193 is used to capture still images or videos.
[0198] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100.
[0199] The internal memory 121 can be used to store computer executable program code, which includes instructions. The processor 110 executes the instructions stored in the internal memory 121 to execute various functional applications and data processing of the electronic device 100, so that the electronic device 100 implements the communication method in the embodiment of the present application.
[0200] The electronic device 100 can implement audio functions such as music playback and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone jack 170D, and the application processor.
[0201] The audio module 170 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signals. The audio module 170 can also be used to encode and decode audio signals. In some embodiments, the audio module 170 can be provided in the processor 110, or some functional modules of the audio module 170 can be provided in the processor 110.
[0202] The pressure sensor is used to sense pressure signals and convert the pressure signals into electrical signals. In some embodiments, the pressure sensor can be provided on the display screen 194. The electronic device 100 can also calculate the touch position based on the detection signal of the pressure sensor.
[0203] A touch sensor, also known as a "touch panel," can be mounted on display screen 194. The touch sensor and display screen 194 together form a touch screen, also known as a "touch screen." The touch sensor detects touch operations applied to or near the touch sensor. The touch sensor can communicate the detected touch operations to the application processor to determine the type of touch event.
[0204] Keys 190 include a power button (also known as a power button), a volume button, and the like. Keys 190 may be mechanical keys or touch-sensitive keys. Electronic device 100 may receive key inputs and generate key signal inputs related to user settings and function control of electronic device 100.
[0205] Motor 191 can generate vibration alerts. Motor 191 can be used for incoming call vibration alerts or touch vibration feedback. For example, touch operations on different applications (such as taking photos, playing audio, etc.) can correspond to different vibration feedback effects.
[0206] The indicator 192 may be an indicator light, which may be used to indicate the charging status, power level changes, messages, missed calls, notifications, etc.
[0207] The SIM card interface 195 is used to connect a SIM card. The SIM card can be connected to or disconnected from the electronic device 100 by inserting it into or removing it from the SIM card interface 195. The electronic device 100 can support 1 or N SIM card interfaces, where N is a positive integer greater than 1. The SIM card interface 195 can support Nano SIM cards, Micro SIM cards, SIM cards, and the like. Multiple cards can be inserted into the same SIM card interface 195 at the same time. The types of the multiple cards can be the same or different. The SIM card interface 195 can also be compatible with different types of SIM cards. The SIM card interface 195 can also be compatible with external memory cards. The electronic device 100 interacts with the network through the SIM card to implement functions such as calls and data communications. In some embodiments, the electronic device 100 uses an eSIM, i.e., an embedded SIM card. The eSIM card can be embedded in the electronic device 100 and cannot be separated from the electronic device 100.
[0208] The software system of the electronic device 100 can adopt a layered architecture, an event-driven architecture, a micro-kernel architecture, a micro-service architecture, or a cloud architecture. In the embodiment of the present application, the Android system with a layered architecture is used as an example to illustrate the software structure of the electronic device 100.
[0209] FIG5 is a block diagram of the software structure of the electronic device 100 according to an embodiment of the present application.
[0210] The layered architecture of electronic device 100 divides the software into several layers, each with a clear role and division of labor. Layers communicate with each other via software interfaces. In some embodiments, the Android system is divided into four layers: the application layer, the application framework layer, the radio interface layer (RIL), and the modem layer.
[0211] For the electronic device 100 in FIG4 , the application layer and the application framework layer can exchange data through a conventional interface. The application framework layer and the RIL can exchange data through a Hardware Abstraction Layer Interface Definition Language (HIDL) interface. The RIL and the Modem layer can exchange data based on the chip architecture of the electronic device. For example, the RIL and the Modem layer exchange data through PCI Express (Peripheral Component Interconnect Express, PCIE) or memory sharing.
[0212] The application layer can include a series of application packages.
[0213] As shown in Figure 5, the application package may include applications such as call, camera, gallery, video, map, navigation, Bluetooth, network slice selection SDK, etc.
[0214] Among them, the network slice selection SDK can determine the network slice corresponding to the APP based on the URSP rules, and determine the data processing level corresponding to the APP in the electronic device.
[0215] The application framework layer provides an application programming interface (API) and programming framework for applications in the application layer. The application framework layer includes some predefined functions.
[0216] As shown in FIG5 , the application framework layer may include a telephony manager (Telephony), a connectivity service (Connectivity Service), and the like.
[0217] The phone manager is used to manage cellular services of the electronic device 100. For example, the phone manager is used to manage call status (including connected and hung up) and cellular data connection status (including connected to the cellular network, disconnected from the cellular network, establishing a connection to the cellular network, disconnecting from the cellular network, etc.). It is understood that cellular networks can include 2G networks, 3G networks, 4G networks, and 5G networks (such as SA networks).
[0218] In a possible implementation, the application framework layer may also include a window manager, a content provider, a view system, a resource manager, a notification manager, etc. (not shown in FIG5 ), which is not limited in the embodiment of the present application.
[0219] The window manager is used to manage window programs. It can obtain the display size, determine whether there is a status bar, lock the screen, take screenshots, etc.
[0220] Content providers are used to store and retrieve data and make it accessible to applications. The data may include videos, images, audio, calls made and received, browsing history and bookmarks, phone books, etc.
[0221] The view system includes visual controls, such as those for displaying text and images. The view system is used to build applications. A display interface can consist of one or more views. For example, a display interface containing a text notification icon might include a view for displaying text and a view for displaying images.
[0222] The resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on.
[0223] The Notification Manager allows applications to display notifications in the status bar. These messages can be used to convey informational messages and can disappear automatically after a short pause, without requiring user interaction. For example, notifications can be used to announce the completion of downloads, message reminders, and so on.
[0224] Among them, relative to the modem side, the application layer and the application framework layer can be referred to as the AP side. In an embodiment of the present application, determining the network slice corresponding to the APP based on the URSP rule and determining the data processing level corresponding to the APP in the electronic device are implemented on the AP side, specifically in the network slice selection SDK on the AP side.
[0225] RIL is the interface layer between the application framework layer and the modem layer, responsible for the transmission of cellular-related service control plane operations and the reliable transmission of data. RIL can include the Radio Interface Layer Daemon (rild), and rild can include: ril service module. For example, the ril service module can be used to forward instructions sent by the phone manager via the HIDL interface to the modem layer, as well as the response data corresponding to the instructions returned by the modem layer, and the status or notification actively reported by the modem layer, to the phone manager.
[0226] The modem layer includes a modem processor (Modem), which can include a protocol stack and a card processing module. The protocol stack can include wireless communication protocol stacks such as 2G protocol stack, 3G protocol stack, 4G protocol stack, and 5G protocol stack.
[0227] The card processing module may include SIM card related modules, such as a SIM card module, a local SIM card module, and a SIM card slot driver, etc. The SIM card slot driver may be connected to a SIM card.
[0228] SIM card module: used to provide network registration, authentication and other SIM information related functions. This SIM card module can support the local SIM card call mode provided by the local SIM card module.
[0229] Local SIM card module: used to use the SIM card slot driver to access local SIM card information.
[0230] In a possible implementation, the modem of the electronic device 100 may be provided with a SIM card slot driver and a SIM hard card; or, the modem of the electronic device 100 may not be provided with a SIM card slot driver and a SIM hard card, in which case the electronic device 100 may use a local eSIM.
[0231] The above Android system architecture diagram is for illustration only and does not constitute any limitation.
[0232] It is understood that the layers in the software structure shown in FIG5 and the components contained in each layer do not constitute a specific limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may include more or fewer layers than shown, and each layer may include more or fewer components, and this application does not limit this.
[0233] It is understandable that, in order to implement the communication method in the embodiment of the present application, the electronic device includes hardware and / or software modules that perform the corresponding functions. In combination with the algorithm steps of each example described in the embodiment disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application in combination with the embodiments, but such implementation should not be considered to be beyond the scope of this application.
[0234] As shown in FIG6 , an embodiment of the present application provides a communication method, which may specifically include the following steps:
[0235] S101, the APP sends an activation request to the network slice selection SDK to establish a network connection service.
[0236] The activation request may include the APP's TD (Traffic Descriptor) parameters. For example, the APP's TD parameters may include, but are not limited to, APP ID, Data Network Name (DNN), IP triplet (IP Descriptor), Domain Descriptor, Connection Capabilities, and other parameters.
[0237] S102: Based on the URSP rule, the network slice selection SDK determines the target network slice corresponding to the APP according to the TD parameters, and sends the identifier of the target network slice to the OS module.
[0238] As shown in Figure 7, URSP rules primarily include two sets of important parameters: TD parameters that describe app attributes, and RSD parameters that describe data bearer attributes. These parameters may include, but are not limited to, S-NSSAI, SSC Mode (session and service continuity mode), and DNN. URSP rules are essentially the mapping between multiple sets of TD parameters and multiple sets of RSD parameters.
[0239] After the network slice selection SDK obtains the TD parameters of the app, it can find the corresponding RSD parameters based on the URSP rules. Since the RSD parameters contain the network slice identifier S-NSSAI, it also determines the target network slice that the app can access.
[0240] For example, after the network slice selection SDK obtains the TD parameters of the APP, it can match the network slice corresponding to the APP based on the URSP rules and the priority of the network slice. For example, the network slice selection SDK first matches the network slice corresponding to the APP in the network slice with the first priority based on the URSP rules. If no match is found, it then matches the network slice corresponding to the APP in the network slice with the second priority based on the URSP rules. Among them, the first priority is higher than the second priority.
[0241] Furthermore, the network slice selection SDK can send the identifier of the target network slice corresponding to the APP to the OS module through the API (Application Program Interface) provided by the OS module.
[0242] S103, the OS module sends the identifier of the target network slice to the Modem module.
[0243] The OS module sends the received identifier of the target network slice corresponding to the APP to the Modem module through the API provided by the Modem module.
[0244] S104, the Modem module interacts with the network device, associates the APP to the PDU session that supports the target network slice, and feeds back the indication of successful association to the network slice selection SDK.
[0245] In one possible implementation, the network slice selection SDK can also directly send the identifier of the target network slice corresponding to the APP to the Modem module through the API provided by the Modem module.
[0246] The identifier of the target network slice corresponding to the APP received by the modem module is the identifier of the network slice that the UE wishes to register, i.e., the identifier of the requested network slice. The modem module generates a registration request message based on the identifier of the target network slice, i.e., the registration request message includes the identifier of the target network slice (NSSAI), and sends the registration request message to the network-side device (e.g., gNB).
[0247] It should be noted that the identifier of the target network slice included in the registration request message may be the network slice identifier mentioned in the first possible implementation method, the second possible implementation method, and the third possible implementation method. If the identifier of the target network slice is the network slice identifier newly defined in the first possible implementation method, the identifier of the target network slice carries first indication information, and the first indication information is used to indicate the data processing level of the application in the terminal device. If the identifier of the target network slice is the network slice identifier with the second indication information added mentioned in the second possible implementation method, the identifier of the target network slice carries second indication information, and the second indication information is used to indicate the data processing level of the application in the terminal device. If the identifier of the target network slice is the network slice identifier in the existing technology mentioned in the third possible implementation method, the target network slice can implicitly indicate the data processing level of the application in the terminal device.
[0248] After receiving the Registration Request message from the UE, the gNB may forward the Registration Request message to the AMF. If the UE is in the CM-CONNECTED state, the gNB may forward the Registration Request message to the AMF based on the UE's N2 connection. If the UE is in the CM-IDLE state and the UE does not include the "Requested NSSAI" and the globally unique AMF identifier (GUAMI) when establishing the connection with the RAN, the gNB may forward the Registration Request message to the default AMF.
[0249] The AMF can verify whether the S-NSSAI in the "requested NSSAI" is allowed based on the "subscribed S-NSSAIs". The "subscribed S-NSSAIs" can be obtained by the AMF from the unified data management UDM network element. The AMF can determine a registration area so that all S-NSSAIs of the "allowed NSSAI" of the registration area are available in all tracking areas of the registration area, and then return the "allowed NSSAI" to the terminal device. Optionally, the AMF returns the mapping of "allowed NSSAI" to "subscribed S-NSSAIs" to the terminal device. Optionally, the AMF can return one or more "rejected S-NSSAIs" and the rejection reason for each of its S-NSSAIs. If the S-NSSAI rejection reason value indicates a network slice-specific authentication and authorization failure or revocation, the UE can retry requesting the S-NSSAI based on local policy.
[0250] The AMF sends a Registration Accept message to the gNB. The Registration Accept message indicates that the registration request has been accepted by the AMF. After receiving the Registration Accept message from the AMF, the gNB may forward the Registration Accept message to the UE.
[0251] The network slice selection process can be completed through the interaction between the Modem module and the network device. You can refer to the steps of the slice selection process described above. For parts of the process that are not explained in detail, you can refer to the existing technology and will not repeat them here.
[0252] In this way, the APP can be bound to the target network slice and associated with the PDU session that supports the target network slice. The modem module can also feedback the successful association indication information to the network slice selection SDK.
[0253] If there is already a PDU session that supports the target network slice that the APP wants to use, the terminal device associates the application with the PDU session that supports the target network slice, that is, the terminal device routes the application's data flow to the PDU session. If there is no PDU session that supports the target network slice that the APP wants to use, the terminal device initiates the establishment process of the PDU session that supports the target network slice in order to associate the application with the established PDU session. The PDU session establishment process may include the following steps:
[0254] Step 1. The modem of the terminal device sends a PDU session establishment request to the AMF.
[0255] The terminal device can send a PDU session establishment request to the AMF via a non-access stratum (NAS) message.
[0256] Among them, the PDU session establishment request may include parameters such as PDU session ID (PDU session ID), PDU session type (PDU Session type), SSC Mode, DNN, S-NSSAI (S-NSSAI corresponding to the service). Among them, the S-NSSAI in the PDU session establishment request can be a network slice identifier of one of the three indication methods described above.
[0257] The S-NSSAI carried in the PDU session request message is forwarded to the AMF via the wireless network. The AMF checks the S-NSSAI in the PDU session request message, selects the corresponding SMF based on the slice capabilities supported by each SMF in the network, and forwards the session establishment request to the SMF.
[0258] Step 2.AMF sends a PDU session create request to SMF.
[0259] AMF can send a PDU session creation request to SMF via HTTP2POST. The PDU session creation request can include parameters such as SUPI, DNN, PDU Session ID, S-NSSAI, and Request Type.
[0260] The SMF can establish the context of the PDU session. The SMF can obtain the user's response subscription information from the UDM, and then send policy control messages to the UPF, RAN, and terminal devices to establish the PDU session connection.
[0261] Step 3.SMF sends a session creation response (PDU session create response) to AMF.
[0262] After the SMF determines that the PDU session connection is established, it can send a session creation response to the AMF to indicate that the PDU session is successfully established.
[0263] Step 4.AMF sends PDU session establishment accept to the terminal device.
[0264] The AMF replies to the terminal device with a session establishment request response, indicating that the PDU session is successfully established. The terminal device associates the application with the newly established PDU session, that is, the terminal device routes the application's data flow to the newly established PDU session.
[0265] In addition, if the PDU Session Establishment Request sent by the terminal device is rejected by the network side, that is, the PDU session establishment fails, the terminal device re-matches other URSP rules and initiates the establishment of a PDU session based on the re-matched URSP rules.
[0266] The above explanation uses the example of the network slice selection SDK determining a target network slice corresponding to an app based on URSP rules. The same applies if the network slice selection SDK determines multiple target network slices corresponding to an app based on URSP rules. Registration of one or more network slices may be rejected. As you can see, the app will eventually be bound to one of the target network slices, and the app will be associated with the PDU session that supports the target network slice.
[0267] S105, the network slice selection SDK determines the data processing level of the APP's business data in the UE according to the target network slice.
[0268] Based on a new network slice selection rule (or new URSP rule) provided in an embodiment of the present application, the network slice selection SDK can also determine the data processing level of the APP's business data in the UE according to the target network slice.
[0269] In the first possible implementation method mentioned above, the network slice selection SDK can explicitly indicate the data processing level of the application in the terminal device through the first indication information newly added in the newly defined network slice identifier; in the second possible implementation method mentioned above, the network slice selection SDK can explicitly indicate the data processing level of the application in the terminal device through the second indication information newly added in the existing network slice identifier and the type of network slice; in the third possible implementation method mentioned above, the network slice selection SDK implicitly indicates the data processing level of the application in the terminal device through the existing network slice identifier.
[0270] Based on these three implementation methods, the network slice selection SDK determines the data processing level of the APP's business data in the UE according to the target network slice, as well as a detailed explanation of the data processing level. Please refer to the previous article and will not repeat it here.
[0271] S106, the UE processes the service data of the APP according to the data processing level.
[0272] After determining the data processing level of the APP's service data in the UE, the UE can process the APP's service data according to the corresponding data processing level.
[0273] In this way, the APP's business data is matched with the data processing level inside the UE, which can ensure the corresponding requirements of the business data (such as low latency, high rate, high priority, etc.), and avoid the problem of poor business experience caused by the mismatch between network slicing performance and the data processing situation inside the terminal.
[0274] In a specific embodiment, as shown in Figure 8, the TD parameter of the S-NSSAI includes a newly defined IS parameter. This embodiment provides a new network slice selection rule set in the RSD of the URSP rule. The IS parameter corresponds to one or more values, and different IS parameter values correspond to different network slices. In this case, the network slice selection SDK can match the target network slice corresponding to the APP based on the IS parameter. For example, IS 1 corresponds to network slice NSSAI 1, and IS 2 corresponds to network slice NSSAI 2.
[0275] Optionally, in the first possible implementation method mentioned above, the first indication information in the newly defined network slice identifier is an IS parameter. If the IS parameter value sent by the first APP to the network slice selection SDK is the same as the first indication information (i.e., IS parameter) value in the first network slice identifier, the network slice corresponding to the first APP is the first network slice. Moreover, the IS parameter can also be used to determine the data processing level of the application in the terminal device. At this time, the network slice selection SDK can determine the data processing level of the APP in the terminal device based on the IS parameter. Among them, different IS parameter values correspond to different data processing levels. For example, IS 1 corresponds to a low-latency processing level, and IS 2 corresponds to a high-latency processing level.
[0276] The target app's IS parameter values can be determined through negotiation between the app developer and the device manufacturer. For example, the app developer can purchase them from the device manufacturer. This allows the target app developer to negotiate with the device manufacturer to determine a data processing level that meets their business needs.
[0277] 9 , in this embodiment, the steps involved in the communication method shown in FIG6 can be adjusted as follows:
[0278] S201, the APP sends an activation request to the network slice selection SDK to establish a network connection service.
[0279] The activation request may include a TD (Traffic Descriptor) parameter of the APP, and the TD parameter includes an IS parameter.
[0280] S202, the network slice selection SDK determines the target network slice corresponding to the APP based on the IS parameters, and sends the identifier of the target network slice to the OS module.
[0281] Among them, the identifier of the target network slice includes IS parameters.
[0282] S203, the OS module sends the identifier of the target network slice to the Modem module.
[0283] S204, the Modem module interacts with the network device, associates the APP to the PDU session that supports the target network slice, and feeds back the indication of successful association to the network slice selection SDK.
[0284] S205, the network slice selection SDK determines the data processing level of the APP's business data in the UE based on the IS parameter in the target network slice identifier.
[0285] S206: The UE processes the service data of the APP according to the data processing level.
[0286] For any details not explained in this process, please refer to the previous article and I will not repeat them here.
[0287] In another specific implementation, a newly defined IS parameter is added to the RSD parameter of the URSP rule. The IS parameter corresponds to one or more values, with different IS parameter values corresponding to different data processing levels. In this case, the network slice selection SDK can determine the data processing level of the app in the terminal device based on the IS parameter. For example, IS 1 corresponds to a low-latency processing level, and IS 2 corresponds to a high-latency processing level.
[0288] In order to prevent network slicing from being abused by other APPs, the embodiment of the present application also adds a security verification mechanism on the network slicing selection SDK side.
[0289] As shown in FIG10 , an embodiment of the present application provides a communication method, which may specifically include the following steps:
[0290] S301, the APP sends an activation request to the network slice selection SDK to establish a network connection service.
[0291] The activation request includes the TD parameters and TD parameter signature of the APP.
[0292] Exemplarily, the TD parameter signature is generated by encrypting the hash value of the TD parameter.
[0293] In one implementation, the TD parameters may include the aforementioned IS parameters. The subsequent processing flow is referred to above and will not be described again here.
[0294] S302, the network slice selects SDK to perform security verification on the APP based on TD parameters and TD parameter signature.
[0295] The grid slice selects the SDK to decrypt the TD parameter signature and obtain the hash value of the TD parameter. The app is then security verified by comparing the decrypted TD parameter hash value with the hash value obtained by parsing the activation request. If the decrypted TD parameter hash value matches the hash value obtained by parsing the activation request, the app security verification succeeds; otherwise, the app security verification fails.
[0296] Among them, the TD parameter signature is generated based on the signature private key encryption, and the grid slice selection SDK decrypts the TD parameter signature according to the signature public key paired with the signature private key.
[0297] In one implementation, the TD parameter signature of the APP is generated by encrypting the hash value of the TD parameter of the APP based on the signature private key by the terminal server corresponding to the UE. At the same time, the terminal server sends the signature public key paired with the signature private key to the UE (such as to the network slice selection SDK of the UE), and the network slice selection SDK stores the signature public key locally.
[0298] In one example, the Grid Slice Selection SDK parses the TD parameters and TD parameter signature in the activation request, decrypts the TD parameter signature based on the locally stored signature public key, and uses the decrypted TD parameter hash value as security verification information. The Grid Slice Selection SDK verifies the parsed TD parameters based on the security verification information (i.e., the decrypted TD parameter hash value) to determine whether the two hash values are consistent. If so, the APP security verification is determined to be successful; otherwise, the APP security verification is determined to have failed.
[0299] In one example, the grid slice selection SDK parses the TD parameter and the TD parameter signature in the activation request, decrypts the TD parameter signature based on the locally stored signature public key, and uses the hash value of the decrypted TD parameter as security verification information. The grid slice selection SDK sends the security verification information (i.e., the hash value of the decrypted TD parameter) to the corresponding terminal server to perform security verification on the APP through the terminal service. The terminal server performs security verification on the APP based on the received security verification information, and determines whether the security verification information is consistent with the hash value of the TD parameter of the corresponding APP. If so, it feeds back an indication of successful security verification to the UE's grid slice selection SDK, otherwise it feeds back an indication of failed security verification to the UE's grid slice selection SDK.
[0300] S303: If the APP security verification is successful, based on the URSP rules, the network slice selection SDK determines the target network slice corresponding to the APP according to the TD parameters, and sends the identifier of the target network slice to the OS module.
[0301] S304, the OS module sends the identifier of the target network slice to the Modem module.
[0302] S305, the Modem module interacts with the network device, associates the APP to the PDU session that supports the target network slice, and feeds back the indication of successful association to the network slice selection SDK.
[0303] S306, the network slice selection SDK determines the data processing level of the APP's business data in the UE based on the target network slice.
[0304] S307, the UE processes the service data of the APP according to the data processing level.
[0305] In this way, the UE can not only ensure the corresponding requirements of business data (such as low latency, high speed, high priority, etc.), avoid the problem of poor business experience caused by the mismatch between network slicing performance and the internal data processing situation of the terminal, but also perform security verification on the APP before associating it with the network slice to avoid the abuse of network slices.
[0306] Based on the above technical solution, the network slice selection SDK can also update the URSP rules (including network slice selection rules) configured on the terminal side to determine the network slice corresponding to the APP through the updated URSP rules, and determine the data processing level of the APP in the terminal device.
[0307] In one implementation, when the URSP rules are configured on the network side, the updated URSP rules can be sent to the terminal side via the network device. For example, the H-PCF can configure the updated network slice selection rules to the terminal device via the AMF and gNB. For example, the updated URSP rules can be configured to the terminal device via a registration command message. For another example, the communication operator can configure the updated URSP rules to the terminal device. The updated URSP rules are received by the UE's modem module and sent to the network slice selection SDK via the modem module.
[0308] In one implementation, when the URSP rules are configured on the terminal side, the URSP rules can be updated based on the terminal platform or the SDK platform of the terminal.
[0309] The embodiment of the present application adopts a terminal-centric solution. Compared with the operating system-centric solution and the modem-centric solution, the cycle required for updating URSP rules is shorter, and the URSP rules are more limited to maintenance and management.
[0310] This embodiment further provides a computer storage medium, in which computer instructions are stored. When the computer instructions are executed on an electronic device, the electronic device executes the above-mentioned related method steps to implement the communication method in the above-mentioned embodiment.
[0311] This embodiment further provides a computer program product. When the computer program product is run on a computer, it enables the computer to execute the above-mentioned related steps to implement the communication method in the above-mentioned embodiment.
[0312] In addition, an embodiment of the present application also provides a device, which can specifically be a chip, component or module, and the device may include a connected processor and memory; wherein the memory is used to store computer-executable instructions, and when the device is running, the processor can execute the computer-executable instructions stored in the memory to enable the chip to execute the communication method in the above-mentioned method embodiments.
[0313] Among them, the electronic devices (such as mobile phones, etc.), computer storage media, computer program products or chips provided in this embodiment are all used to execute the corresponding methods provided above. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding methods provided above, and will not be repeated here.
[0314] Through the description of the above implementation methods, technical personnel in the relevant field can 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 distributed and completed by 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.
[0315] 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 modules or units is only 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.
[0316] As described above, the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the above embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the above embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A communication method, characterized in that: Applied to a terminal device, the terminal device includes an SDK module, an OS module, and a Modem module, and the method includes: The SDK module obtains an activation request for establishing a network connection service sent by the target APP; wherein the activation request includes a path descriptor TD parameter; Based on the UE routing policy URSP rule, the SDK module determines the target network slice corresponding to the target APP according to the TD parameter, and sends the identifier of the target network slice to the OS module; The OS module sends the identifier of the target network slice to the Modem module; The Modem module interacts with the network device according to the identifier of the target network slice, and associates the target APP with the PDU session that supports the target network slice; In which, the business data of the target APP is processed in the terminal device according to the data processing level matching the target network slice.
2. The method according to claim 1, characterized in that The activation request also includes a TD parameter signature; The SDK module determines the target network slice corresponding to the target APP according to the TD parameter, including: When the SDK module determines that the security verification of the target APP is successful based on the TD parameter signature, it determines the target network slice corresponding to the target APP based on the TD parameters.
3. The method according to claim 2, characterized in that The SDK module determines that the target APP security verification is successful according to the TD parameter signature, including: The SDK module decrypts the TD parameter signature according to the signature public key to obtain a first hash value; the TD parameter signature is generated based on the signature private key paired with the signature public key; If the SDK module determines that the first hash value and the second hash value are consistent, it determines that the security verification of the target APP is successful; wherein the second hash value is obtained by hashing the TD parameters of the target APP.
4. The method according to claim 1, wherein Also includes: The Modem module receives the updated URSP rules and sends the updated URSP rules to the SDK module, so that the SDK module updates the local URSP rules.
5. The method according to any one of claims 1 to 4, characterized in that Also includes: The SDK module determines, based on the first identifier of the target network slice, a data processing level of the service data of the target APP in the terminal device; or, The SDK module determines the data processing level of the service data of the target APP in the terminal device according to the second identifier of the target network slice and the type of the target network slice; or The SDK module determines the target network slice type or the target network slice priority according to the target network slice type or the target network slice priority. The data processing level of the target APP's business data in the terminal device.
6. The method according to claim 5, characterized in that The SDK module determines, according to the first identifier of the target network slice, a data processing level of the service data of the target APP in the terminal device, including: The SDK module determines the data processing level of the business data of the target APP in the terminal device based on the first indication information in the first identifier of the target network slice; wherein, the first identifier is a custom identifier of the network slice, and the first indication information is used to indicate the data processing level of the APP in the terminal device.
7. The method according to claim 6, characterized in that The identifier of the target network slice sent by the SDK module to the OS module and the identifier of the target network slice sent by the OS module to the Modem module are the first identifier of the target network slice.
8. The method according to claim 5, characterized in that The SDK module determines, according to the second identifier of the target network slice and the type of the target network slice, a data processing level of the service data of the target APP in the terminal device, including: The SDK module determines the data processing level of the target APP's business data in the terminal device based on the second indication information in the second identifier of the target network slice and the type of the target network slice; wherein, the second identifier is the network slice identifier specified in the communication protocol, and the second indication information is the newly added indication information in the network slice identifier, which is used to indicate the data processing level of the APP in the terminal device.
9. The method according to claim 8, characterized in that The identifier of the target network slice sent by the SDK module to the OS module and the identifier of the target network slice sent by the OS module to the Modem module are the second identifier of the target network slice.
10. The method according to claim 5, characterized in that The data processing level may include at least one of the following aspects: Priority, latency, rate, data security, and data reliability.
11. The method according to claim 6, characterized in that In a case where the SDK module determines, based on the first identifier of the target network slice, a data processing level of the service data of the target APP in the terminal device, the first indication information is a target parameter; The TD parameters of the target APP include the target parameters; The SDK module determines the target network slice corresponding to the target APP according to the TD parameter, including: The SDK module uses the first network slice as the target network slice corresponding to the target APP; wherein, the target parameter value in the first identifier of the first network slice is the same as the target parameter value of the target APP.
12. The method according to claim 11, characterized in that When the values of the target parameters are different, the data processing levels of the APP in the terminal device are different.
13. The method according to claim 11, wherein the target parameter value of the target APP is determined by negotiation between the developer of the target APP and the manufacturer of the terminal device.
14. A terminal device, characterized in that: include: one or more processors; Memory; and one or more computer programs, wherein the one or more computer programs are stored on the memory, and when the computer programs are executed by the one or more processors, the terminal device executes the communication method according to any one of claims 1 to 13.
15. A chip, characterized in that: The chip includes a processing circuit and a transceiver pin; wherein, The transceiver pins and the processing circuit communicate with each other via an internal connection path; The processing circuit executes the communication method according to any one of claims 1 to 13 to control the receiving pin to receive a signal and to control the transmitting pin to send a signal.
16. A computer-readable storage medium comprising a computer program, characterized in that When the computer program is executed on an electronic device, the electronic device is enabled to execute the communication method according to any one of claims 1 to 13.