A communication method and apparatus
By establishing a communication connection between the terminal device and the network device through user plane network elements (such as UPF), the problem of needing to deploy a complex protocol stack on the terminal device is solved, thereby simplifying the processing of the terminal device and improving communication efficiency.
Patent Information
- Application Number
- CN202111599951.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-24
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2041-12-24
AI Technical Summary
When terminal devices communicate with network devices, they need to deploy a complex TCP/IP protocol stack, which results in high processing overhead and processing capacity requirements.
Communication is performed through user plane network elements (such as UPF). Terminal devices do not need to deploy application message transmission protocol stacks. They can directly send application messages through wireless communication protocols. User plane network elements determine the source and destination addresses based on session configuration information to establish connections above the transport layer.
This reduces the processing complexity and processing capacity requirements of terminal devices when transmitting application messages, and improves communication efficiency.
Smart Images

Figure CN116347428B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a communication method and apparatus. Background Technology
[0002] To address the challenges of wireless broadband technology and maintain the leading edge of the 3rd Generation Partnership Project (3GPP) network, the 3GPP standards group formulated the 5th generation (5G) network architecture at the end of 2016. This architecture supports access to the core network via wireless technologies defined by the 3GPP standards group (such as Long Term Evolution (LTE), 5G radio access network (RAN), etc.) and fixed networks.
[0003] When communicating, terminal devices typically access the network through the interfaces provided by the Transmission Control Protocol / Internet Protocol (TCP / IP) stack. When the terminal device is a wireless network terminal, the applications within it call the protocol stack (e.g., ...). Figure 1 The TCP / IP protocol stack provides interfaces, which in turn connect the protocol stack to network-side devices (such as devices deployed remotely in the user plane function, UPF). Figure 1 (Not shown in the text) Interactive messages. Messages from the protocol stack on the terminal device can be transmitted via the wireless module (…). Figure 1 The terminal can send messages to network-side devices via the user equipment (UE) or receive messages via the radio module. Messages sent by the terminal can be sent to network-side devices via the UPF, and messages received from network-side devices can also be received via the UPF. In other words, communication between the terminal and the network side requires a protocol stack mounted on the terminal; however, the deployment of this protocol stack mechanism is complex. Summary of the Invention
[0004] This application provides a communication method and apparatus to reduce communication complexity.
[0005] Firstly, this application provides a communication method. This method can be executed through user plane network elements, such as UPF, or through terminals, such as UE, vehicle-mounted equipment, etc., or through other user plane network elements. This application does not specifically limit the method here; only the interaction between the terminal and user plane network elements is used as an example for illustration. The following can be executed:
[0006] The terminal determines the application message, which includes application data and the application address of the receiving end of the application message, but does not include the source address of the application message; the terminal sends the application message to the user plane network element. Correspondingly, the user plane network element receives the application message from the terminal, which includes application data and the application address of the receiving end of the application message; the application message is carried in a session or stream; the user plane network element determines the source address of the application message based on session configuration information; the session configuration information is used to indicate the provision of connection services to the terminal; the user plane network element determines the destination address of the application message based on the application address; the user plane network element sends a first message to the receiving end, which includes application data, the source address of the application message, and the destination address of the application message.
[0007] In this application, when the terminal communicates with other devices, there is no need to deploy an application message transmission protocol stack in the terminal. The terminal can directly send application messages to the user plane network element through the wireless communication protocol, thereby eliminating the need to establish a connection above the transport layer between the terminal and the wireless access device. The user plane network element can establish a communication connection above the transport layer of application messages with other devices through session configuration information and the application address of the application message receiver. This method can reduce the complexity of building a protocol stack above the transport layer when the terminal transmits application messages.
[0008] In one alternative approach, the user plane network element can determine the source address of the session based on the session configuration information; the user plane network element can then use the source address of the session as the source address of the application packet. It should be noted that when the terminal deploys an application packet transmission protocol stack, it needs to carry the source and destination addresses of the application packet when sending packets, such as the source IP address and destination IP address. However, in this application, the terminal does not deploy an application packet transmission protocol stack. Even if the terminal device does not transmit the source address of the application packet to the user plane network element, the user plane network element can determine the source address of the application packet based on the session configuration information. This method reduces the processing complexity of the device.
[0009] In one alternative approach, the user plane network element may send a connection creation request, which includes an application address; the creation request is used to request the destination address corresponding to the application address; the user plane network element receives response information for the connection creation request, which includes the destination address corresponding to the application address. It should be noted that the user plane network element determines the destination address corresponding to the application address of the application packet through the connection creation request, rather than directly carrying the destination address in the application packet. Therefore, this application provides a solution for obtaining the destination address of an application packet without deploying a protocol stack for application packet transmission in the terminal device.
[0010] In one alternative approach, when a user plane network element receives application packets from a terminal, there are several possible implementations. For example, it could receive forwarded packets from a radio access network (RAN) device. These forwarded packets, which include application packets, are sent by the terminal to the RAN device. Forwarding packets through the RAN device ensures the reliability of application packet transmission.
[0011] In one alternative approach, the forwarded message may also include the sequence number of the application message; the user plane network element may also send back the sequence number of the received application message to the access network device. It should be noted that in practical applications, due to varying communication environment conditions (e.g., channel interference, noise), application messages may not be received. Therefore, including the sequence number of the application message in the application message helps determine which messages were successfully received and which were not.
[0012] For example, session configuration information may include, but is not limited to, message protocol information; message protocol information includes: message protocol information for transmitting application messages, and / or, the message protocol type corresponding to the application message, etc., which are not specifically limited in this application. The message protocol information may be Hypertext Transfer Protocol (HTTP).
[0013] In one alternative approach, the source address can be the address assigned to the terminal by the user plane network element.
[0014] Secondly, this application provides a communication method that can be executed through a user plane network element, such as a UPF, or through a terminal. This application does not specifically limit the method here, but only uses the interaction between a terminal and a user plane network element as an example. The method can be executed as follows:
[0015] The terminal determines indication information, which indicates the destination address of the receiving end of the application message; the terminal sends the indication information to the user plane network element; the terminal determines the application message, which includes application data but does not include the source and destination addresses of the application message, and sends the application message to the user plane network element. Correspondingly, the user plane network element receives the indication information from the terminal; the user plane network element receives the application message from the terminal; the user plane network element determines the destination address of the application message based on the indication information; the user plane network element determines the source address of the application message based on session configuration information; the session configuration information is used to indicate that connection services are provided to the terminal; the user plane network element sends a first message to the receiving end, the first message including application data, the source address of the application message, and the destination address of the application message.
[0016] In this application, when the terminal communicates with other devices, the terminal can directly send application messages to the user plane network element through a wireless communication protocol. The user plane network element can establish a communication connection for application messages with other devices through session configuration information and indication information. In this way, the user plane network element can obtain connection information even if it cannot perceive application-related information.
[0017] In one alternative approach, the indication information can be sent from the terminal to the user plane network element via a protocol layer between the terminal and the user plane network element. This protocol layer can be the Ctrl layer. This application does not limit the name of the Ctrl layer or its position in the protocol stack. For example, the terminal can also support protocol stacks such as the TCP / IP network layer and transport layer. The Ctrl layer can be located anywhere in the wireless protocol stack, TCP / IP network layer, transport layer, and application layer. In this embodiment, the Ctrl layer is used for information interaction between the UE and the UPF as an example. The Ctrl layer can be used for information interaction between devices in the network, and network devices can modify its content when transmitting the Ctrl layer. For example, after the UE sends Ctrl information (i.e., indication information) to the UPF, the UPF can send Ctrl layer information to devices in the DN. The UPF can also modify the content before sending. This method does not affect the functionality of other existing protocol layers, and this application does not specifically limit it. By sending indication information through the protocol layer, the address of the receiving end of the application message is indicated. The user plane network element can obtain connection information even if it cannot perceive application-related information.
[0018] In one alternative approach, the user plane network element can determine the source address of the session carried by the application packet based on the session configuration information; the user plane network element then uses the source address of the session carried by the application packet as the source address of the application packet. In this application, even when the terminal device does not transmit the source address of the application packet to the user plane network element, the user plane network element can determine the source address of the application packet based on the session configuration information, thereby reducing the processing complexity of the device.
[0019] In one alternative approach, the indication information may be specifically used to indicate: determining the destination address of the receiving end based on the connection identifier carried in the application message; the terminal may send an application message to the user plane network element, the application message including a first connection identifier, the connection corresponding to the first connection identifier being used to carry the application message; correspondingly, the user plane network element may receive an application message from the terminal, the application message including the first connection identifier; the user plane network element determines the destination address of the application message based on the first connection identifier included in the application message.
[0020] In this application, the connection identifier may be a connection identifier determined by the terminal itself, or it may be a connection identifier obtained through other means. The user plane network element can determine the destination address of the receiving end of the application message based on the connection identifier. This method can improve communication efficiency and reduce the complexity of device processing.
[0021] In one alternative approach, the user plane network element may send connection identification information to the terminal. The connection identification information includes one or more connection identifiers, each of which is used to identify a connection created by the user plane network element. The first connection identifier is selected by the terminal from one or more connection identifiers. Accordingly, the user plane network element may receive the connection identification information from the user plane network element.
[0022] In this application, the connection identifier of the application message is assigned by the user plane network element. After the user plane network element assigns the connection identifier, the terminal carries the selected connection identifier when sending application data, and the user plane network element can determine the connection information, which can improve data processing efficiency.
[0023] In one alternative approach, when a user plane network element receives application packets from a terminal, there are several possible implementations. For example, it could receive forwarded packets from a radio access network (RAN) device. These forwarded packets, which are sent by the terminal to the RAN device, include application packets. Forwarding packets through the RAN device ensures the reliability of application packet transmission.
[0024] In one alternative approach, the forwarded message may also include the sequence number of the application message; the user plane network element may also send back the sequence number of the received application message to the access network device. It should be noted that in practical applications, due to varying communication environment conditions (e.g., channel interference, noise), application messages may not be received. Therefore, including the sequence number of the application message in the application message helps determine which messages were successfully received and which were not.
[0025] For example, the indication information may include, but is not limited to: the quality of service (QoS) requirement information corresponding to the terminal, the message protocol information for transmitting application messages, and the message protocol type corresponding to the application messages.
[0026] In one alternative approach, the message protocol information can be the HTTP protocol.
[0027] Thirdly, embodiments of this application provide a communication device. The communication device can be a user plane network element (such as the user plane network element in the first aspect or the user plane network element in the second aspect) or a chip disposed within a user plane network element. It can also be a terminal (such as the terminal in the first aspect or the terminal in the second aspect) or a chip disposed within a terminal. The communication device has the function to implement any of the first to second aspects described above. For example, the communication device includes modules, units, or means corresponding to the steps involved in any of the first to second aspects described above. The function, unit, or means can be implemented by software, hardware, or hardware executing corresponding software.
[0028] In one possible design, the communication device includes a processing unit and a transceiver unit. The transceiver unit can be used to transmit and receive signals to enable communication between the communication device and other devices. For example, the transceiver unit can be used to receive configuration information from a terminal device. The processing unit can be used to perform some internal operations of the communication device. The transceiver unit can be called an input / output unit, a communication unit, etc., and can be a transceiver; the processing unit can be a processor. When the communication device is a module (e.g., a chip) in a communication device, the transceiver unit can be an input / output interface, input / output circuit, or input / output pins, etc., and can also be called an interface, communication interface, or interface circuit, etc.; the processing unit can be a processor, processing circuit, or logic circuit, etc.
[0029] In another possible design, the communication device includes a processor and may further include a transceiver for transmitting and receiving signals. The processor executes program instructions to perform the methods in any of the possible designs or implementations of the first to second aspects described above. The communication device may also include one or more memories coupled to the processor. The memories may store necessary computer programs or instructions for implementing the functions involved in any of the first to second aspects described above. The processor can execute the computer programs or instructions stored in the memory, and when the computer programs or instructions are executed, the communication device implements the methods in any of the possible designs or implementations of the first to second aspects described above.
[0030] In another possible design, the communication device includes a processor that can be coupled to a memory. The memory can store necessary computer programs or instructions for implementing the functions involved in any of the first to second aspects described above. The processor can execute the computer programs or instructions stored in the memory, which, when executed, cause the communication device to implement the methods in any possible design or implementation of the first to second aspects described above.
[0031] In another possible design, the communication device includes a processor and an interface circuit, wherein the processor is used to communicate with other devices through the interface circuit and to perform the methods in any possible design or implementation of the first to second aspects described above.
[0032] Understandably, in the third aspect described above, the processor can be implemented in hardware or software. When implemented in hardware, the processor can be a logic circuit, integrated circuit, etc.; when implemented in software, the processor can be a general-purpose processor that reads software code stored in memory. Furthermore, there can be one or more processors, and one or more memories. The memory can be integrated with the processor or separated from it. In specific implementations, the memory can be integrated with the processor on the same chip or disposed on different chips. This application does not limit the type of memory or the arrangement of the memory and processor.
[0033] Fourthly, embodiments of this application provide a communication system, which includes the user plane network elements and terminals described in the first to second aspects above.
[0034] Fifthly, this application provides a chip system including a processor and potentially a memory, for implementing the methods described in any of the possible designs of the first to second aspects. The chip system may be composed of chips or may include chips and other discrete devices.
[0035] Sixthly, this application also provides a computer-readable storage medium storing computer-readable instructions that, when executed on a computer, cause the computer to perform a method as described in any of the possible designs of the first to second aspects.
[0036] In a seventh aspect, this application provides a computer program product containing instructions that, when run on a computer, cause the computer to perform the methods of the embodiments of the first to second aspects described above.
[0037] For the technical effects that can be achieved in the third to seventh aspects mentioned above, please refer to the description of the technical effects that can be achieved by the corresponding possible design schemes in the first or second aspects mentioned above. This application will not repeat them here. Attached Figure Description
[0038] Figure 1 A schematic diagram of an architecture for deploying a protocol stack on a terminal device is shown.
[0039] Figure 2A schematic diagram of a mobile communication network architecture provided in an embodiment of this application is shown;
[0040] Figure 3A A schematic diagram of a protocol stack structure is shown;
[0041] Figure 3B This diagram illustrates another protocol stack structure.
[0042] Figure 4 A schematic diagram of a communication connection process is shown;
[0043] Figure 5 A flowchart illustrating a communication method provided in an embodiment of this application is shown;
[0044] Figure 6 A flowchart illustrating a communication method provided in this application is shown;
[0045] Figure 7 A flowchart illustrating a communication method provided in this application is shown;
[0046] Figure 8 A flowchart illustrating a communication method provided in this application is shown;
[0047] Figure 9 A flowchart illustrating a communication method provided in this application is shown;
[0048] Figure 10 A flowchart illustrating a communication method provided in this application is shown;
[0049] Figure 11A A flowchart illustrating a communication method provided in this application is shown;
[0050] Figure 11B A flowchart illustrating a communication method provided in this application is shown;
[0051] Figure 12 A flowchart illustrating a communication method provided in this application is shown;
[0052] Figure 13 A schematic diagram of the structure of the communication device provided in an embodiment of this application is shown;
[0053] Figure 14 A schematic diagram of the structure of the communication device provided in an embodiment of this application is shown;
[0054] Figure 15 A schematic diagram of the structure of the communication device provided in an embodiment of this application is shown. Detailed Implementation
[0055] To make the objectives, technical solutions, and advantages of this application clearer, a further detailed description of this application will be provided below in conjunction with the accompanying drawings. The specific operational methods in the method embodiments can also be applied to the device embodiments or system embodiments. In the description of this application, unless otherwise stated, "multiple" means two or more. Therefore, implementations of the device and method can be referred to mutually, and repeated details will not be repeated.
[0056] Figure 2 This diagram illustrates a mobile communication network architecture, which includes terminal devices, access network devices, access and mobility management functions, session management functions, user plane functions, policy control functions, network slice selection functions, network slice-specific authentication and authorization functions, network repository functions, network data analysis functions, unified data management functions, unified data storage functions, authentication service functions, network capability opening functions, terminal radio capability management functions, binding support functions, application functions, and a data network (DN) connecting to the operator's network. Terminal devices can access the wireless network through the access node at their current location. Terminal devices can send service data to and receive service data from the data network through the access network devices and user plane functions.
[0057] Access and mobility management functions are primarily used for the attachment, mobility management, and tracking area update procedures of terminal devices in mobile networks. In 5G communication systems, the access and mobility management function can be called the access and mobility management function (AMF). In future communication systems (such as 6G communication systems), the access and mobility management function may still be called AMF, or it may have other names; this application is not limited to these names.
[0058] Session management functions are primarily used for session management in mobile networks, such as session establishment, modification, and release. Specific functions include assigning Internet Protocol (IP) addresses to terminal devices and selecting user plane functions that provide packet forwarding capabilities. In 5G communication systems, the session management function may be a session management function (SMF). In future communication systems (such as 6G communication systems), the session management function may still be called SMF, or it may have other names; this application is not limited to these names.
[0059] User plane functions are primarily used for processing user packets, such as forwarding and billing. In 5G communication systems, user plane functions can be UPF. In future communication systems (such as 6G communication systems), user plane functions can still be UPF, or they can have other names; this application is not limited to any particular name.
[0060] Policy control functions include policy control functions, charging policy control functions, QoS control, etc. In 5G communication systems, policy control functions can be policy control functions (PCF). In future communication systems (such as 6G communication systems), policy control functions can still be PCF, or they can have other names; this application is not limited to these.
[0061] The network slice selection function is mainly used to select a suitable network slice for the services of terminal devices. In 5G communication systems, the network slice selection function can be called the network slice selection function (NSSF). In future communication systems (such as 6G communication systems), the network slice selection function may still be called NSSF, or it may have other names. This application does not limit this.
[0062] The network slice-specific authentication and authorization function (NSSAAF) is mainly used for authentication and authorization of terminal devices accessing specific network slices.
[0063] The network repository function is primarily used to provide registration and discovery of network functions or the services provided by network functions. In 5G communication systems, the network repository function may be a network repository function (NRF). In future communication systems (such as 6G communication systems), the network repository function may still be NRF, or it may have other names; this application is not limited to any particular name.
[0064] The network data analytics function can collect, analyze, and predict data from various network functions, such as policy control, session management, user plane, access management, and application functions (through network capability exposure). In 5G communication systems, the network data analytics function can be a network data analytics function (NWDAF). In future communication systems (such as 6G communication systems), the network data analytics function may still be called NWDAF, or it may have other names; this application is not limited to these names.
[0065] The unified data management function is mainly used to manage the subscription information of terminal devices. In 5G communication systems, the unified data management function can be a unified data management (UDM) function. In future communication systems (such as 6G communication systems), the unified data management function can still be a UDM function, or it can have other names. This application is not limited to this.
[0066] The unified data storage function is primarily used to store structured data information, including subscription information, policy information, and network data or service data with standard format definitions. In 5G communication systems, the unified data storage function can be a unified data repository (UDR) function. In future communication systems (such as 6G communication systems), the unified data storage function may still be a UDR function, or it may have other names; this application is not limited to these.
[0067] The authentication service function is mainly used for security authentication of terminal devices. In 5G communication systems, the authentication service function can be an authentication server function (AUSF). In future communication systems (such as 6G communication systems), the authentication service function can still be called AUSF, or it can have other names; this application is not limited to these.
[0068] Network capability exposure (NEF) allows for the controlled exposure of certain network functions to applications. In 5G communication systems, NEF may be used. In future communication systems (such as 6G communication systems), NEF may still be used, or it may have other names; this application does not limit this.
[0069] The terminal radio capability management function is used to store and manage the radio capabilities of terminal devices within the network. In 5G communication systems, the terminal radio capability management function may be a UE radio capability management function (UCMF). In future communication systems (such as 6G communication systems), the terminal radio capability management function may still be UCMF, or it may have other names; this application is not limited to these names.
[0070] The binding support function is used to maintain the mapping between internet protocol (IP) addresses and service functions for interconnecting user networks. In 5G communication systems, the binding support function may be a binding support function (BSF). In future communication systems (such as 6G communication systems), the binding support function may still be called BSF, or it may have other names; this application is not limited to these names.
[0071] Application functions can provide various application service data to the control plane functions of the operator's communication network, or obtain network data and control information from the control plane functions of the communication network. In 5G communication systems, application functions can be application functions (AF). In future communication systems (such as 6G communication systems), application functions can still be called AF, or they can have other names; this application is not limited to these names.
[0072] Data networks are primarily used to provide data transmission services for terminal devices. Data networks can be private networks, such as local area networks (LANs), public data networks (PDNs), such as the Internet, or dedicated networks deployed by carriers, such as configured IP multimedia corenetwork subsystems (IMS) services.
[0073] It should be noted that the functions in the embodiments of this application may also be referred to as network elements, network functions, functional entities, devices, etc. For example, access and mobility management functions may also be referred to as access and mobility management network elements, or access and mobility management network functions, or access and mobility management functional entities, etc. The names of each function are not limited in this application. Those skilled in the art can replace the names of the above functions with other names to perform the same function, and all such replacements are within the scope of protection of this application.
[0074] As shown in the background section, when terminal devices communicate with network devices, they typically need to deploy a protocol stack. This protocol stack usually includes a link layer, network layer, transport layer, and application layer. Figure 3A For example, Figure 3A The protocol stack also includes a physical layer, but the physical layer is usually not included in the protocol stack layering. The application layer can implement the following functions:
[0075] 1. Supports HTTP: Provides requests and transmission of documents over the world wide area network (Web).
[0076] 2. Supports File Transfer Protocol (FTP): Provides file transfer between two end systems.
[0077] 3. Supports Domain Name Server (DNS): Converts URLs (Uniform Resource Locator, URL) into 32-bit network addresses.
[0078] The transport layer can perform the following functions:
[0079] 1. Supports Transmission Control Protocol (TCP): Provides connection-oriented services to applications, including the delivery of application layer messages to the destination and flow control (i.e., rate matching between sender and receiver); divides long messages into short messages, provides congestion control, and suppresses the source sending rate.
[0080] 2. Supports User Datagram Protocol (UDP): Provides connectionless service to applications, without reliability, flow control, or congestion control.
[0081] The network layer (IP layer) can perform the following functions:
[0082] 1. IP Support: Defines the various fields in the datagram and how end systems and routers interact with these fields.
[0083] 2. Supports multiple routing protocols: enables datagrams to be transmitted from source to destination according to the route.
[0084] The link layer can perform the following functions:
[0085] 1. Data from the network layer is transmitted to the next node through the link layer, and then the data is handed over from the link layer to the network layer at the next node.
[0086] 2. Link layer protocols include, for example, point-to-point protocols (PPP), and can provide reliable delivery, but not as reliable as TCP delivery.
[0087] The physical layer provides protocols and transmission media for bit stream transmission; different transmission media have different physical layer protocols.
[0088] Figure 3BThis diagram illustrates another protocol stack. The access network (AN) layer is the radio protocol stack between the UE and the access network RAN (not limited or described in this application). Ctrl / RT is an optional protocol layer providing control (Ctrl) (the name used in this application is not limited) and / or reliable transport (RT) (the name used in this application is not limited) between the UE and the UPF. The application protocol layer is the application layer between the UE and the DN-side equipment. The RAN can optionally provide the RT layer between itself and the UPF to provide reliable transport. On the radio network side, the UPF can optionally provide the RT protocol layer between itself and the RAN, and optionally provide the Ctrl / RT layer between itself and the UE; the UPF provides network-side connectivity services on the network side, such as... Figure 3B The TCP / UDP (User Datagram Protocol) in the DN (this application does not limit the network type, connection type, or specific protocol used in the DN). When the UPF receives an application or Ctrl layer message from the UE, it establishes a connection in the DN to provide data transmission and reception services for the UE; data and Ctrl layer messages between the UPF and the UE can optionally be reliably transmitted through the RT protocol layer (including two optional methods: the RT protocol layer between the UE and the UPF; and reliable transmission between the RAN and the UE through an air interface mechanism, and reliable transmission between the RAN and the UPF through RT, thereby achieving reliable transmission from the UE to the UPF). Figure 3B In the protocol stack diagram shown, the terminal does not have a TCP / IP protocol stack deployed. The terminal can directly transmit application messages or application data with the UPF. The UPF can deploy a TCP / UDP protocol stack to establish a communication connection with the data network to transmit data.
[0089] In Adoption Figure 1 The system architecture shown and Figure 3A When the protocol stack is layered as shown, the terminal device and network device can refer to the following when establishing a communication connection. Figure 4 The process illustrated involves the terminal application sending a request to invoke the TCP / IP protocol stack interface. The TCP / IP layer returns an interface identifier to the application. The UE then establishes a TCP connection with the network device using its own wireless module (transmitting application data via the TCP connection between the RAN and UPF), and receives the connection status (whether a connection can be established) from the network device. If the network device supports establishing a TCP connection with the terminal, the application in the UE can transmit data to the network device via the wireless module based on the established TCP connection. After receiving the data, the network device provides feedback on the data reception status (whether reception was successful, how much data was successfully received, how much data was not successfully received, etc.).
[0090] Since the transmission of application data between terminals and network devices usually requires the use of the TCP protocol stack, TCP or IP protocol stacks need to be deployed in each terminal. In other words, the terminal must support the transmission of TCP or IP protocols. However, the deployment of TCP or IP protocol stacks brings processing overhead to the terminal device, requiring the terminal device to have the processing capability to support TCP or IP protocols.
[0091] Considering the high complexity of deploying TCP or IP protocol stacks on the terminal during application data transmission, this application provides a communication method to improve the processing efficiency of the terminal when transmitting application data to the network device, and reduce the processing capability requirements of the terminal device for transmitting application data.
[0092] See Figure 5 This application provides a communication method that can be executed through the interaction of a terminal, a user plane network element, and a receiving end. The receiving end may be a network device, core network device, or data center, etc., which are not specifically limited herein. In this application, communication between the terminal and the receiving end is achieved through a user plane network element. The terminal does not need to deploy TCP or IP protocol stacks; it only needs to send application messages or application data to the receiving end using a wireless communication protocol. The user plane network element can act as a client to establish a TCP or IP communication connection with the receiving end. When the receiving end sends data to the terminal, the user plane network element can act as a server to directly send application messages or application data to the terminal via a wireless communication protocol. Specifically, the following steps can be followed:
[0093] Step 501: The terminal determines the application message. The application message includes application data and the application address of the receiving end of the application message, but does not include the source address of the application message. The application message can be carried in a session or a stream, that is, the application message can be transmitted through a session or a stream. Usually, a session includes multiple streams, which can be QoS streams or other data streams. This application does not specifically limit this.
[0094] Step 502: The terminal sends an application message to the user plane network element. Correspondingly, the user plane network element can receive the application message from the terminal.
[0095] Step 503: The user plane network element determines the source address of the application packet based on the session configuration information; the session configuration information is used to indicate the provision of connection services to the terminal.
[0096] It should be noted that the session configuration information can be information configured by user plane network elements, information from session management network elements, information from core network devices, or information determined by user plane network elements after receiving application packets from terminal devices and parsing them. This application does not specifically limit the source of the session configuration information. This method allows for more flexible acquisition of session configuration information and enables real-time adjustments. Since the user plane network element essentially replaces the terminal device in communicating with the receiving end, the user plane network element needs to know both the address of the receiving end and the address of the terminal device it replaces during communication in order to establish a TCP or IP connection with the receiving end. Therefore, the source address of the application packets can be determined based on the session configuration information.
[0097] In one optional approach, the user plane network element can determine the source address of the session based on session configuration information; the user plane network element can then use the source address of the session as the source address of the application packet. After receiving the application packet, the user plane network element determines the session or flow carrying the application packet. It determines the source address of the session based on the session or flow carrying the application packet and the session configuration information. The source address of the session is then used as the source address of the application packet. For example, if the session configuration information includes the source address information of PDU session 1, and the application packet is carried by PDU session 1 or a QoS flow belonging to session 1, then the source address of PDU session 1 can be used as the source address of the application packet. Of course, in practical applications, the session configuration information may directly configure the source address information of a QoS flow belonging to a certain PDU session, in which case the source address information of the QoS flow can also be directly used as the source address of the application packet. This application does not specifically limit this approach.
[0098] However, in practical applications, user plane network elements can also assign source addresses to terminals without knowing the actual address of the terminal device. For example, terminal 1 corresponds to address 1, and sending data to address 1 is equivalent to sending data to terminal 1. Therefore, in practical applications, the address of the terminal device can be set according to the performance of the user plane network element or actual service requirements. It can be the address of the user plane network element, the actual address of the terminal device, the address assigned to the terminal device by the user plane network element, or address information composed of both the address of the user plane network element and the actual address of the terminal device, etc. This application does not specifically limit this. In the prior art, when the terminal deploys an application message transmission protocol stack, it needs to carry the source address and destination address of the application message when sending messages, such as the source IP address and destination IP address of the application message. However, in this application, when the terminal does not deploy an application message transmission protocol stack, and the terminal device does not transmit the source address of the application message to the user plane network element, the user plane network element can determine the source address of the application message according to the session configuration information. This method can reduce the processing complexity of application data transmission by the terminal device.
[0099] It should be noted that the session configuration information may also include message protocol information; the message protocol information is: the message protocol information for transmitting application messages, and / or, the message protocol type corresponding to the application message. The message protocol information can be HTTP protocol, etc., and this application does not specifically limit it here.
[0100] Step 504: The user plane network element determines the destination address of the application packet based on the application address. Since the application packet carries the application address of the application packet receiver, not an IP address, the user plane network element can determine the destination address of the application packet based on the application address. For example, if the application address of the application packet is application address 1, the user plane network element may store a mapping between application addresses and destination addresses of application packets. For example, if application address 1 corresponds to destination address 3, then the user plane network element can use destination address 3 as the address of the application packet receiver.
[0101] In one optional implementation, the user plane network element can send a connection creation request, which includes an application address; the creation request is used to request the destination address corresponding to the application address; the user plane network element receives response information for the connection creation request, which may include the destination address corresponding to the application address. It should be noted that the user plane network element determines the destination address corresponding to the application address of the application packet through the connection creation request, rather than directly carrying the destination address in the application packet. Therefore, in this application, the terminal device can send the application packet to the UPF via a session or stream based on a wireless communication protocol without deploying the application packet's transport protocol stack, and the UPF can also obtain the destination address of the application packet.
[0102] Step 505: The user plane network element sends the first message to the receiving end. The first message includes application data, the source address of the application message, and the destination address of the application message.
[0103] After determining the source and destination addresses of the application message, the user plane network element packages it with the application data to form the first message, which is then transmitted to the receiving end. When the terminal communicates with the receiving end, there is no need to deploy the application message transmission protocol stack in the terminal. When the terminal sends the message to the user plane network element, it does not need to carry connection information based on the application message transmission protocol, such as source or destination address information. The user plane network element can establish a communication connection with the receiving end for transmitting application messages, such as a TCP connection or an IP connection, through session configuration information and the application address of the receiving end of the application message. This method can reduce the data processing complexity of the UE transmitting reference messages to the network-side equipment.
[0104] It should be noted that, in this embodiment, the user plane network element and the terminal can directly transmit application messages based on sessions or streams of wireless communication protocols, without the terminal needing a TCP or IP protocol stack to construct a TCP or IP connection with the network-side device for transmitting application messages. The network-side device and the receiving end (such as the server corresponding to the application) can send application messages through a TCP or IP protocol stack. Besides transmitting application messages through a TCP or IP protocol stack, the network-side device and the receiving end can also use protocols such as HTTP or FTP to transmit application messages. Thus, this application can support the terminal device to transmit application messages without deploying an application message transmission protocol stack, simplifying the application message transmission process.
[0105] In addition, the session configuration information may also include the service types (connection services or addressing services, etc.) that the user plane network element can provide, and the message protocols or service types (IPv4 / IPv6 / ICN, MEC, etc.) that the receiving end can support. This application does not specifically limit these types and can flexibly select them according to the user's service requirements and the equipment capabilities of the user plane network element.
[0106] When a user plane network element acts as a client (i.e., sends data during a communication connection), we will use a UPF, an external device, and a UE as examples. In the embodiments of this application, the external device includes an address server (e.g., a DNS server) and a device that acts as a server or receiver. This server or receiver device can be deployed in a DN. Figure 6 This example illustrates the deployment of the receiving device in the DN (Radio Domain Provider). Taking the terminal application layer using the HTTP protocol as an example, the terminal application directly sends messages through the radio protocol layer, without transmitting application messages through other protocol layers such as Ctrl. The following discussion of DN can be understood by referring to this section. The data transmitted between the UE and UPF is achieved through the RAN (Radio Access Provider), and the data between the RAN and UPF is guaranteed by reliable transmission GTP-U. This will not be elaborated upon here, but can be understood by referring to the description below. The following can be executed:
[0107] Step 0: The UPF determines the session configuration information, which includes the connection information required for the session or stream sent by the terminal device. This session configuration information has the same source as the session configuration information mentioned above; it can be configured or from other devices, but it may also be default information (e.g., the default application layer for the session / stream is HTTP), DNN / S-NSSAI (e.g., the network corresponding to DNN / S-NSSAI uses a specific application layer and / or network protocol), etc. Connection information is determined based on the above information, etc., which is not specifically limited here.
[0108] Step 1: The UE sends a first application message to the UPF. This message conforms to a certain application layer protocol (e.g., HTTP) and may contain relevant information defined by the application layer protocol (e.g., URL information in an HTTP message). The UE can send this message through a non-IP session or through a new type of session. If it is a new session type, the session type must support network connectivity services. It is assumed that the first application message is sent through a session, but in practice it can also be sent through a stream. This application does not specifically limit this; it only uses a session as an example.
[0109] Step 2: The UPF determines whether to provide connectivity services to the UE. For example, the UPF determines whether to provide connectivity services based on the information in Step 0, or based on the session type, DNN / S-NSSAI, etc. The UPF can determine the connection information required to provide connectivity services based on the information in Step 0, and parse the first application message from Step 1 to determine the type of application layer protocol, application layer address (i.e., application address) information, etc.
[0110] Step 3: The UPF can determine the UE's address information and then request the address of the receiving end (e.g., send a request to the DN) to request the address of the receiving end corresponding to the first application message (e.g., an IPv4 address). Here, the receiving end can be understood as either a server or a receiving device. The following discussion of the receiving end can refer to this explanation.
[0111] Step 4: The UPF receives the address response from the receiver of the DN and obtains the address of the receiver corresponding to the first application message.
[0112] If the UPF local record contains the address of the receiving end corresponding to the first application message, then steps 3 and 4 do not need to be executed.
[0113] Step 5: UPF starts the application client and creates and receives TCP / IP connections to the receiving devices.
[0114] Step 6: Establish a TCP / IP connection between the UPF and the receiving device corresponding to the application message. The UPF can use its own address (e.g., IPv4 address) to establish a TCP / IP connection with the receiving device, or it can use the UE's address (the address assigned to the UE by the UPF or control plane network element during session creation) to establish a TCP / IP connection with the receiving device.
[0115] Step 7: The UPF sends the first application message received in Step 1 to the receiving device through the established TCP / IP connection, and then receives the application response from the receiving device through the same TCP / IP connection. The application response is the response message from the receiving device to the received first application message.
[0116] Alternatively, for protocol types that do not require re-establishing the connection (such as UDP), or where a reliable transmission connection between the UPF and the receiving device always exists, the UPF may skip step 6 and directly send an application request to the receiving device, after which the UPF receives the response from the receiving device.
[0117] Step 8: The UPF sends an application response to the UE.
[0118] It should be noted that in scenarios such as co-deployment of ICN network, UPF, and application services, the UPF directly obtains the content requested by the UE through the ICN definition or internal communication, and steps 3-7 can be skipped (for the ICN network, the UPF reads or requests the corresponding content based on the name of the content in the ICN request, instead of necessarily creating a connection; for scenarios such as co-deployment of UPF and application, the UPF can directly obtain the relevant content from the co-deployed application based on the identifier and other information in the application layer request, without needing to obtain information through a connection); or the UPF requests the content requested by the UE based on the application layer address requested by the UE (the UPF and application can access each other through the application layer address, and the above ICN and co-deployment method can be regarded as a specific implementation method), or for protocol types that do not require explicit connection creation (such as UDP, when the UE needs to send a message, it can directly send the message to the address and port of the other end, without having to complete the connection handshake process in advance like TCP), the connection creation process in step 6 is not required, and a request is directly sent to the receiving device, and then a response is received from the receiving device. A similar process of the UPF obtaining the content requested by the UE is also regarded as a connection service in this application.
[0119] When user plane network elements act as servers (i.e., receiving data during communication connections), we will use UPF, external devices, and UE as examples. Data transmission between the UE and UPF is achieved via RAN, and data transmission between the RAN and UPF is guaranteed by reliable transmission GTP-U. This will not be elaborated upon here, but can be understood by referring to the description below. External devices include application clients. Figure 7 Taking the deployment of an external device in a DN as an example, the following steps can be taken:
[0120] Step 0: UPF determines session configuration information, as described above. Figure 6 Step 0 in the process will not be elaborated here.
[0121] Step 1: UPF determines which application server to start based on the session configuration information from Step 0, optionally creating listening interfaces corresponding to the terminal / session / stream / application. Figure 6Similarly, when an external device wants to send a message to the UPF, it does not need to perform an explicit connection creation process, but can directly send a request. Accordingly, the UPF only needs to wait to receive the message, without having to complete the connection handshake process first. For the sake of consistency, this application also considers waiting to receive the application request as creating a listening interface.
[0122] After UPF creates a listening interface for a session, it can wait to receive request messages. When creating the listening interface, the UPF address can be used, or the address corresponding to the terminal can be used (the address assigned to the terminal by the UPF or control plane network element during the session creation process).
[0123] Step 2: The UPF reports the address information corresponding to the application to the address server. The address server can be a control plane network element or a device within the DN. Figure 7 Let's take DN as an example. The address information corresponding to the application includes the application address information and the address used by the listening interface created in step 1. The application address can be obtained in step 0 or configured on the UPF (e.g., DNN / S-NSSAI corresponds to a certain address).
[0124] Step 3: When an application client on an external device is ready to initiate an application request, it can optionally query the address server for the address of the terminal corresponding to the application address (i.e., the address used when the UPF creates the listening interface in Step 1). This step is unnecessary if the application client on the external device already has address information, or if the application is accessible between the ICN network and the client and the UPF.
[0125] Step 4: When a connection needs to be established, the application client of the external device initiates a connection creation request with the UPF based on the address information obtained in Step 3.
[0126] Step 5: The UPF can report a session or flow creation request to a control plane network element (e.g., SMF), thereby triggering the control plane flow creation process. The flow can also be created before step 2. Optionally, this step can also be performed after step 2 or 6 if the UPF creates a listening interface in step 2, detects connection creation in step 4, or receives an application request in step 6.
[0127] Step 6: The application client of the external device sends an application request to the UPF. The application client of the external device can send an application request through the connection established in Step 4, or send an application request to the address obtained in Step 3; or, if the application client of the external device can directly access the application on the ICN network or the UPF, it can send an application request directly.
[0128] Step 7: UPF sends application requests through the session corresponding to the application / interface.
[0129] Step 8: The UPF receives the application response from the UE.
[0130] Step 9: UPF directly sends the application response to the application client of the external device.
[0131] In this application, the terminal does not need to deploy a protocol stack for application message transmission. It provides TCP or IP connections between the terminal and external devices through UPF, which can reduce the terminal's equipment overhead and reduce the complexity of terminal processing.
[0132] use Figure 6 or Figure 7 When establishing a communication connection between the UE and the receiver, the user plane network element can obtain connection information by parsing the terminal device's software application or through session configuration information. However, if the terminal device's software application is a proprietary application, and the user plane network element cannot perceive application-related information, then it cannot obtain connection information. Therefore, please refer to [reference needed]. Figure 8 The provided communication method can be executed through the interaction between the terminal, user plane network elements, and the receiving end. The following can be executed:
[0133] Step 801: The terminal determines the indication information, which indicates the destination address of the receiving end of the application message.
[0134] It should be noted that the indication information can be sent from the terminal to the user plane network element through the protocol layer between the terminal and the user plane network element. This protocol layer can be the Ctrl layer. This application does not limit the name of the Ctrl layer or its position in the protocol stack. For example, the terminal can also support protocol stacks such as the TCP / IP network layer and transport layer. The Ctrl layer can be located anywhere in the wireless protocol stack, TCP / IP network layer, transport layer, and application layer. In this embodiment, the Ctrl layer is used for information interaction between the UE and the UPF as an example. The Ctrl layer can be used for information interaction between devices in the network, and network devices can modify its content when transmitting the Ctrl layer. For example, after the UE sends Ctrl information (i.e., indication information) to the UPF, the UPF can send Ctrl layer information to devices in the DN. The UPF can also modify the content before sending it. This method does not affect the functionality of other existing protocol layers, and this application does not specifically limit it. By sending indication information through the protocol layer, the address of the receiving end of the application message is indicated through the indication information. Even if the user plane network element cannot perceive application-related information, it can still obtain connection information.
[0135] Step 802: The terminal sends instruction information to the user plane network element; correspondingly, the user plane network element receives the instruction information.
[0136] Step 803: The terminal determines the application message. The application message includes application data but does not include the source address and destination address of the application message.
[0137] Step 804: The terminal sends an application message to the user plane network element. Correspondingly, the user plane network element receives the application message.
[0138] It should be noted that the terminal can send application messages through wireless communication protocols, and the terminal can also support the TCP / IP protocol stack; however, this application does not specifically limit this.
[0139] Step 805: The user plane network element determines the destination address of the application message based on the instruction information.
[0140] Step 806: The user plane network element determines the source address of the application packet based on the session configuration information; the session configuration information is used to indicate the provision of connection services to the terminal. Refer to the description in step 503 above; this application will not repeat it here.
[0141] Step 807: The user plane network element sends the first message to the receiving end. The first message includes application data, the source address of the application message, and the destination address of the application message.
[0142] The aforementioned indication information also includes at least one of the following: QoS requirement information corresponding to the terminal device, protocol information for transmitting application messages, and protocol type corresponding to the application messages. The protocol information can be HTTP. It should be noted that the indication information includes the QoS requirement information corresponding to the terminal device, the protocol information for transmitting application messages, and the protocol type corresponding to the application messages, so that user plane network elements can more clearly understand the connection information and improve data processing efficiency.
[0143] In this application, when the terminal communicates with other devices, the user plane network element can establish a communication connection for application messages with other devices through session configuration information and indication information. In addition, in this way, even if the user plane network element cannot perceive the terminal's private application information, it can also obtain the destination address of the receiving end of the application message through the indication information, which can reduce the occurrence of situations where the destination address of the receiving end is determined by the application address of the application message.
[0144] In one optional approach, the indication information is specifically used to indicate: determining the destination address of the receiving end based on the connection identifier carried in the application message; the terminal sends an application message to the user plane network element, the application message including a first connection identifier, the connection corresponding to the first connection identifier being used to carry the application message; correspondingly, the user plane network element receives the application message from the terminal, the application message including the first connection identifier; the user plane network element determines the destination address of the application message based on the first connection identifier included in the application message. This connection identifier may be a connection identifier determined by the terminal itself, or it may be a connection identifier obtained through other means. The user plane network element can determine the destination address of the receiving end of the application message based on this connection identifier. This method can improve communication efficiency and reduce the complexity of device processing.
[0145] In one optional approach, the user plane network element sends connection identification information to the terminal. This connection identification information includes one or more connection identifiers, each used to identify a connection created by the user plane network element. The first connection identifier is selected by the terminal from the one or more connection identifiers. Correspondingly, the user plane network element receives the connection identification information from the terminal. In this approach, the connection identifier for application packets is assigned by the user plane network element. After the user plane network element assigns the connection identifier, the terminal carries the selected connection identifier when sending application data, allowing the user plane network element to determine the connection information and improving data processing efficiency.
[0146] Figure 9 This illustrates the process by which user plane network elements determine connection information based on indication information. The UE may include an application, a Ctrl processing module, and a radio transmission module. Data transmission between the UE and the UPF is achieved via the RAN, and data transmission between the RAN and the UPF is guaranteed by reliable GTP-U transmission. This will not be elaborated upon here, but can be understood by referring to the description below. The following steps are executed:
[0147] Step 1: During session (or flow) creation (or modification), the control plane network element (SMF) instructs the UPF to provide connection services (or support the Ctrl protocol) through session creation (or modification) information. Alternatively, if the UPF determines that it needs to provide connection services (or support the Ctrl protocol) to the user based on information such as session type, DNN / S-NSSAI, then the UPF determines that it can provide connection services.
[0148] Step 2: The UE's application requests the creation of an interface. An existing TCP / IP protocol stack interface can be used to request the creation of an interface; this application is not limited to this.
[0149] Step 3: The Ctrl processing module creates an interface for the application and returns the interface identifier.
[0150] Step 4: When the UE acts as an application client, it requests to establish a connection. Figure 9This example uses the UE as a client. If the UE is a server, it requests to listen to messages, which will not be described in detail in this embodiment.
[0151] Step 5: The Ctrl processing module sends indication information through the Ctrl layer, such as sending control commands or requesting connection establishment. This step can also be executed simultaneously when the terminal sends application messages (i.e., steps 9 and 10 are moved to after step 4, steps 5 and 11 are merged, and steps 8 and 13 are merged). The indication information may include the application layer address, server address, and sending protocol-related information (such as protocol type, port number, etc.) to provide the UPF with the information required to provide connection services; it may also include the application's corresponding QoS requirements (such as bandwidth, message period / burst traffic, etc.), whether reliable transmission is supported, etc., to provide QoS guarantees for the UPF and wireless network, and optionally the DN network.
[0152] As one implementation, the application and the Ctrl processing module use a traditional TCP / IP protocol stack interface. The Ctrl processing module then encapsulates the TCP / IP protocol stack interface and related parameters called by the application within the Ctrl layer, similar to implementing a TCP / IP protocol stack on a UPF. The protocol stack services called by the application are implemented on the UPF. This application does not limit the specific implementation of the Ctrl module or the information format of the Ctrl layer.
[0153] Step 6: UPF determines the address of the receiving end of the application message based on the instructions provided by the Ctrl layer.
[0154] UPF records the mapping between network-side connections and sessions, which users then use to forward packets between connections and sessions. Optionally, UPF assigns a connection identifier to a session, which corresponds to a connection. When subsequent packets are exchanged between the session and UPF, this identifier indicates the corresponding connection.
[0155] Step 7: The UPF completes the connection creation process with the receiving device.
[0156] Step 8: UPF provides feedback on the connection status via the Ctrl layer or the result of executing the Ctrl instruction. Optional feedback includes the connection identifier assigned in step 6.
[0157] Step 9: The Ctrl processing module returns the creation result to the application based on the result of step 8.
[0158] Step 10: When the application needs to send data, send the data through the Ctrl processing module.
[0159] As one implementation approach, applications can send data using the interfaces of the traditional TCP / IP protocol stack, and the Ctrl module adapts the processing logic based on these interfaces.
[0160] Step 11: The Ctrl processing module forwards data from the application. When sending the data, it may include the connection identifier returned in step 8.
[0161] Step 12: UPF sends application data to the receiving device through the application message or the connection corresponding to the connection identifier.
[0162] Step 13: The receiving end can send the execution result back to the UPF.
[0163] Step 14: Optionally, the UPF sends the execution result of step 13 to the session corresponding to the connection through the Ctrl layer. When the UPF receives a downlink packet from the receiving device, it sends the received packet to the terminal through the session corresponding to the connection. The execution result of step 13 can be sent along with the downlink packet. Optionally, a connection identifier can be carried in the Ctrl layer during this process.
[0164] Step 15: The Ctrl processing module provides feedback on the execution result of step 11 to the application. This step can determine the execution result based on the information provided in step 13 (for example, for applications with reliable transmission requirements, the Ctrl processing module determines whether the message was successfully sent based on the information provided in step 13), or it can provide feedback on the execution result after executing steps 11 or 12 (for example, for applications without reliable transmission requirements, sending the message is considered successful as long as it is sent).
[0165] The examples above all mention that UPF enables the provision of connectivity services, reliable transmission, and QoS guarantees to users, and obtains the relevant information required to provide these services by receiving configuration information. This embodiment provides the specific enabling process and the process of obtaining the relevant configuration information, which can be found in [reference needed]. Figure 10 Execute as follows:
[0166] Steps 1, 2, and 3 below are optional. When configuring UPF, some or all of steps 1, 2, and 3 can be executed so that SMF can obtain the relevant information for subsequent configuration to UPF from one or more of these steps.
[0167] Step 1: In the session creation request sent by the UE, you may optionally instruct the network to provide connection services (e.g., use a special session type, or use the displayed instruction information, or instruct the network corresponding to the DNN / S-NSSAI information to provide connection services, etc.), optionally instruct connection-related information (session configuration information), optionally instruct the use of reliable transmission and / or Ctrl protocol layer, etc. (the instruction method is similar to instructing to provide connection services).
[0168] Step 2: The AF updates the subscription data in the UDM, or the AF provides the PCF with some or all of the information described in Step 1 (either the AF sends it to network elements such as the NEF and then to the PCF, or the AF sends it directly to the PCF).
[0169] Step 3: The SMF obtains some or all of the information described in Step 1 from the PCF or UDM. Alternatively, Step 2 can be omitted, and the AF can provide the information to the SMF (the AF sends it directly to the SMF, or the AF sends it to network elements such as the NEF, and then sends it to the SMF).
[0170] Step 4: The SMF provides connection information to the UPF through an N4 session creation (or modification) request.
[0171] Step 5: During session or stream creation, or when updating URSP information, the SMF provides the terminal with some or all of the information described in Step 1 (e.g., through Steps 2 and 3, the AF updates application-related information, and then sends it to the UE via URSP to update the UE's configuration), for the terminal to execute based on the configuration information. Figures 5-9 The relevant process, or later when creating a session, through... Figure 6 Step 1 is to provide relevant information to the network.
[0172] Step 6: Perform the above steps Figure 6 , Figure 7 or Figure 9 The process can be followed, or a connection can be created based on the connection information in step 4.
[0173] The above Figures 5-10 Data transmission between the UE and UPF is achieved via the RAN. User plane network elements can receive forwarded packets from the Radio Access Network (RAN). These forwarded packets, sent by the terminal to the RAN, include application packets. Data transmission between the RAN and UPF is guaranteed by reliable GTP-U transmission. The following section details how reliable data transmission is ensured. Application packets carried in the session between the user plane network element and the terminal device are forwarded through the RAN. For uplink packets, the user plane network element receives forwarded packets from the RAN, which include the application packet and the sequence number of the sent application packet. The user plane network element then feeds back the sequence number of the received application packet to the RAN. In practice, this can be implemented using either RAN transparent transmission or forwarding. When using RAN forwarding, please refer to [reference needed]. Figure 11A To illustrate, let's take the upstream data stream as an example. The specific execution is as follows:
[0174] Step 1: The UE sends an uplink message, and reliable transmission is ensured between the UE and the RAN through an air interface mechanism.
[0175] Step 2: When the RAN sends a message to the UPF, it includes the sequence number of the message in the GTP-U header. This sequence number can be flow-level (i.e., a unique, sequential number for each flow) or GTP-U tunnel-level (i.e., a unique, sequential number for each GTP-U tunnel, which can be considered equivalent to a session-level sequence number). Alternatively, GTP-U can be carried over a reliable transmission protocol (e.g., TCP, QUIC, etc. Current technology uses UDP). Based on this, reliable transmission at the device level between the RAN and UPF can also be achieved.
[0176] Step 3: The UPF sends the sequence number of the received message back to the RAN, or sends the sequence number of the message that was not received within the timeout period.
[0177] Step 4: When packet loss occurs in step 2, the RAN determines the packet loss and its sequence number based on the feedback from step 3, and then retransmits the packet.
[0178] When using RAN pass-through, please refer to Figure 11B To illustrate, we can take the upstream data stream as an example. The specific execution is as follows:
[0179] Step 1: Before the UE sends the uplink flow (e.g., during or after flow creation, or during connection establishment), the UPF provides the UE with (i.e., the UPF assigns an identifier) a transmission identifier corresponding to the session. This identifier can be a connection identifier from the Ctrl layer, or it can be an independent identifier used for reliable transmission. This identifier can be used to identify subsequent flows that are reliably transmitted (or it can be understood that subsequent sequence numbers are at the granularity of the transmission identifier). Alternatively, the UE can assign the transmission identifier, for example, by sending it to the UPF, or by sending it along with the message when the UE begins transmitting.
[0180] Step 2: The UE sends an uplink message containing a message sequence number with QoS session transmission identifier granularity. This sequence number can be in a separate protocol layer (this application uses the RT protocol layer as an example, but the specific protocol layer name is not limited), or it can be in the Ctrl layer, or in other headers. If there is a transmission identifier, the message can also contain that identifier. The transmission identifier is not limited to being in the same protocol layer as the message sequence number. For example, the transmission sequence number can use the connection identifier of the Ctrl layer, while the sequence number is placed in the RT protocol layer; this is not limited here.
[0181] Step 3: The UPF sends the received message sequence number back to the UE, or sends the lost packet sequence number if no message is received within a timeout period. The sent-back message sequence number can be sent along with the downlink message.
[0182] Step 4: When packet loss occurs in step 2, the terminal determines the packet loss and its sequence number based on the feedback from step 3, and then retransmits the packet.
[0183] In addition, see the following: Figure 12 To illustrate how messages are sent and retransmitted between the UPF and RAN, let's take the example of the RAN sending a message to the UPF, and the UPF sending an acknowledgment of the received message to the RAN, demonstrating how GTP-U achieves reliable transmission:
[0184] The GTP-U header can include mechanisms for packet retransmission control, such as session-level control. Figure 12 In GTP-U, an ACK sequence number is introduced in the packet header to confirm received packets, reusing the sequence number in the existing GTP-U packet header as the sequence number for the sent message. If selective retransmission is supported, an S-ACK sequence number can be introduced. S-ACK and ACK are used together to confirm the receipt of a packet with a sequence number range, where S-ACK represents the start sequence number of the range and ACK represents the last sequence number of the range. If selective retransmission is not supported, window mechanism retransmission can be implemented through sequence numbers and ACK (not explained in detail here).
[0185] If the receiving end (RAN) acknowledges that the received message contains an ACK sequence number but not an S-ACK sequence number, then all messages preceding the ACK sequence number have been received and can be deleted from the buffer (as above). Figure 12 When the RAN receives packets 1 and 2, it returns ACK with sequence number 2. If it contains S-ACK sequence number, it can delete the frame between S-ACK and ACK (as shown in the figure above, after the RAN receives packets 4 and 5, it returns S-ACK as 4 and ACK as 5). If there are unacknowledged sequence numbers that have timed out (as shown in the figure above, packet 3), the packets corresponding to these sequence numbers will be retransmitted.
[0186] This application supports more granular retransmission control. For example, by uniformly numbering the relevant identifiers at the device level, device-level retransmission control can be achieved. During bidirectional communication, ACK can be sent along with data packets. When no data packets are being sent, ACK information can be sent in a separate packet. In this case, the sequence number in the ACK packet also needs to be incremented. However, when the receiving end receives such an ACK packet, it does not send a separate ACK response to avoid cyclically sending ACK.
[0187] The foregoing primarily describes the solutions provided by the embodiments of this application from the perspective of device interaction. It is understood that, in order to achieve the above functions, each device may include corresponding hardware structures and / or software modules for executing each function. Those skilled in the art should readily recognize that, in conjunction with the units and algorithm steps of the various examples described in the embodiments disclosed herein, the embodiments of this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by 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, but such implementation should not be considered beyond the scope of this application.
[0188] The embodiments of this application can divide the device into functional units according to the above method examples. For example, each function can be divided into a separate functional unit, or two or more functions can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0189] When using integrated units, Figure 13 A possible exemplary block diagram of the communication device involved in an embodiment of this application is shown. For example... Figure 13 As shown, the communication device may include a processing unit 1301 and a transceiver unit 1302. The processing unit 1301 is used to control and manage the operation of the communication device. The transceiver unit 1302 is used to support communication between the communication device and other devices. Optionally, the transceiver unit 1302 may include a receiving unit and / or a transmitting unit, respectively used to perform receiving and transmitting operations. Optionally, the communication device may also include a storage unit for storing the program code and / or data of the communication device. The transceiver unit may be called an input / output unit, a communication unit, etc., and may be a transceiver; the processing unit may be a processor. When the communication device is a module (e.g., a chip) in a communication device, the transceiver unit may be an input / output interface, input / output circuit, or input / output pin, etc., and may also be called an interface, communication interface, or interface circuit, etc.; the processing unit may be a processor, processing circuit, or logic circuit, etc. Specifically, the device may be the aforementioned terminal, user plane network element, etc.
[0190] In one embodiment, the transceiver unit 1302 can be used to receive application messages from a terminal, the application messages including application data and the application address of the receiving end of the application message; the application messages are carried in a session or stream; the processing unit 1301 can be used to determine the source address of the application message according to session configuration information; the session configuration information is used to indicate providing connection services to the terminal; the destination address of the application message is determined according to the application address; the transceiver unit 1302 can also be used to send a first message to the receiving end, the first message including application data, the source address of the application message and the destination address of the application message.
[0191] In one alternative approach, the processing unit 1301 can be used to determine the source address of the session based on the session configuration information; and use the source address of the session as the source address of the application message.
[0192] In one alternative approach, the transceiver unit 1302 can be used to send a connection creation request, the creation request including an application address; the creation request is used to request a destination address corresponding to the application address; and receive response information for the connection creation request, the response information including the destination address corresponding to the application address.
[0193] In one alternative, the transceiver unit 1302 can be used to receive forwarded messages from a wireless access network device, the forwarded messages being sent by the terminal to the wireless access network device, and the forwarded messages including application messages.
[0194] In one alternative approach, the forwarded message also includes the sequence number of the application message; the transceiver unit 1302 can be used to send back the sequence number of the received application message to the access network device.
[0195] In one optional approach, the session configuration information includes message protocol information; the message protocol information is: the message protocol information for transmitting application messages, and / or, the message protocol type corresponding to the application message.
[0196] In one alternative approach, the message protocol information is HTTP.
[0197] In one alternative approach, the source address is the address assigned to the terminal by the user plane network element.
[0198] In another embodiment, the processing unit 1301 can be used to determine the application message, which includes application data and the application address of the receiving end of the application message, but does not include the source address of the application message; the transceiver unit 1302 can be used to send the application message to the user plane network element.
[0199] In another embodiment, the transceiver unit 1302 can be used to receive indication information from the terminal, the indication information indicating the destination address of the receiving end of the application message; receive application messages from the terminal, the application messages including application data; the processing unit 1301 can be used to determine the destination address of the application message according to the indication information; determine the source address of the application message according to the session configuration information; the session configuration information is used to indicate providing connection services to the terminal; the transceiver unit 1302 can also be used to send a first message to the receiving end, the first message including application data, the source address of the application message and the destination address of the application message.
[0200] In one alternative approach, the indication information is sent from the terminal to the user plane network element via a protocol layer between the terminal and the user plane network element.
[0201] In one alternative approach, the processing unit 1301 may be used to determine the source address of the session carried by the application message based on the session configuration information; and use the source address of the session carried by the application message as the source address of the application message.
[0202] In one alternative approach, the indication information is specifically used to indicate: determining the destination address of the receiving end based on the connection identifier carried in the application message; the transceiver unit 1302 is used to receive the application message from the terminal, the application message including a first connection identifier, the connection corresponding to the first connection identifier being used to carry the application message; and the processing unit 1301 is used to determine the destination address of the application message based on the first connection identifier included in the application message.
[0203] In one alternative embodiment, the transceiver unit 1302 is used to send connection identification information to the terminal. The connection identification information includes one or more connection identifiers, each of which is used to identify a connection created by a user plane network element. The first connection identifier is selected by the terminal from one or more connection identifiers.
[0204] In one alternative, the transceiver unit 1302 can be used to receive forwarded messages from a wireless access network device, the forwarded messages being sent by the terminal to the wireless access network device, and the forwarded messages including application messages.
[0205] In one alternative approach, the forwarded message also includes the sequence number of the application message; the transceiver unit 1302 can be used to send back the sequence number of the received application message to the access network device.
[0206] In one optional approach, the indication information includes: QoS requirement information corresponding to the terminal, message protocol information for transmitting application messages, and message protocol type corresponding to the application messages.
[0207] In one alternative approach, the message protocol information is HTTP.
[0208] In another embodiment, the processing unit 1301 can be used to determine indication information, which indicates the destination address of the receiving end of the application message; the transceiver unit 1302 can be used to send the indication information to the user plane network element; the processing unit 1301 can be used to determine the application message, which includes application data but does not include the source address and destination address of the application message; the transceiver unit 1302 can be used to send the application message to the user plane network element, which includes application data but does not include the source address and destination address of the application message.
[0209] In one alternative approach, the indication information is sent from the terminal to the user plane network element via a protocol layer between the terminal and the user plane network element.
[0210] In one alternative approach, the indication information is specifically used to indicate that: the user plane network element determines the destination address of the receiving end based on the connection identifier carried in the application message; the transceiver unit 1302 is used to send the application message to the user plane network element, the application message including a first connection identifier, and the connection corresponding to the first connection identifier is used to carry the application message.
[0211] In one alternative embodiment, the transceiver unit 1302 is configured to receive connection identification information from a user plane network element. The connection identification information includes one or more connection identifiers, each of which is used to identify a connection created by the user plane network element. The first connection identifier is selected by the terminal from one or more connection identifiers.
[0212] In addition, such as Figure 14 As shown, a communication device 1400 is also provided in this application. Exemplarily, the communication device 1400 may be a chip or a chip system. Optionally, in the embodiments of this application, the chip system may be composed of chips, or may include chips and other discrete devices.
[0213] The communication device 1400 may include at least one processor 1410, and may also include at least one memory 1420 for storing computer programs, program instructions, and / or data. The memory 1420 and the processor 1410 are coupled. The coupling in this embodiment is an indirect coupling or communication connection between devices, units, or modules, and may be electrical, mechanical, or other forms, used for information exchange between devices, units, or modules. The processor 1410 may operate in conjunction with the memory 1420. The processor 1410 may execute the computer program stored in the memory 1420. Optionally, the at least one memory 1420 may also be integrated with the processor 1410.
[0214] Optionally, in practical applications, the communication device 1400 may or may not include a transceiver 1430, as illustrated by the dashed box in the figure. The communication device 1400 can exchange information with other devices through the transceiver 1430. The transceiver 1430 can be a circuit, a bus, a transceiver, or any other device that can be used for information exchange.
[0215] In one possible implementation, the communication device 1400 can be applied to the aforementioned terminal device or the aforementioned user plane network element. The memory 1420 stores the necessary computer programs, program instructions, and / or data for implementing the functions of the user plane network element in any of the above embodiments. The processor 1410 can execute the computer program stored in the memory 1420 to complete the methods in any of the above embodiments.
[0216] This application embodiment does not limit the specific connection medium between the transceiver 1430, processor 1410, and memory 1420. This application embodiment... Figure 14 The memory 1420, processor 1410, and transceiver 1430 are connected via a bus, and the bus is in... Figure 14 The connections between other components are shown in bold and are for illustrative purposes only, not as limiting information. The bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, Figure 14 The text uses only a single thick line to represent a bus, but this does not imply that there is only one bus or one type of bus. In the embodiments of this application, the processor can be a general-purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor, etc. The steps of the methods disclosed in the embodiments of this application can be directly manifested as being executed by a hardware processor, or executed by a combination of hardware and software modules within the processor.
[0217] In the embodiments of this application, the memory can be non-volatile memory, such as a hard disk drive (HDD) or a solid-state drive (SSD), or it can be volatile memory, such as random-access memory (RAM). The memory can also be any other medium capable of carrying or storing desired program code in the form of instructions or data structures, and accessible by a computer, but is not limited thereto. The memory in the embodiments of this application can also be a circuit or any other device capable of implementing storage functions, used to store computer programs, program instructions, and / or data.
[0218] Based on the above embodiments, see Figure 15 This application also provides another communication device 1500, including: an interface circuit 1510 and a logic circuit 1520; the interface circuit 1510 can be understood as an input / output interface, which can be used to perform the above-mentioned... Figure 13 The transceiver unit shown in the diagram or as follows Figure 14 The same operating steps are illustrated for the transceiver, and will not be repeated here. The logic circuit 1520 can be used to run the code instructions to perform the methods in any of the above embodiments, and can be understood as described above. Figure 13 The processing unit or Figure 14 The processor in the application can perform the same functions as a processing unit or processor, which will not be described in detail here.
[0219] Based on the above embodiments, this application also provides a readable storage medium storing instructions that, when executed, cause the communication method in any of the above embodiments to be implemented. The readable storage medium may include various media capable of storing program code, such as a USB flash drive, portable hard drive, read-only memory, random access memory, magnetic disk, or optical disk.
[0220] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0221] This application is described with reference to flowchart illustrations and / or block diagrams of the methods, apparatus (systems), and computer program products according to this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing device to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing device, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0222] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0223] These computer program instructions can also be loaded onto a computer or other programmable data processing device to cause a series of operational steps to be performed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable device for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
Claims
1. A communication method, characterized in that, include: The user plane network element receives application packets from the terminal. The application packets include application data and the application address of the receiving terminal. The application packets are carried in a session or stream. The user plane network element determines the source address of the application packet based on the session configuration information; The session configuration information is used to indicate how to provide connection services to the terminal; The user plane network element determines the destination address of the application message based on the application address; The user plane network element sends a first message to the receiving end, the first message including the application data, the source address of the application message, and the destination address of the application message.
2. The method according to claim 1, characterized in that, The user plane network element determines the source address of the application packet based on the session configuration information, including: The user plane network element determines the source address of the session based on the session configuration information; The user plane network element uses the source address of the session as the source address of the application message.
3. The method according to claim 1 or 2, characterized in that, The user plane network element determines the destination address of the application packet based on the application address, including: The user plane network element sends a connection creation request, the creation request including the application address; the creation request is used to request the destination address corresponding to the application address. The user plane network element receives the response information of the connection creation request, and the response information includes the destination address corresponding to the application address.
4. The method according to any one of claims 1-3, characterized in that, The user plane network element receives application packets from the terminal, including: The user plane network element receives forwarded packets from the wireless access network device, wherein the forwarded packets are sent by the terminal to the wireless access network device, and the forwarded packets include the application packets.
5. The method according to claim 4, characterized in that, The forwarded message also includes the sequence number of the application message; the method further includes: The user plane network element feeds back the sequence number of the received application message to the access network device.
6. The method according to any one of claims 1-5, characterized in that, The session configuration information includes message protocol information; the message protocol information is: the message protocol information for transmitting the application message, and / or the message protocol type corresponding to the application message.
7. The method according to claim 6, characterized in that, The message protocol information is Hypertext Transfer Protocol (HTTP).
8. The method according to any one of claims 1-7, characterized in that, The source address is the address assigned to the terminal by the user plane network element.
9. A communication method, characterized in that, include: The terminal determines the application message, which includes application data and the application address of the receiving end of the application message, but does not include the source address of the application message. The terminal sends the application message to the user plane network element so that the user plane network element determines the source address of the application message according to the session configuration information; The session configuration information is used to indicate that connection services are provided to the terminal; the user plane network element determines the destination address of the application message based on the application address; the user plane network element sends a first message to the receiving end, the first message including the application data, the source address of the application message, and the destination address of the application message.
10. A communication method, characterized in that, include: The user plane network element receives indication information from the terminal, the indication information indicating the destination address of the receiving end of the application message; The user plane network element receives the application message from the terminal, the application message including application data; The user plane network element determines the destination address of the application message based on the instruction information; The user plane network element determines the source address of the application packet based on the session configuration information; The session configuration information is used to indicate how to provide connection services to the terminal; The user plane network element sends a first message to the receiving end, the first message including the application data, the source address of the application message, and the destination address of the application message.
11. The method according to claim 10, characterized in that, The instruction information is sent by the terminal to the user plane network element through the protocol layer between the terminal and the user plane network element.
12. The method according to any one of claims 10 or 11, characterized in that, The user plane network element determines the source address of the application packet based on the session configuration information, including: The user plane network element determines the source address of the session carried by the application message based on the session configuration information; The user plane network element uses the source address of the session carried by the application message as the source address of the application message.
13. The method according to any one of claims 10-12, characterized in that, The indication information is specifically used to indicate: determining the destination address of the receiving end based on the connection identifier carried in the application message; the user plane network element receiving the application message from the terminal, including: The user plane network element receives the application message from the terminal. The application message includes a first connection identifier, and the connection corresponding to the first connection identifier is used to carry the application message. The user plane network element determines the destination address of the application packet based on the indication information, including: The user plane network element determines the destination address of the application message based on the first connection identifier included in the application message.
14. The method according to claim 13, characterized in that, The method further includes: The user plane network element sends connection identification information to the terminal. The connection identification information includes one or more connection identifiers, each of which is used to identify a connection created by the user plane network element. The first connection identifier is selected by the terminal from the one or more connection identifiers.
15. The method according to any one of claims 10-14, characterized in that, The user plane network element receives application packets from the terminal, including: The user plane network element receives forwarded packets from the wireless access network device, wherein the forwarded packets are sent by the terminal to the wireless access network device, and the forwarded packets include the application packets.
16. The method according to claim 15, characterized in that, The forwarded message also includes the sequence number of the application message; the method further includes: The user plane network element feeds back the sequence number of the received application message to the access network device.
17. The method according to any one of claims 10-16, characterized in that, The indication information includes: the QoS requirement information corresponding to the terminal, the message protocol information for transmitting the application message, and the message protocol type corresponding to the application message.
18. The method according to claim 17, characterized in that, The message protocol information is Hypertext Transfer Protocol (HTTP).
19. A communication method, characterized in that, include: The terminal determines the indication information, which indicates the destination address of the receiving end of the application message; The terminal sends the indication information to the user plane network element; The terminal determines the application message, which includes application data but does not include the source address and destination address of the application message. The terminal sends the application message to the user plane network element, so that the user plane network element determines the destination address of the application message according to the indication information; The user plane network element determines the source address of the application packet based on the session configuration information; The session configuration information is used to indicate that connection services are provided to the terminal; the user plane network element sends a first message to the receiving end, the first message including the application data, the source address of the application message and the destination address of the application message.
20. The method according to claim 19, characterized in that, The instruction information is sent by the terminal to the user plane network element through the protocol layer between the terminal and the user plane network element.
21. The method according to any one of claims 19-20, characterized in that, The indication information is specifically used to indicate that: the user plane network element determines the destination address of the receiving end based on the connection identifier carried in the application message; the terminal sends the application message to the user plane network element, including: The terminal sends the application message to the user plane network element. The application message includes a first connection identifier, and the connection corresponding to the first connection identifier is used to carry the application message.
22. The method according to claim 21, characterized in that, Also includes: The terminal receives connection identification information from the user plane network element. The connection identification information includes one or more connection identifiers, each of which is used to identify a connection created by the user plane network element. The first connection identifier is selected by the terminal from the one or more connection identifiers.
23. A communication device, characterized in that, include: A functional module that implements the method as described in any one of claims 1-8, 9, 10-18, or 19-22.
24. A communication device, characterized in that, include: At least one processor and memory; The memory is used to store computer programs or instructions; The at least one processor is configured to execute the computer program or instructions such that the method described in any one of claims 1-8, 9, 10-18, or 19-22 is performed.
25. A chip system, characterized in that, The chip system includes: a processing circuit; the processing circuit is coupled to a storage medium; The processing circuit is configured to execute part or all of the computer program or instructions in the storage medium, and when the part or all of the computer program or instructions are executed, to implement the method as described in any one of claims 1-8, 9, 10-18, or 19-22.
26. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores instructions that, when executed by a computer, cause the method described in any one of claims 1-8, 9, 10-18, or 19-22 to be performed.
27. A computer program product comprising a computer program or instructions, characterized in that, When it is run on a computer, it causes the method described in any one of claims 1-8, 9, 10-18, or 19-22 to be performed.