Communication method and apparatus
Patent Information
- Application Number
- CN202510453645.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-10
- Publication Date
- 2026-10-20
AI Technical Summary
[0004]然而,上述数据传输方式存在显著弊端,在实际运行中,时常出现以下情况:当服务器已经开始处理数据,甚至已经完成数据处理时,终端仍在进行数据重传
[0142]其中,第四方面至第十一方面中任一种可能的实现方式所带来的技术效果可参见上述第一方面至第三方面中任一方面或任一方面中不同可能的实现方式所带来的技术效果,此处不再赘述。
Smart Images

Figure HDA0005354890720000011 
Figure HDA0005354890720000012 
Figure HDA0005354890720000013
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to communication methods and apparatus. Background Technology
[0002] With the development of communication and artificial intelligence (AI) technologies, terminal services are becoming increasingly diversified. For example, generative AI requires processing increasingly larger volumes and more complex data. Traditional terminals, limited by their computing power and power consumption, struggle to independently handle these AI tasks. Therefore, to alleviate the computing burden on terminals, they can send data to servers for processing. The servers then process the data, obtain the results, and feed them back to the terminals.
[0003] In existing data transmission processes, terminals typically use transport layer protocols, such as Transmission Control Protocol (TCP) or User Datagram Protocol (UDP), to send data to the server. The server then indicates to the terminal whether data reception was successful or failed. If data reception fails, the terminal can initiate a retransmission mechanism. In other words, the terminal determines whether to retransmit data based on the data reception status reported by the server.
[0004] However, the above data transmission method has significant drawbacks. In actual operation, the following situation often occurs: when the server has already started processing data, or even completed data processing, the terminal is still retransmitting data. This not only leads to a serious waste of air interface resources, but may also cause deviations in the data processing results due to incomplete data received by the server. Summary of the Invention
[0005] This application provides a communication method and apparatus that can save air interface resources and make data processing results more accurate.
[0006] To achieve the above objectives, this application adopts the following technical solution:
[0007] Firstly, a communication method is provided that can be applied to the terminal side, such as a terminal, or a module in the terminal, or a communication module / processing module in the terminal, or a circuit or chip in the terminal responsible for communication functions (such as a modem chip, also known as a baseband chip, or a system-on-chip (SoC) chip containing a modem core or a system-in-package (SIP) chip), or a circuit or chip in the terminal responsible for processing functions (such as a graphics processing unit (GPU), an artificial intelligence (AI) processor, or an application-specific integrated circuit (ASIC)).
[0008] Taking the application of this method to a terminal as an example, the method includes: receiving first information, and sending a data packet for a first task according to the first information, or not sending a data packet for the first task. The first information indicates a first time or a second time associated with the first task. The first time indicates the waiting time for the serving node to process the first task, and the second time indicates the time when the access network device receives the data packet for the first task sent by the terminal. The second time is determined based on the first time.
[0009] Based on the method provided in the first aspect above, when sending the data packet for the first task, the terminal can consider the waiting time for the service node to process the first task, or consider a second time determined based on that waiting time. On the one hand, this can prevent the terminal from still transmitting data when the service node has already started processing data, or even completed data processing; on the other hand, the terminal can send the data packet for the first task to the service node as early as possible before the service node processes the data, making the data processing result more accurate.
[0010] In this application, "sending the data packet for the first task" can refer to the terminal sending the data packet for the first task during the initial transmission process, and / or the terminal sending the data packet for the first task during the retransmission process. Therefore, "sending the data packet for the first task" can also be replaced with "sending the data packet for the first time (or initially)" or "retransmitting the data packet for the first task". Similarly, not sending the data packet for the first task can be understood as not sending the data packet for the first task during the initial transmission process, or not sending the data packet for the first task during the retransmission process.
[0011] The various times mentioned in this application (such as the first time, the second time, or the third time or the fourth time mentioned below) can indicate a time window format or moment information, without limitation. For example, taking the first time as an example, the first time can be a time window defined by the start and end times, or it can be an absolute moment information t, indicating that the first time is within moment t.
[0012] In this application, the data packet for the first task refers to one or more data packets processed by the service node in a single task. For example, in a computing task, if the terminal sends a prompt, such as generating an image of a golden tabby cat playing in the grass, then the data packet constituting that prompt is a data packet for a single task. Similarly, if the terminal sends an image or video, then the data packet constituting that image or video is a data packet for a single task. Optionally, the data packets constituting a single task are at least one interconnected data packet. The terminal can identify which data packets are associated with a single task.
[0013] The waiting time in this application indicates the time from when a service node receives the first or all data packets of a task to when the service node begins executing or processing the task. The waiting time can be based on task granularity, such as different tasks having different waiting times. Alternatively, the waiting time can be based on service node granularity, such as different service nodes having different waiting times, while waiting times on the same service node are consistent. Alternatively, the waiting time can also be based on quality of service (QoS) stream granularity, such as tasks transmitted on the same QoS stream having consistent waiting times; this application does not limit this.
[0014] In one possible implementation, sending a data packet for the first task, or not sending a data packet for the first task, based on the first information includes: determining transmission information associated with the first task based on the first information, the transmission information including one or more of the following: a third time or a fourth time; wherein the third time indicates the remaining time for the terminal to send the data packet for the first task, and the fourth time indicates the time for the terminal to send the data packet for the first task; sending the data packet for the first task, or not sending a data packet for the first task, based on the transmission information.
[0015] Based on the above implementation, the terminal can determine the third and / or fourth time based on the first information, and determine whether to send the data for the first task based on the third and / or fourth time, thereby optimizing the data transmission mechanism. For example, this avoids situations where the terminal is still sending data packets for the first task even after the service node has started executing it or the first task has ended. Another example is avoiding situations where the data packets for the first task received by the service node are incomplete when it starts executing the first task, leading to the failure of the first task or inaccurate execution results.
[0016] In one possible implementation, the method further includes: sending a first data packet, the first data packet being a data packet for a first task; receiving first indication information, the first indication information indicating that the first data packet was not received, or indicating retransmission of the first data packet; sending the data packet for the first task according to the transmission information, or not sending the data packet for the first task, including: retransmitting the first data packet indicated by the first indication information if the timer or time window corresponding to the third or fourth time has not expired; or not retransmitting the first data packet indicated by the first indication information if the timer or time window corresponding to the third or fourth time has expired.
[0017] Based on the above implementation, if the timer or time window corresponding to the third or fourth time does not time out, it means that when the retransmitted data packet of the first data packet arrives at the service node, the service node may not have yet executed the first task, or the first task may not have ended. Therefore, the terminal can retransmit the first data packet so that the service node receives enough data when executing the first task, thereby making the execution result of the first task more accurate. If the timer or time window corresponding to the third or fourth time times out, it means that when the retransmitted data packet of the first data packet arrives at the service node, the service node may not use the data packet (e.g., the service node has started executing the first task, or the first task has ended). Therefore, the terminal does not retransmit the first data packet to save air interface resources.
[0018] Optionally, the remaining time for the third time indicator to send the data packet for the first task can be replaced with the remaining time for the third time indicator to resend the data packet for the first task. Similarly, the time for the fourth time indicator to send the data packet for the first task can be replaced with the time for the fourth time indicator to resend the data packet for the first task.
[0019] In one possible implementation, the method further includes: obtaining a first estimated arrival time, which is the estimated time when a retransmission packet of the first data packet is expected to arrive at the service node, and retransmitting the first data packet indicated by the first indication information, including: retransmitting the first data packet indicated by the first indication information if the first estimated arrival time is within a first time interval.
[0020] Based on the above implementation, if the first estimated arrival time is within the first time interval, it means that after the retransmission data packet of the first data packet arrives at the service node, the service node can perform the first task based on the data packet. Therefore, the terminal can resend the first data packet so that the service node receives enough data when performing the first task, thereby making the execution result of the first task more accurate.
[0021] In one possible implementation, the method further includes: releasing the cached data packets of the first task when the timer or time window corresponding to the third or fourth time expires.
[0022] Based on the above implementation, if the timer or time window corresponding to the third or fourth time expires, the terminal will no longer send the data packet of the first task. Therefore, the terminal can release the cached data packet of the first task to save the terminal's storage resources.
[0023] In one possible implementation, the method further includes: sending a second indication message to the access network device, the second indication message indicating a third time, the third time being used for the access network device to schedule the terminal to send the data packet of the first task.
[0024] Based on the above implementation, the access network device can schedule the terminal to send the data packet for the first task according to the third time. For example, when the duration corresponding to the third time is short, the access network device prioritizes scheduling the terminal to send the data packet for the first task, so that the data packet for the first task arrives at the service node as soon as possible.
[0025] In one possible implementation, the first information further indicates the time of transmission of the first information; determining the transmission information associated with the first task based on the first information includes: determining the transmission delay of the first information based on the time of transmission of the first information and the time of receiving the first information; and determining the aforementioned transmission information based on the first time and the transmission delay of the first information.
[0026] Based on the above implementation method, the terminal can determine the third time and / or the fourth time according to the sending time of the first information, the time when it receives the first information, and the first time, and then determine whether to send the data packet of the first task according to the third time and / or the fourth time.
[0027] In one possible implementation, the first time is related to one or more of the following: the number of tasks being processed by the service node, the processing time required for the tasks being processed by the service node, the number of tasks waiting to be processed by the service node, the waiting time corresponding to the tasks waiting to be processed by the service node, the priority of the tasks waiting to be processed by the service node, the priority of the first task, or the maximum number of concurrent tasks of the service node.
[0028] Based on the above implementation method, service nodes can determine the first time according to one or more of the above information to adapt to different task processing scenarios.
[0029] In one possible implementation, the duration of the first moment is greater than or equal to the first duration.
[0030] Based on the above implementation method, time can be reserved for the terminal to schedule the data packets of the first task, so as to ensure the accuracy of the execution result of the first task.
[0031] Secondly, a communication method is provided that can be applied to the network side, such as a service node on the network side, a module in the service node (e.g., a processor, circuit, chip, or chip system), or a logical node, logical module, or software that can implement all or part of the functions of the service node.
[0032] Taking the application of this method to a service node as an example, the method includes: obtaining the first time associated with the first task, the first time indicating the waiting time for the service node to process the first task; sending first information, the first information indicating the first time, the first information being used by the terminal to determine whether to send the data packet of the first task or to determine whether to send the data packet of the first task.
[0033] Based on the method provided in the second aspect above, the service node can determine the waiting time for the first task and indicate this waiting time to the terminal, so that the terminal can take this waiting time into account when sending the data packet for the first task. On the one hand, this can prevent the terminal from still transmitting data when the service node has already started processing data or even completed data processing; on the other hand, the terminal can send the data packet for the first task to the service node as early as possible before the service node processes the data, making the data processing result more accurate.
[0034] In this application, "sending the data packet for the first task" can refer to the terminal sending the data packet for the first task during the initial transmission process, and / or the terminal sending the data packet for the first task during the retransmission process. Therefore, "sending the data packet for the first task" can also be replaced with "sending the data packet for the first time (or initially)" or "retransmitting the data packet for the first task". Similarly, not sending the data packet for the first task can be understood as not sending the data packet for the first task during the initial transmission process, or not sending the data packet for the first task during the retransmission process.
[0035] The various times mentioned in this application (such as the first time, the second time, or the third time or the fourth time mentioned below) can indicate a time window format or moment information, without limitation. For example, taking the first time as an example, the first time can be a time window defined by the start and end times, or it can be an absolute moment information t, indicating that the first time is within moment t.
[0036] In this application, the data packet for the first task refers to one or more data packets processed by the service node in a single task. For example, in a computing task, if the terminal sends a prompt, such as generating an image of a golden tabby cat playing in the grass, then the data packet constituting that prompt is a data packet for a single task. Similarly, if the terminal sends an image or video, then the data packet constituting that image or video is a data packet for a single task. Optionally, the data packets constituting a single task are at least one interconnected data packet. The terminal can identify which data packets are associated with a single task.
[0037] The waiting time in this application indicates the time from when a service node receives the first or all data packets of a task to when the service node begins executing or processing the task. The waiting time can be based on task granularity, such as different tasks having different waiting times. Alternatively, the waiting time can be based on service node granularity, such as different service nodes having different waiting times, while waiting times on the same service node are consistent. Alternatively, the waiting time can also be based on quality of service (QoS) stream granularity, such as tasks transmitted on the same QoS stream having consistent waiting times; this application does not limit this.
[0038] In one possible implementation, the first information is used by the terminal to determine whether to send the data packet for the first task or not to send the data packet for the first task. This includes: the first information is used to determine transmission information associated with the first task, which is used by the terminal to determine whether to send the data packet for the first task or not to send the data packet for the first task; the transmission information includes one or more of the following: maximum retransmission count, a second time, a third time, or a fourth time; wherein the second time indicates the time when the access network device receives the data packet for the first task sent by the terminal, the third time indicates the remaining time for the terminal to send the data packet for the first task, and the fourth time indicates the time for the terminal to send the data packet for the first task.
[0039] Based on the above implementation method, combined with determining the maximum retransmission count at the first time, the maximum retransmission count can be set more reasonably, conforming to the execution status of the first task. For example, it avoids the terminal continuing to send data packets for the first task after it has started or ended, or it avoids the terminal ceasing to send data packets for the first task that the service node has not received before the first task has started or ended. The second, third, or fourth timeframes can prevent the terminal from continuing to send data packets for the first task when the service node has already started processing data, or even completed data processing.
[0040] Optionally, the second time indicating the time when the access network device receives the data packet for the first task sent by the terminal can be replaced with the second time indicating the time when the access network device receives the data packet for the first task retransmitted by the terminal. The third time indicating the remaining time for the terminal to send the data packet for the first task can be replaced with the third time indicating the remaining time for the terminal to retransmit the data packet for the first task. The fourth time indicating the time for the terminal to send the data packet for the first task can be replaced with the fourth time indicating the time for the terminal to retransmit the data packet for the first task.
[0041] In one possible implementation, the maximum number of retransmissions includes one or more of the following: the maximum number of retransmissions at the radio link control layer, or the maximum number of retransmissions at the media access control layer.
[0042] Based on the above implementation method, the maximum number of retransmissions corresponding to automatic repeat request (ARQ) (i.e., the maximum number of retransmissions at the radio link control layer) and / or the maximum number of retransmissions corresponding to hybrid automatic repeat request (HARQ) (i.e., the maximum number of retransmissions at the media access control layer) can be set more reasonably.
[0043] In one possible implementation, the method further includes: determining that a first data packet has not been received, the first data packet being a data packet for a first task sent by the terminal; obtaining a second estimated arrival time, the second estimated arrival time being the estimated time when a retransmission data packet of the first data packet is expected to arrive at the service node; and determining, based on the second estimated arrival time, whether to send a first indication message, the first indication message indicating that the first data packet has not been received, or indicating that the first data packet is retransmitted.
[0044] Based on the above implementation, the service node can estimate the time when the retransmission data packet of the first data packet arrives at the service node, and determine whether to instruct the terminal to retransmit the first data packet based on the time.
[0045] In one possible implementation, determining whether to send the first indication information based on the second estimated arrival time includes: sending the first indication information if the second estimated arrival time falls within the first time period; or not sending the first indication information if the second estimated arrival time does not fall within the first time period.
[0046] Based on the above implementation, if the second estimated arrival time falls within the first time frame, it means that when the service node receives the retransmission data packet of the first data packet, it may not have started executing the first task, or the first task may not have ended. Therefore, the service node can send a first indication message to instruct the terminal to retransmit the first data packet. If the second estimated arrival time does not fall within the first time frame, it means that when the service node receives the retransmission data packet of the first data packet, it may not use the data packet (e.g., the service node has started executing the first task, or the first task may have already been completed). Therefore, the service node does not send the first indication message, and the terminal will not retransmit the first data packet. In this way, air interface resources can be saved.
[0047] In one possible implementation, if it is determined not to send the first indication information, the method further includes: sending a third indication information, which indicates that the first task has failed or that the air interface status is poor.
[0048] Based on the above implementation, the terminal can determine that the current air interface state is not suitable for transmitting the data packet of the first task. Therefore, the terminal can stop sending the data packet of the first task, discard the data packet of the first task, or re-request the execution of the first task after a certain period of time.
[0049] In one possible implementation, the first time is related to one or more of the following: the number of tasks being processed by the service node, the processing time required for the tasks being processed by the service node, the number of tasks waiting to be processed by the service node, the waiting time corresponding to the tasks waiting to be processed by the service node, the priority of the tasks waiting to be processed by the service node, the priority of the first task, or the maximum number of concurrent tasks of the service node.
[0050] Based on the above implementation method, service nodes can determine the first time according to one or more of the above information to adapt to different task processing scenarios.
[0051] In one possible implementation, the duration of the first moment is greater than or equal to the first duration.
[0052] Based on the above implementation method, time can be reserved for the terminal to schedule the data packets of the first task, so as to ensure the accuracy of the execution result of the first task.
[0053] In one possible implementation, the method further includes: executing the first task if the timer or time window corresponding to the first time expires.
[0054] In one possible implementation, the first information also indicates the time when the first information was sent.
[0055] Based on the above implementation method, the terminal or access network device can determine the transmission delay of the first information according to the sending time of the first information, and then determine the corresponding transmission information, such as one or more of the maximum number of retransmissions, the second time, the third time, or the fourth time.
[0056] In one possible implementation, the service node is deployed in the access network equipment, the user plane network element, the data network, the network between the user plane network element and the access network equipment, or the network between the user plane network element and the data network.
[0057] Based on the above implementation method, service nodes can be flexibly deployed to adapt to different communication scenarios.
[0058] Thirdly, a communication method is provided that can be applied to the network side, such as access network equipment on the network side, modules (e.g., processors, circuits, chips or chip systems) in the access network equipment, or logical nodes, logical modules or software that can realize all or part of the functions of the access network equipment.
[0059] Taking the application of this method to an access network device as an example, the method includes: receiving first information, wherein the first information indicates a first time associated with a first task, and the first time indicates the waiting time for the service node to process the first task; and scheduling the data packet of the first task sent by the terminal according to the first information.
[0060] Based on the method provided in the third aspect above, the access network device can schedule the data packets for the first task sent by the terminal according to the waiting time for the service node to process the first task. On the one hand, this can avoid the terminal still sending data when the service node has already started processing data or even completed data processing; on the other hand, it can enable the terminal to send the data packets for the first task to the service node as early as possible before the service node processes the data, thereby improving the accuracy of the data processing results.
[0061] In this application, "sending the data packet for the first task" can refer to the terminal sending the data packet for the first task during the initial transmission process, and / or the terminal sending the data packet for the first task during the retransmission process. Therefore, "sending the data packet for the first task" can also be replaced with "sending the data packet for the first time (or initially)" or "retransmitting the data packet for the first task". Similarly, not sending the data packet for the first task can be understood as not sending the data packet for the first task during the initial transmission process, or not sending the data packet for the first task during the retransmission process.
[0062] The various times mentioned in this application (such as the first time, the second time, or the third time or the fourth time mentioned below) can indicate a time window format or moment information, without limitation. For example, taking the first time as an example, the first time can be a time window defined by the start and end times, or it can be an absolute moment information t, indicating that the first time is within moment t.
[0063] In this application, the data packet for the first task refers to one or more data packets processed by the service node in a single task. For example, in a computing task, if the terminal sends a prompt, such as generating an image of a golden tabby cat playing in the grass, then the data packet constituting that prompt is a data packet for a single task. Similarly, if the terminal sends an image or video, then the data packet constituting that image or video is a data packet for a single task. Optionally, the data packets constituting a single task are at least one interconnected data packet. The terminal can identify which data packets are associated with a single task.
[0064] The waiting time in this application indicates the time from when a service node receives the first or all data packets of a task to when the service node begins executing or processing the task. The waiting time can be based on task granularity, such as different tasks having different waiting times. Alternatively, the waiting time can be based on service node granularity, such as different service nodes having different waiting times, while waiting times on the same service node are consistent. Alternatively, the waiting time can also be based on quality of service (QoS) stream granularity, such as tasks transmitted on the same QoS stream having consistent waiting times; this application does not limit this.
[0065] In one possible implementation, the data packet for the first task sent by the first information scheduling terminal includes: determining transmission information associated with the first task based on a first time, the transmission information including one or more of the following: maximum number of retransmissions or a second time; the second time indicating the time when the access network device receives the data packet for the first task sent by the terminal; and scheduling the terminal to send the data packet for the first task based on the transmission information.
[0066] Based on the above implementation method, combined with determining the maximum retransmission count in the first instance, the maximum retransmission count can be set more reasonably, conforming to the execution status of the first task. For example, it avoids the terminal continuing to send data packets for the first task after it has started or ended, or it avoids the terminal ceasing to send data packets for the first task that the service node has not received before the first task has started or ended. The second instance can prevent the terminal from continuing to transmit data when the service node has already started processing data, or even completed data processing. Simultaneously, the access network device can schedule the terminal to send the data packets for the first task as quickly as possible in the second instance.
[0067] In one possible implementation, the maximum number of retransmissions includes one or more of the following: the maximum number of retransmissions at the radio link control layer, or the maximum number of retransmissions at the media access control layer.
[0068] Based on the above implementation method, the maximum number of retransmissions for ARQ (i.e., the maximum number of retransmissions at the radio link control layer) and / or the maximum number of retransmissions for HARQ (i.e., the maximum number of retransmissions at the media access control layer) can be set more reasonably.
[0069] In one possible implementation, the first information further indicates the time of transmission of the first information; determining the transmission information associated with the first task based on the first time includes: determining the transmission delay of the first information based on the time of transmission and the time of receiving the first information; and determining the aforementioned transmission information based on the first time and the transmission delay of the first information.
[0070] Based on the above implementation method, the access network device can determine the maximum number of retransmissions and / or the second time based on the sending time of the first information, the time when it receives the first information, and the first time.
[0071] In one possible implementation, the method further includes: sending a fourth indication message to the terminal, the fourth indication message indicating a second time, the second time being used to determine a third time associated with the first task, and the third time indicating the remaining time for the terminal to send data packets for the first task.
[0072] Based on the above implementation method, the terminal can determine the third time and then send the data packet for the first task according to the third time, or not send the data packet for the first task.
[0073] In one possible implementation, the method further includes: receiving second indication information from the terminal, the second indication information indicating a third time associated with the first task, the third time indicating the remaining time for the terminal to send data packets for the first task; the third time is used by the access network device to schedule data packets for the first task sent by the terminal.
[0074] Based on the above implementation, the access network device can schedule the data packets for the first task sent by the terminal according to the third time. For example, when the duration corresponding to the third time is short, the access network device prioritizes scheduling the terminal to send the data packets for the first task, so that the data packets for the first task arrive at the service node as soon as possible.
[0075] Optionally, the second time indicating the time when the access network device receives the data packet of the first task sent by the terminal can be replaced by the second time indicating the time when the access network device receives the data packet of the first task retransmitted by the terminal. The third time indicating the remaining time for the terminal to send the data packet of the first task can be replaced by the third time indicating the remaining time for the terminal to retransmit the data packet of the first task.
[0076] In one possible implementation, the first time is related to one or more of the following: the number of tasks being processed by the service node, the processing time required for the tasks being processed by the service node, the number of tasks waiting to be processed by the service node, the waiting time corresponding to the tasks waiting to be processed by the service node, the priority of the tasks waiting to be processed by the service node, the priority of the first task, or the maximum number of concurrent tasks of the service node.
[0077] Based on the above implementation method, service nodes can determine the first time according to one or more of the above information to adapt to different task processing scenarios.
[0078] In one possible implementation, the duration of the first moment is greater than or equal to the first duration.
[0079] Based on the above implementation method, time can be reserved for the terminal to schedule the data packets of the first task, so as to ensure the accuracy of the execution result of the first task.
[0080] Fourthly, a communication device is provided for implementing the method provided in the first aspect. This communication device can be a terminal as described in the first aspect, or a communication module / processing module within a terminal, or a circuit or chip within a terminal responsible for communication functions, or a circuit or chip within a terminal responsible for processing functions. The communication device includes modules, units, or means corresponding to the above-described method. These modules, units, or means can be implemented in hardware, software, or by hardware executing corresponding software. The hardware or software includes one or more modules or units corresponding to the above-described functions.
[0081] In one possible implementation, the communication device may include a processing module and a communication module. The processing module can be used to implement the processing functions described in the first aspect and any possible implementation thereof. The processing module may be, for example, a processor. The communication module may also be referred to as an interface unit, used to implement the sending and / or receiving functions described in the first aspect and any possible implementation thereof. The communication module may include interface circuitry, a transceiver, a transceiver unit, or a communication interface.
[0082] In one possible implementation, a communication module is configured to receive first information indicating a first time or a second time associated with a first task, the first time indicating the waiting time for a service node to process the first task, and the second time indicating the time when an access network device receives a data packet of the first task sent by a terminal, the second time being determined based on the first time; and a processing module is configured to control the communication module to send the data packet of the first task according to the first information, or not to send the data packet of the first task.
[0083] In one possible implementation, "sending the first task data packet" can refer to the terminal sending the first task data packet during the initial transmission, and / or the terminal sending the first task data packet during the retransmission. Therefore, "sending the first task data packet" can also be replaced with "sending the first task data packet for the first time (or initially)" or "retransmitting the first task data packet." Similarly, not sending the first task data packet can be understood as not sending the first task data packet during the initial transmission, or not sending the first task data packet during the retransmission.
[0084] In one possible implementation, the various times mentioned in this application (such as the first time, the second time, or the third time or the fourth time mentioned below) can indicate a time window format or moment information, without limitation. For example, taking the first time as an example, the first time can be a time window limited by the start and end times, or it can be an absolute moment information t, indicating that the first time is within moment t.
[0085] In one possible implementation, the data packet for the first task in this application refers to one or more data packets processed by the service node in a single task. For example, in a computing task, if the terminal sends a prompt, such as generating an image of a golden tabby cat playing in the grass, then the data packet constituting that prompt is a data packet for a single task. Similarly, if the terminal sends an image or video, then the data packet constituting that image or video is a data packet for a single task. Optionally, the data packets constituting a single task are at least one interconnected data packet. The terminal can identify which data packets are associated with a single task.
[0086] In one possible implementation, the waiting time in this application indicates the time from when the service node receives the first or all data packets of a task to when the service node begins to execute or process the task. The waiting time can be task-level, such as different tasks having different waiting times. Alternatively, the waiting time can be service node-level, such as different service nodes having different waiting times, while waiting times on the same service node are consistent. Alternatively, the waiting time can also be service quality stream-level, such as tasks transmitted on the same service quality stream having consistent waiting times; this application does not limit this.
[0087] In one possible implementation, the processing module is specifically configured to determine the transmission information associated with the first task based on the first information, the transmission information including one or more of the following: a third time or a fourth time; wherein the third time indicates the remaining time for the terminal to send the data packet of the first task, and the fourth time indicates the time for the terminal to send the data packet of the first task; the processing module is further specifically configured to control the communication module to send the data packet of the first task or not send the data packet of the first task based on the transmission information.
[0088] In one possible implementation, the communication module is further configured to send a first data packet, which is a data packet of the first task; the communication module is further configured to receive first indication information, which indicates that the first data packet has not been received, or indicates that the first data packet should be retransmitted; the processing module is specifically configured to retransmit the first data packet indicated by the first indication information if the timer or time window corresponding to the third time or the fourth time has not expired; or, if the timer or time window corresponding to the third time or the fourth time has expired, not retransmit the first data packet indicated by the first indication information.
[0089] Optionally, the remaining time for the third time indicator to send the data packet for the first task can be replaced with the remaining time for the third time indicator to resend the data packet for the first task. Similarly, the time for the fourth time indicator to send the data packet for the first task can be replaced with the time for the fourth time indicator to resend the data packet for the first task.
[0090] In one possible implementation, the processing module is further configured to obtain a first estimated arrival time, which is the time when the retransmission data packet of the first data packet is expected to arrive at the service node. The processing module is further configured to control the communication module to retransmit the first data packet indicated by the first indication information when the first estimated arrival time is within the first time period.
[0091] In one possible implementation, the processing module is further configured to release the cached data packets of the first task if the timer or time window corresponding to the third or fourth time expires.
[0092] In one possible implementation, the communication module is further configured to send a second indication information to the access network device, the second indication information indicating the third time, the third time being used by the access network device to schedule the terminal to send the data packet of the first task.
[0093] In one possible implementation, the first information further indicates the time of transmission of the first information; the processing module is further specifically configured to determine the transmission delay of the first information based on the transmission time and the time of receiving the first information; the processing module is further specifically configured to determine the transmission information based on the first time and the transmission delay of the first information.
[0094] In one possible implementation, the first time is related to one or more of the following: the number of tasks being processed by the service node, the processing time required for the tasks being processed by the service node, the number of tasks waiting to be processed by the service node, the waiting time corresponding to the tasks waiting to be processed by the service node, the priority of the tasks waiting to be processed by the service node, the priority of the first task, or the maximum number of concurrent tasks of the service node.
[0095] In one possible implementation, the duration of the first moment is greater than or equal to the first duration.
[0096] Fifthly, a communication device is provided for implementing the method provided in the second aspect above. The communication device can be a service node, a module within a service node, or a logical node, logical module, or software capable of implementing all or part of the functions of a service node as described in the second aspect. The communication device includes modules, units, or means that implement the method described above. These modules, units, or means can be implemented in hardware, software, or by hardware executing corresponding software. The hardware or software includes one or more modules or units corresponding to the functions described above.
[0097] In one possible implementation, the communication device may include a processing module and a communication module. The processing module can be used to implement the processing functions in the second aspect described above and any possible implementation thereof. The processing module may be, for example, a processor. The communication module may also be referred to as an interface unit, used to implement the sending and / or receiving functions in the second aspect described above and any possible implementation thereof. The communication module may include interface circuitry, a transceiver, a transceiver unit, or a communication interface.
[0098] In one possible implementation, a processing module is used to obtain a first time associated with the first task, the first time indicating the waiting time for the service node to process the first task; a communication module is used to send first information, the first information indicating the first time, the first information being used by the terminal to determine whether to send the data packet for the first task or to determine whether to send the data packet for the first task.
[0099] In one possible implementation, "sending the first task data packet" can refer to the terminal sending the first task data packet during the initial transmission, and / or the terminal sending the first task data packet during the retransmission. Therefore, "sending the first task data packet" can also be replaced with "sending the first task data packet for the first time (or initially)" or "retransmitting the first task data packet." Similarly, not sending the first task data packet can be understood as not sending the first task data packet during the initial transmission, or not sending the first task data packet during the retransmission.
[0100] In one possible implementation, the various times mentioned in this application (such as the first time, the second time, or the third time or the fourth time mentioned below) can indicate a time window format or moment information, without limitation. For example, taking the first time as an example, the first time can be a time window limited by the start and end times, or it can be an absolute moment information t, indicating that the first time is within moment t.
[0101] In one possible implementation, the data packet for the first task in this application refers to one or more data packets processed by the service node in a single task. For example, in a computing task, if the terminal sends a prompt, such as generating an image of a golden tabby cat playing in the grass, then the data packet constituting that prompt is a data packet for a single task. Similarly, if the terminal sends an image or video, then the data packet constituting that image or video is a data packet for a single task. Optionally, the data packets constituting a single task are at least one interconnected data packet. The terminal can identify which data packets are associated with a single task.
[0102] In one possible implementation, the waiting time in this application indicates the time from when the service node receives the first or all data packets of a task to when the service node begins to execute or process the task. The waiting time can be task-level, such as different tasks having different waiting times. Alternatively, the waiting time can be service node-level, such as different service nodes having different waiting times, while waiting times on the same service node are consistent. Alternatively, the waiting time can also be service quality stream-level, such as tasks transmitted on the same service quality stream having consistent waiting times; this application does not limit this.
[0103] In one possible implementation, the first information is used by the terminal to determine whether to send the data packet for the first task or not to send the data packet for the first task, including: the first information is used to determine the transmission information associated with the first task, and the transmission information is used by the terminal to determine whether to send the data packet for the first task or not to send the data packet for the first task; the transmission information includes one or more of the following: maximum number of retransmissions, a second time, a third time, or a fourth time; wherein the second time indicates the time when the access network device receives the data packet for the first task sent by the terminal, the third time indicates the remaining time for the terminal to send the data packet for the first task, and the fourth time indicates the time for the terminal to send the data packet for the first task.
[0104] Optionally, the second time indicating the time when the access network device receives the data packet for the first task sent by the terminal can be replaced with the second time indicating the time when the access network device receives the data packet for the first task retransmitted by the terminal. The third time indicating the remaining time for the terminal to send the data packet for the first task can be replaced with the third time indicating the remaining time for the terminal to retransmit the data packet for the first task. The fourth time indicating the time for the terminal to send the data packet for the first task can be replaced with the fourth time indicating the time for the terminal to retransmit the data packet for the first task.
[0105] In one possible implementation, the maximum number of retransmissions includes one or more of the following: the maximum number of retransmissions at the radio link control layer, or the maximum number of retransmissions at the media access control layer.
[0106] In one possible implementation, the processing module is further configured to determine that a first data packet, which is a data packet for the first task sent by the terminal, has not been received; the processing module is further configured to obtain a second estimated arrival time, which is the estimated time when a retransmission data packet of the first data packet is expected to arrive at the service node; the processing module is further configured to determine, based on the second estimated arrival time, whether to send a first indication message, which indicates that the first data packet has not been received or indicates that the first data packet should be retransmitted.
[0107] In one possible implementation, the processing module is specifically configured to control the communication module to send the first indication information when the second estimated arrival time falls within the first time period; or, the processing module is specifically configured to control the communication module not to send the first indication information when the second estimated arrival time does not fall within the first time period.
[0108] In one possible implementation, if it is determined that the first indication information will not be sent, the communication module is also configured to send a third indication information, which indicates that the first task has failed or that the air interface status is poor.
[0109] In one possible implementation, the first time is related to one or more of the following: the number of tasks being processed by the service node, the processing time required for the tasks being processed by the service node, the number of tasks waiting to be processed by the service node, the waiting time corresponding to the tasks waiting to be processed by the service node, the priority of the tasks waiting to be processed by the service node, the priority of the first task, or the maximum number of concurrent tasks of the service node.
[0110] In one possible implementation, the duration of the first moment is greater than or equal to the first duration.
[0111] In one possible implementation, the processing module is further configured to execute the first task if the timer or time window corresponding to the first time expires.
[0112] In one possible implementation, the first information also indicates the time when the first information was sent.
[0113] In one possible implementation, the service node is deployed in an access network device, a user plane network element, a data network, a network between the user plane network element and the access network device, or a network between the user plane network element and the data network.
[0114] Sixthly, a communication apparatus is provided for implementing the method provided in the third aspect above. The communication apparatus may be an access network device, a module within an access network device, or a logical node, logical module, or software capable of implementing all or part of the functions of the access network device as described in the third aspect. The communication apparatus includes modules, units, or means corresponding to the above method, which may be implemented in hardware, software, or by hardware executing corresponding software. The hardware or software includes one or more modules or units corresponding to the above functions.
[0115] In one possible implementation, the communication device may include a processing module and a communication module. The processing module can be used to implement the processing functions in the third aspect described above and any possible implementation thereof. The processing module may be, for example, a processor. The communication module may also be referred to as an interface unit, used to implement the sending and / or receiving functions in the third aspect described above and any possible implementation thereof. The communication module may include interface circuitry, a transceiver, a transceiver unit, or a communication interface.
[0116] In one possible implementation, a communication module is configured to receive first information indicating a first time associated with a first task, the first time indicating a waiting time for a service node to process the first task; and a processing module is configured to schedule data packets of the first task sent by a terminal according to the first information.
[0117] In one possible implementation, "sending the first task data packet" can refer to the terminal sending the first task data packet during the initial transmission, and / or the terminal sending the first task data packet during the retransmission. Therefore, "sending the first task data packet" can also be replaced with "sending the first task data packet for the first time (or initially)" or "retransmitting the first task data packet." Similarly, not sending the first task data packet can be understood as not sending the first task data packet during the initial transmission, or not sending the first task data packet during the retransmission.
[0118] In one possible implementation, the various times mentioned in this application (such as the first time, the second time, or the third time or the fourth time mentioned below) can indicate a time window format or moment information, without limitation. For example, taking the first time as an example, the first time can be a time window limited by the start and end times, or it can be an absolute moment information t, indicating that the first time is within moment t.
[0119] In one possible implementation, the data packet for the first task in this application refers to one or more data packets processed by the service node in a single task. For example, in a computing task, if the terminal sends a prompt, such as generating an image of a golden tabby cat playing in the grass, then the data packet constituting that prompt is a data packet for a single task. Similarly, if the terminal sends an image or video, then the data packet constituting that image or video is a data packet for a single task. Optionally, the data packets constituting a single task are at least one interconnected data packet. The terminal can identify which data packets are associated with a single task.
[0120] In one possible implementation, the waiting time in this application indicates the time from when the service node receives the first or all data packets of a task to when the service node begins to execute or process the task. The waiting time can be task-level, such as different tasks having different waiting times. Alternatively, the waiting time can be service node-level, such as different service nodes having different waiting times, while waiting times on the same service node are consistent. Alternatively, the waiting time can also be service quality stream-level, such as tasks transmitted on the same service quality stream having consistent waiting times; this application does not limit this.
[0121] In one possible implementation, the processing module is specifically configured to determine the transmission information associated with the first task based on the first time, the transmission information including one or more of the following: maximum number of retransmissions or a second time; the second time indicates the time when the access network device receives the data packet of the first task sent by the terminal; the processing module is further specifically configured to schedule the terminal to send the data packet of the first task based on the transmission information.
[0122] In one possible implementation, the maximum number of retransmissions includes one or more of the following: the maximum number of retransmissions at the radio link control layer, or the maximum number of retransmissions at the media access control layer.
[0123] In one possible implementation, the first information further indicates the time of transmission of the first information; the processing module is further specifically configured to determine the transmission delay of the first information based on the transmission time and the time of receiving the first information; the processing module is further specifically configured to determine the transmission information based on the first time and the transmission delay of the first information.
[0124] In one possible implementation, the communication module is further configured to send a fourth indication information to the terminal, the fourth indication information indicating the second time, the second time being used to determine a third time associated with the first task, the third time indicating the remaining time for the terminal to send data packets for the first task.
[0125] In one possible implementation, the communication module is further configured to receive second indication information from the terminal, the second indication information indicating a third time associated with the first task, the third time indicating the remaining time for the terminal to send data packets for the first task; the third time is used by the access network device to schedule the terminal to send data packets for the first task.
[0126] Optionally, the second time indicating the time when the access network device receives the data packet of the first task sent by the terminal can be replaced by the second time indicating the time when the access network device receives the data packet of the first task retransmitted by the terminal. The third time indicating the remaining time for the terminal to send the data packet of the first task can be replaced by the third time indicating the remaining time for the terminal to retransmit the data packet of the first task.
[0127] In one possible implementation, the first time is related to one or more of the following: the number of tasks being processed by the service node, the processing time required for the tasks being processed by the service node, the number of tasks waiting to be processed by the service node, the waiting time corresponding to the tasks waiting to be processed by the service node, the priority of the tasks waiting to be processed by the service node, the priority of the first task, or the maximum number of concurrent tasks of the service node.
[0128] In one possible implementation, the duration of the first moment is greater than or equal to the first duration.
[0129] A seventh aspect provides a communication device, comprising: a processor; the processor being configured to cause the communication device to perform the method described in any of the preceding aspects by executing a computer program (or computer-executable instructions) stored in a memory, and / or by logic circuitry. The communication device may be a terminal or a communication module / processing module in a terminal as described in the first aspect, or a circuit or chip in a terminal responsible for communication functions, or a circuit or chip in a terminal responsible for processing functions; or, the communication device may be a service node, a module in a service node, or a logic node, logic module, or software capable of implementing all or part of the functions of a service node as described in the second aspect; or, the communication device may be an access network device, a module in an access network device, or a logic node, logic module, or software capable of implementing all or part of the functions of an access network device as described in the third aspect.
[0130] In one possible implementation, the number of the aforementioned processors can be one or more.
[0131] In one possible implementation, the communication device also includes a memory. The processor and memory are integrated together; alternatively, the memory is independent of the processor.
[0132] In one possible implementation, the communication device further includes a communication interface for communicating with other devices, such as transmitting or receiving data and / or signals. Exemplarily, the communication interface may be a transceiver, circuit, bus, module, or other type of communication interface.
[0133] In one possible implementation, the processor and / or memory also include an artificial intelligence (AI) module for implementing AI-related functions. The AI module can implement AI functions through software, hardware, or a combination of both. For example, the AI module may include a radio access network (RAN) intelligent controller (RIC) module. The AI module could be a near real-time RIC or a non-real-time RIC.
[0134] In one possible implementation, the communication device is a chip or a chip system. Optionally, when the communication device is a chip system, it can be composed of chips or may include chips and other discrete components.
[0135] Eighthly, a communication device is provided, comprising: a processor and an interface circuit; the interface circuit is configured to receive a computer program or instructions and transmit them to the processor; the processor is configured to execute the computer program or instructions to cause the communication device to perform the method described in any of the preceding aspects. The communication device may be a terminal or a communication module / processing module in a terminal as described in the first aspect, or a circuit or chip in a terminal responsible for communication functions, or a circuit or chip in a terminal responsible for processing functions; or, the communication device may be a service node, a module in a service node, or a logical node, logical module, or software capable of implementing all or part of the functions of a service node as described in the second aspect; or, the communication device may be an access network device, a module in an access network device, or a logical node, logical module, or software capable of implementing all or part of the functions of an access network device as described in the third aspect.
[0136] In one possible implementation, the number of the aforementioned processors can be one or more.
[0137] In one possible implementation, the processor also includes an AI module for implementing AI-related functions. The AI module can implement AI functions through software, hardware, or a combination of both. For example, the AI module may include a RIC module. The AI module could be a near real-time RIC or a non-real-time RIC.
[0138] In one possible implementation, the communication device is a chip or a chip system. Optionally, when the communication device is a chip system, it can be composed of chips or may include chips and other discrete components.
[0139] Ninthly, a computer-readable storage medium is provided that stores instructions which, when executed on a computer, cause the computer to perform the methods described in any of the preceding aspects.
[0140] In a tenth aspect, a computer program product containing instructions is provided, which, when run on a computer, enables the computer to perform the methods described in any of the preceding aspects.
[0141] Eleventhly, a communication system is provided, comprising one or more of the following: a terminal for performing the method described in the first aspect, a service node for performing the method described in the second aspect, or an access network device for performing the method described in the third aspect.
[0142] The technical effects of any possible implementation of aspects four through eleven can be found in the technical effects of any one of aspects one through three or different possible implementations of any one of aspects, and will not be repeated here.
[0143] Understandably, provided that the solutions do not contradict each other, the solutions in the above aspects can be combined. Attached Figure Description
[0144] Figure 1A A schematic diagram of the wireless network protocol stack provided in this application;
[0145] Figure 1B A schematic diagram of TCP transmission provided for this application;
[0146] Figure 1C A schematic diagram of UDP transmission provided in this application;
[0147] Figure 2A A schematic diagram of the communication system architecture provided in this application;
[0148] Figure 2B A schematic diagram of the data transmission path provided in this application;
[0149] Figure 2C A schematic diagram of the communication network provided in this application;
[0150] Figure 2D A schematic diagram of the protocol layer for the AI services provided in this application;
[0151] Figure 3 A flowchart illustrating the communication method provided in this application;
[0152] Figure 4 A schematic diagram of the acknowledgment (ACK) message provided in this application;
[0153] Figure 5 A schematic diagram of the third and fourth times provided for this application;
[0154] Figure 6 Flowchart 2 of the communication method provided in this application;
[0155] Figure 7 Flowchart of the communication method provided in this application Figure 3 ;
[0156] Figure 8 A schematic diagram illustrating the process of sending data packets for the terminal provided in this application;
[0157] Figure 9 Flowchart of the communication method provided in this application Figure 4 ;
[0158] Figure 10 Flowchart of the communication method provided in this application Figure 5 ;
[0159] Figure 11 Block diagram of the communication device provided in this application;
[0160] Figure 12 A schematic diagram of the hardware structure of the communication device provided in this application. Detailed Implementation
[0161] To reduce the computing load and power consumption of terminals and extend battery life, terminals typically send data to servers for processing. The server then processes the data, obtains the results, and sends them back to the terminal. For example, in generative AI applications, the terminal can generate an image (or video) of a golden tabby cat playing in the grass, based on the requirements of the upper-layer application, and send this requirement information to the server. Upon receiving this requirement information, the server can use models and algorithms to perform inference, obtain the corresponding image (or video), and then send it back to the terminal.
[0162] Terminals typically employ, for example Figure 1A The wireless network protocol stack shown sends data to the server. Figure 1A The protocol stack shown, from top to bottom, consists of the application layer, presentation layer, session layer, transport layer, network layer, link layer, and physical layer. The application layer, presentation layer, and session layer belong to the application (APP) layer. The protocols for the transport layer and network layer are defined by the Internet Engineering Task Force (IETF), while the protocols for the link layer and physical layer are defined by the 3rd Generation Partnership Project (3GPP).
[0163] The transport layer typically uses either TCP or UDP protocols. TCP is a connection-oriented transport mechanism, involving its acknowledgment mechanism. This mechanism was initially designed so that the receiver needed to acknowledge receipt of a data packet before the sender would send the next packet, and the sender would retransmit data if the receiver failed to receive a packet. Later, TCP introduced a sliding window mechanism, but the packet acknowledgment mechanism remained unchanged. For example, as... Figure 1BAs shown, at time A, the sliding window includes data packets 4 to 6. This indicates that for data packets 1 to 3, the sender (e.g., the terminal) has sent them, and the receiver (e.g., the server) has confirmed successful transmission. For data packets 4 to 6, the sender has sent them, but the receiver has not confirmed successful transmission. For data packets 7 to 9, the sender has not started sending. At time B, the sliding window includes data packets 4 to 8. This indicates that for data packets 1 to 3, the sender has sent them, and the receiver has confirmed successful transmission. For data packets 4 to 8, the sender has sent them, but the receiver has not confirmed successful transmission. For data packet 9, the sender has not started sending. From... Figure 1B As can be seen, from time A to time B, the sender transmitted data packets 7 and 8, meaning the right boundary of the sliding window moved to the right. However, the receiver did not acknowledge the successful transmission of data packet 4, so the left boundary of the sliding window did not move to the right. The size of the sliding window is finite; if it has reached its maximum size, the sender will not transmit the next data packet (i.e., data packet 9) until the receiver acknowledges the successful transmission of data packet 4. In summary, the TCP connection is reliable, but this transmission mechanism leads to head-blocking because the sender will not transmit subsequent data packets if the receiver does not acknowledge receipt, thus introducing additional latency and making it unsuitable for low-latency services.
[0164] Currently, low-latency services use UDP to transmit data. UDP transmission is unreliable and does not use acknowledgment mechanisms. For example, for latency-sensitive services like media, the retransmission mechanism of the Real-Time Transport Protocol (RTP) is used to improve the reliability of data transmission. Figure 1C As shown, after a UDP connection is established between the terminal and the server, the terminal can send RTP packets to the server. When the server detects packet loss, it sends a negative acknowledgment (NACK) message to request a retransmission. Upon receiving the NACK message, the terminal will retransmit the specified RTP packet. During this process, the server can request retransmission multiple times, but whether or not to retransmit is determined by the terminal.
[0165] As can be seen from the above introduction, both TCP and UDP rely on the terminal's feedback from the server regarding data reception to determine whether to retransmit data. In practice, this retransmission mechanism often encounters the following situation: the terminal continues to retransmit data even when the server has already started processing it, or even completed the processing. This not only leads to a significant waste of air interface resources but may also cause deviations in the data processing results due to incomplete data received by the server.
[0166] To address the aforementioned problems, this application provides a communication method and apparatus. In this method, the terminal can send a data packet for the first task, or not send a data packet for the first task, based on the waiting time for the service node to process the first task. In other words, the terminal considers the waiting time for the service node to process the first task when sending data packets. This avoids the terminal continuing to send data when the service node has already started processing data, or even completed data processing; furthermore, it allows the terminal to send the data packet for the first task to the service node as early as possible, before the service node processes the data, resulting in more accurate data processing results.
[0167] The embodiments of this application will now be described in detail with reference to the accompanying drawings.
[0168] The method provided in this application can be used in various communication systems. For example, the communication system can be a Universal Mobile Telecommunications System (UMTS), a Long Term Evolution (LTE) system, a 5th Generation (5G) system, a Wireless Fidelity (WiFi) system, a 3GPP-related communication system, a communication system evolving after 5G, or a system integrating multiple systems, etc., without limitation. Among them, 5G can also be referred to as New Radio (NR). The following uses... Figure 2A The method provided in this application will be described using the communication system 20 shown as an example. Figure 2A This is merely an illustrative diagram and does not constitute a limitation on the applicable scenarios of the technical solutions provided in this application.
[0169] like Figure 2A The diagram shown is a schematic diagram of the architecture of the communication system 20 provided in this application. Figure 2A In the communication system 20, there are service nodes 202, access network devices 201 that communicate with service nodes 202, and one or more terminals, such as terminals 203 to 205, that communicate with access network devices 201.
[0170] In this application, the service node 202 can provide computing power services, and therefore can also be referred to as a computing node, computing unit, computing power execution node, computing power node, or far edge intelligent node (FeIN), etc. For example, the service node 202 can be configured with computing resources to perform computational processing on data (such as data inference and / or training and / or image rendering, etc.).
[0171] Optionally, one or more models can be deployed on service node 202 to handle tasks corresponding to different businesses. The models corresponding to different businesses can be the same or different. The same business can correspond to one model or multiple models (to provide different service-level agreement (SLA) guarantees), without restriction.
[0172] For example, the aforementioned services may be text-to-text services, text-to-image services, image-to-text services, conversational AI services, model training services, or image rendering services, etc.
[0173] Optionally, service node 202 supports the statistics and reporting of computing resource usage, such as reporting to the core network, and / or supports registering its own information in the core network, such as registering information on the computing services that service node 202 can provide, and / or registering information on the models deployed on service node 202. In this way, the core network can allocate corresponding service nodes to terminals based on the above information.
[0174] This application does not limit the deployment location of the service node in the network. For example, the service node 202 may be deployed in the access network, user plane network element, data network (DN), network after the access network (such as the network between the user plane network element and the access network device), or network after the user plane network element (such as the network between the user plane network element and the DN). Here, the user plane network element may be a user plane function (UPF) network element.
[0175] Understandably, when service node 202 is deployed in the access network, service node 202 can be an access network device. The access network device deploying service node 202 can be the same as or different from the aforementioned access network device 201. When service node 202 is deployed in a user plane network element, service node 202 can be a user plane network element, such as a UPF network element. When service node 202 is deployed in a DN, service node 202 can be a server or a cloud server, etc. When service node 202 is deployed in the network between user plane network elements and access network devices, service node 202 can receive or send data packets through the data interface between it and the access network device. Furthermore, service node 202 can also be a smart board, an application network element, or an application function (AF) network element, etc.
[0176] For example, such as Figure 2BAs shown, service node 202a is deployed in the DN, and service node 202b is deployed after UPF network element 206. Data packets sent by terminal 203 can reach service node 202a via access network device 201 and UPF network element 207, and data packets sent by service node 202a can reach terminal 203 via UPF network element 207 and access network device 201. Data packets sent by terminal 204 can reach service node 202b via access network device 201, and data packets sent by service node 202b can reach terminal 204 via access network device 201. Data packets sent by terminal 205 can reach service node 202b via access network device 201 and UPF network element 206, and data packets sent by service node 202b can reach terminal 205 via UPF network element 206 and access network device 201.
[0177] In this application, the access network device 201 can be a device with wireless transceiver capabilities, which can help terminals achieve wireless access. The access network device is, for example, a node in a RAN, or a node in an open RAN (O-RAN or ORAN). The access network device can also be referred to as an access network node, RAN entity, RAN node, access node, or network device, etc. Access network equipment includes, but is not limited to: evolved NodeBs (NodeBs, eNBs, or e-NodeBs) in LTE, next-generation eNBs (ng-eNBs) in next-generation LTE, base stations (gNodeBs or gNBs) in NR, transmitting points (TPs) or transmission receiving points / transmission reception points (TRPs), base stations evolved by 3GPP, base stations in future mobile communication systems, satellites, access points (APs) in WiFi systems, wireless relay nodes, wireless backhaul nodes, integrated access and backhaul (IAB) nodes, and network equipment in mobile switching center non-terrestrial network (NTN) communication systems, which can be deployed on low-altitude platforms, high-altitude platforms, or satellites. Base stations can be: macro base stations, micro base stations, pico base stations, small cells, relay stations, or balloon stations, etc. Multiple base stations can support networks using the same technology mentioned above, or they can support networks using different technologies mentioned above. A base station can contain one or more co-located or non-co-located TRPs. Access network equipment can also function as a base station in device-to-device (D2D) communication, vehicular communication, drone communication, and machine communication. Access network equipment can also be a radio controller in a cloud radio access network (CRAN) scenario. Access network equipment can also be a centralized unit (CU), distributed unit (DU), CU-control plane (CP), CU-user plane (UP), radio unit (RU), roadside unit (RSU) with base station functionality, wired access gateway, or core network element, etc. Access network equipment can also be a server, wearable device, machine communication device, or vehicle-mounted device, etc.For example, the access network equipment in vehicle-to-everything (V2X) technology can be a Relay Unit (RSU). The following explanation uses a base station as an example. The multiple access network devices can be base stations of the same type or different types. A base station can communicate directly with a terminal, or it can communicate with a terminal through a relay station. A terminal can communicate with multiple base stations using different technologies; for example, a terminal can communicate with a base station supporting LTE networks, or it can communicate with a base station supporting 5G networks, and it can also support dual connectivity with both LTE and 5G base stations.
[0178] In this application, the CU can implement the functions of the radio resource control (RRC) layer and the packet data convergence protocol (PDCP) layer in the 3GPP standard. The CU can also implement the functions of the service data adaptation protocol (SDAP) layer. The DU can implement the functions of the radio link control (RLC) layer and the medium access control (MAC) layer in the 3GPP standard. The DU can also implement some or all physical layer functions, such as forward error correction (FEC) encoding / decoding, scrambling / descrambling, or modulation / demodulation. The RU can be used to implement radio frequency signal transmission and reception functions. The CU and DU can be set up separately, or they can be included in the same network element, such as in the baseband unit (BBU). It is understood that the CU can be classified as a network device in the access network or a network device in the core network; no limitation is made here. Furthermore, the CU can be further divided into CU-CP and CU-UP. CU-CP can implement the functions of the RRC layer and the control plane functions of the PDCP layer. CU-UP can implement the functions of the SDAP layer and the user plane functions of the PDCP layer.
[0179] In this application, the RU can be included in a radio frequency (RF) device or RF unit, such as in a remote radio unit (RRU), an active antenna unit (AAU), or a remote radio head (RRH). The RU can implement some physical layer functions and RF functions in the 3GPP standard. The physical layer functions implemented by the RU include one or more of the following: Fast Fourier Transform (FFT), Inverse Fast Fourier Transform (IFFT), digital beamforming, or extraction and filtering of the physical random access channel (PRACH).
[0180] In different systems, CU (or CU-CP and CU-UP), DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, in an ORAN system, CU can also be called O-CU (open CU), DU can also be called O-DU, CU-CP can also be called O-CU-CP, CU-UP can also be called O-CU-UP, and RU can also be called O-RU. For ease of description, this application uses CU, CU-CP, CU-UP, DU, and RU as examples. Any of the units among CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through software modules, hardware modules, or a combination of software and hardware modules.
[0181] The terminals in this application, such as terminal 203, terminal 204, or terminal 205, can be devices or modules that are connected to the aforementioned communication system and have corresponding communication functions. Terminals can be deployed on land, including indoors, outdoors, handheld, or vehicle-mounted; they can also be deployed on water (such as ships); and they can be deployed in the air (such as airplanes, balloons, and satellites). Terminals can also be referred to as terminal devices, which can be user equipment (UE), mobile station (MS), mobile terminal (MT), or devices used to provide voice or data connectivity to users. UEs include handheld devices with wireless communication functions, vehicle-mounted devices (e.g., cars, bicycles, electric vehicles, airplanes, ships, trains, high-speed trains), wearable devices (e.g., smartwatches, smart bracelets, pedometers), or computing devices. For example, a UE can be a mobile phone, tablet computer, laptop computer, PDA, mobile internet device (MID), satellite terminal, or computer with wireless transceiver capabilities. UE can also be a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless modem, a point-of-sale (POS) machine, customer-premises equipment (CPE), a smart robot, a robotic arm, workshop equipment, smart home devices (e.g., refrigerators, televisions, air conditioners, electricity meters, etc.), a wireless terminal in industrial control, a wireless terminal in autonomous driving, a wireless terminal in telemedicine, a wireless terminal in a smart grid, a wireless terminal in transportation safety, a wireless terminal in intelligent transportation, a wireless terminal in a smart city, a wireless terminal in a smart home, an in-vehicle terminal, an RSU with terminal functionality, or flying equipment (e.g., a smart robot, a hot air balloon, a drone, an airplane), etc. A terminal can also be other devices with terminal functionality; for example, a terminal can also be a device that performs terminal functionality in D2D communication.
[0182] By way of example and not limitation, in this application, the terminal can be a wearable device. Wearable devices, also known as wearable smart devices, are a general term for devices that utilize wearable technology to intelligently design and develop everyday wearables, such as glasses, gloves, watches, clothing, and shoes. Wearable devices are portable devices that are worn directly on the body or integrated into a user's clothing or accessories. For example, wearable devices are not merely hardware devices, but also devices that achieve powerful functions through software support, data interaction, and cloud interaction. Broadly speaking, wearable smart devices include devices that are feature-rich, large in size, and can achieve complete or partial functions without relying on a smartphone, such as smartwatches or smart glasses, as well as devices that focus on only one type of application function and need to be used in conjunction with other devices such as smartphones, such as various smart bracelets and smart jewelry for vital sign monitoring.
[0183] In this application, the terminal can be a terminal in an Internet of Things (IoT) system. IoT is an important component of future information technology development, and its main technical feature is connecting objects to networks through communication technologies, thereby realizing an intelligent network of human-machine interconnection and machine-to-machine interconnection. The terminal in this application can be a terminal in machine-type communication (MTC).
[0184] The terminal in this application can be an on-board module, on-board component, on-board chip, on-board unit (OBU), or telematics box (T-BOX) built into a vehicle as one or more components or units. The vehicle can implement the methods of this application through the built-in on-board module, on-board component, on-board chip, on-board unit, or T-BOX. The terminal can also be a complete vehicle device. Therefore, this application can be applied to vehicle networking, such as V2X, long-term evolution vehicle (LTE-V) communication technology, and vehicle-to-vehicle (V2V) communication.
[0185] Understandably, in some scenarios, the roles of access network devices and terminals are relative. For example, a helicopter or drone, which is usually configured as a terminal, can also be configured as a mobile base station, and devices accessing the RAN via a helicopter or drone are configured as terminals.
[0186] It is understood that the above-mentioned communication system 20 can be applied to a variety of communication networks, such as the 5G network currently under discussion, or other future networks, etc. This application embodiment does not specifically limit it in this regard.
[0187] For example, communication system 20 is suitable for Figure 2C The 5G network shown includes network data analytics function (NWDAF) network elements, network exposure function (NEF) network elements, network repository function (NRF) network elements, policy control function (PCF) network elements, unified data management (UDM) network elements, AF network elements, authentication server function (AUSF) network elements, access and mobility management function (AMF) network elements, session management function (SMF) network elements, UPF network elements, (R)AN (including one or more access network devices), terminals, and DN. Optionally, the 5G network also includes compute management function (CMF) network elements.
[0188] exist Figure 2C In this configuration, the terminal accesses the 5G network through access network equipment. The terminal communicates with AMF network elements through the N1 interface (N1 for short); the access network equipment communicates with AMF network elements through the N2 interface (N2 for short) and with UPF network elements through the N3 interface (N3 for short); the SMF network element communicates with the UPF network element through the N4 interface (N4 for short), the UPF network element accesses the DN through the N6 interface (N6 for short), and UPF network elements communicate with each other through the N9 interface (N9 for short). Furthermore, Figure 2CThe network elements shown, such as AUSF, AMF, CMF, SMF, NWDAF, NEF, NRF, PCF, UDM, or AF, can interact using service-oriented interfaces. For example, the service-oriented interface provided by the AUSF network element is Nausf; that of the AMF network element is Namf; that of the CMF network element is Ncmf; that of the SMF network element is Nsmf; that of the NWDAF network element is Nnwdaf; that of the NEF network element is Nnef; that of the NRF network element is Nnrf; that of the PCF network element is Npcf; that of the UDM network element is Nudm; and that of the AF network element is Naf.
[0189] Among them, the AMF network element has one or more of the following functions: managing user registration, reachability detection, SMF network element selection, or mobility state transition management, etc. The SMF network element has one or more of the following functions: controlling session establishment, modification, and deletion, or user plane network element selection, etc. The UPF can perform packet routing and forwarding, mobility anchoring, uplink classifiers to support routing service flows to the data network, branching points to support multi-homed sessions, etc. The PCF network element is a policy decision point, providing rules based on service data flow and application detection, gating, quality of service (QoS), and flow-based charging control, etc. The (R)AN provides radio connectivity and is located between the terminal and the core network. The UDM network element is used to store user subscription data. The AUSF network element provides authentication services. The AF network element can interact with the 3GPP core network to provide services, influencing service flow routing, access network capability exposure, policy control, etc. The NEF network element can securely expose services and capabilities provided by 3GPP network functions, such as third parties, edge computing, AF, etc. The DN can provide operator services, internet access, or third-party services, etc. NWDAF network elements can provide network data acquisition and analysis functions based on technologies such as big data and artificial intelligence. CMF network elements can provide computing management services. For example, CMF network elements can be responsible for establishing computing connections and support the management of computing plane sessions and the selection of service nodes. Optionally, Figure 2C The 5G network shown may also not include CMF network elements. In this case, the functions of CMF network elements can be implemented by other network elements in the network, such as SMF network elements.
[0190] Understandably, the device or entity corresponding to the access network device 201 in the communication system 20 is... Figure 2C The image shows access network equipment in a 5G network. Service node 202 in communication system 20 can be deployed in... Figure 2CThe (R)AN, UPF network elements, or DN in the 5G network shown are illustrated. The devices or entities corresponding to the terminals (such as terminal 203, terminal 204, or terminal 205) in communication system 20 are... Figure 2C The terminal shown is in the 5G network.
[0191] In one implementation, communication between the terminal and the service node can be based on a newly introduced protocol layer (such as...). Figure 2D The protocol layer of the AI service is shown for communication. This protocol layer can be used to transmit information related to the AI service.
[0192] For example, in Figure 2D In this system, the terminal can deploy the APP client protocol layer, the AI service protocol layer, and the access network (AN) protocol layer. The access network equipment can deploy the control protocol (CP) protocol layer, the AN protocol layer, the user plane part of the General Packet Radio Service (GPRS) tunneling protocol (GTP-U) protocol layer, the UDP / Internet Protocol (IP) protocol layer, and layer 1 (L1) / layer 2 (L2) protocol layers. The service node can deploy the APP server protocol layer, the AI service protocol layer, the GTP-U protocol layer, the UDP / IP protocol layer, the L1 / L2 protocol layers, and the transport layer. The AI service protocol layer includes the AI control protocol (AICP) protocol layer and / or the AI transport protocol (AITP) protocol layer. The AICP protocol layer is used to transmit control information between the terminal and the service node, while the AITP protocol layer can be used to transmit data information between the terminal and the service node. Figure 2D Taking the AI service protocol layer shown as an example, including the AICP protocol layer, the AICP protocol layer of the service node obtains the information sent by the terminal through this layer. Similarly, the AICP protocol layer of the terminal obtains the information sent by the service node through this layer.
[0193] Understandably, traditional communication methods can also be used between terminals and service nodes. Taking a service node deployed on a UPF network element as an example, in the uplink direction, the terminal can send data to the access network device. After receiving the data sent by the terminal, the access network device sends the data (which may be included in the GTP-U packet header) to the UPF network element. In the downlink direction, the UPF network element can send data (which may be included in the GTP-U packet header) to the access network device. After receiving the downlink data, the access network device sends the data to the terminal.
[0194] Optionally, the core network (such as CMF or SMF network elements) can activate the interaction mode between terminals, access network devices and service nodes, such as activating the protocol layer communication mode of AI services or activating the traditional communication mode.
[0195] Understandable. Figure 2A The communication system 20 shown is for illustrative purposes only and is not intended to limit the technical solutions of this application. Those skilled in the art should understand that in specific implementations, the communication system 20 may also include other devices, and the number of access network devices, terminals, or service nodes can be determined according to specific needs without limitation. Furthermore, with the evolution of network architecture and the emergence of new service scenarios, the technical solutions provided in this application are equally applicable to similar technical problems.
[0196] Optionally, this application Figure 2A The network elements or devices in the network (such as access network equipment, terminals or service nodes, etc.) can also be referred to as communication devices. They can be general-purpose devices or special-purpose devices, and this application does not make specific limitations in this regard.
[0197] Optionally, this application Figure 2A The functions of each network element or device (such as access network equipment, terminals, or service nodes) can be implemented by one device, by multiple devices, or by one or more functional modules within a single device. This application does not impose any specific limitations on these functions. It is understood that the aforementioned functions can be network elements in hardware devices, software functions running on dedicated hardware, a combination of hardware and software, or virtualization functions instantiated on a platform (e.g., a cloud platform).
[0198] The following will combine the above. Figure 2A The communication system 20 shown herein describes the method provided in this application.
[0199] It is understood that the service node in the following embodiments of this application may be service node 202 in communication system 20, the access network device in the following embodiments of this application may be access network device 201 in communication system 20, and the terminal in the following embodiments of this application may be terminal 203, terminal 204 or terminal 205 in communication system 20.
[0200] It is understood that in this application, the terminal, and / or the service node, and / or the access network device may perform some or all of the steps in this application. These steps are merely examples, and this application may also perform other steps or variations thereof. Furthermore, the steps may be performed in different orders as presented in this application, and it is not necessary to perform all the steps in this application.
[0201] It is understood that the methods described below in this application are illustrated using terminals, access network devices, and service nodes as examples of the execution subjects in the interaction illustration. However, this application does not limit the execution subjects of the interaction illustration. For example, the method executed by the terminal in this application can also be implemented by the communication / processing module in the terminal or the circuit or chip (such as a modem chip (also known as a baseband chip), or a SoC chip / SIP chip containing a modem core, or a GPU / AI processor / ASIC) in the terminal responsible for communication / processing functions; the method executed by the access network device in this application can also be implemented by modules (such as circuits, chips, or chip systems) in the access network device, or by logical nodes, logical modules, or software that can implement all or part of the functions of the access network device; the method executed by the service node in this application can also be implemented by modules (such as circuits, chips, or chip systems) in the service node, or by logical nodes, logical modules, or software that can implement all or part of the functions of the service node.
[0202] like Figure 3 The image shows a communication method provided in this application, which may include the following steps:
[0203] S301: The service node obtains the first time associated with the first task.
[0204] In this application, "first time" refers to the waiting time for the service node to process the first task, or the time the service node waits to process the first task. The first task can be any type of task, such as a computation task, inference task, training task, or data rendering task. "First time" can indicate a period of time, and therefore can also be called a time window or a time period.
[0205] One possible design is to use time 1 to time 2 to represent the time, with time 2 being later than time 1.
[0206] Time 1 and Time 2 are absolute times. Specifically, Time 1 is the moment the serving node determines that it will execute / process the first task, or a moment after the serving node determines that it will execute / process the first task. For example, Time 1 is the moment the serving node receives the data packet for the first task (such as the first data packet of the first task), or Time 1 is a moment after the serving node receives the data packet for the first task (such as the first data packet of the first task). For another example, after the core network (such as a CMF or SMF element) selects a serving node for the terminal to execute the first task, it can send a fifth instruction message to the serving node to instruct the serving node to execute the first task. Time 1 is the moment the serving node receives the fifth instruction message, or Time 1 is a moment after the serving node receives the fifth instruction message.
[0207] Time 2 is the time when the service node starts executing / processing the first task (referred to as the start time of the first task), or time 2 is the time when the service node completes the first task (referred to as the end time of the first task), or time 2 is any time between the start time and the end time of the first task, or time 2 can also be any time after time 1 and before the start time of the first task.
[0208] Understandably, for the sending end (such as a terminal), the data packets for the first task are sent in order. For the receiving end (such as a server node), the data packets for the first task may be received out of order. Therefore, the first data packet of the first task received by the receiving end may or may not be the first data packet of the first task sent by the sending end; there is no restriction.
[0209] Another possible design is to represent the first time using a relative duration or time window. For example, the first time is equal to the difference between time 2 and time 1, such as 300 milliseconds (ms).
[0210] Understandably, "first time" can also indicate a specific time point, such as "first time" indicating time 2.
[0211] Optionally, the first time (or time 2) is related to one or more of the following: the number of tasks being processed by the service node, the processing time required for the tasks being processed by the service node, the number of tasks waiting to be processed by the service node, the waiting time corresponding to the tasks waiting to be processed by the service node, the priority of the tasks waiting to be processed by the service node, the priority of the first task, or the maximum number of concurrent tasks of the service node.
[0212] The task being processed by the service node can refer to a task that the service node has started processing but has not yet finished. The business logic corresponding to the task being processed by the service node can be the same as or different from the business logic corresponding to the first task. If the business logic corresponding to the task being processed by the service node is the same as that corresponding to the first task, the model used by the task being processed by the service node can be the same as or different from the model used by the service node when processing the first task.
[0213] Tasks awaiting processing by a service node can refer to tasks that the service node has determined to handle but has not yet started processing. The business logic corresponding to the task awaiting processing by the service node can be the same as or different from the business logic corresponding to the first task. If the business logic corresponding to the task awaiting processing by the service node is the same as that corresponding to the first task, the model used by the task awaiting processing by the service node can be the same as or different from the model used by the service node when processing the first task.
[0214] For example, the task being processed by the service node is the same as the business task corresponding to the first task, and the task waiting to be processed by the service node is also the same as the business task corresponding to the first task. Alternatively, the task being processed by the service node is a task using the first model, and the task waiting to be processed by the service node is also a task using the first model. Here, the first model is the model used by the service node when processing the first task.
[0215] The processing time required for a task being processed by a service node can refer to the remaining time until the task is completed. This processing time can be preset to reduce the complexity of the service node. For example, the processing time required for tasks corresponding to business 1 and business 2 is 5ms, while the processing time required for task corresponding to business 3 is 10ms. Alternatively, the processing time required for a task using model 1 is 7ms, for a task using model 2 is 8ms, and for a task using model 3 is also 8ms. Or, the processing time required for a task being processed by a service node can also be estimated by the service node based on its own capabilities to improve the accuracy of the initial determination. For example, the service node can estimate the above processing time based on its own computing power and the remaining floating-point computation amount corresponding to the task being processed.
[0216] The waiting time for a task to be processed by a service node can refer to the time required from the start of the task's execution to its completion. This waiting time can be preset to reduce the complexity of the service node. For example, the waiting time for tasks corresponding to business 1 and business 2 is 7ms, while the waiting time for task corresponding to business 3 is 15ms. Alternatively, the waiting time for a task using model 1 is 9ms, for a task using model 2 it is 10ms, and for a task using model 3 it is also 10ms. Or, the waiting time for a task to be processed by a service node can be estimated by the service node based on its own capabilities. For example, the service node can estimate the above waiting time based on its own computing power and the amount of floating-point calculations required for a task.
[0217] Task priority is related to the service it corresponds to. For example, high-reliability, low-latency services have the highest priority, followed by low-latency services, and high-reliability services have the lowest priority; or, high-reliability, low-latency services have the highest priority, followed by high-reliability services, and low-latency services have the lowest priority. Optionally, task priority may also be related to the terminal's subscription information. For example, if terminal A's subscription level is higher than terminal B's, then for the same service, terminal A's task priority is higher than terminal B's task priority. Service nodes prioritize processing higher-priority tasks.
[0218] The maximum concurrent task count for a service node is based on the service node granularity. For example, the maximum concurrent task count for a service node refers to the maximum number of tasks a service node can handle simultaneously, or the maximum number of tasks a service node can process concurrently, or the maximum number of requests (used to request task execution) a service node can handle concurrently. When these numbers are exceeded, the service node will wait for the fastest-executing task to finish or the current task to finish before starting the next task. Alternatively, the maximum concurrent task count for a service node is based on the business granularity. For example, the maximum concurrent task count for a service node refers to the maximum number of tasks a service node can handle concurrently for the business corresponding to the first task (hereinafter referred to as the first business), or the maximum number of tasks a service node can process concurrently, or the maximum number of requests (used to request the execution of the task corresponding to the first business) a service node can handle concurrently. When these numbers are exceeded, the service node will wait for the fastest-executing task to finish or the current task to finish before starting the next task (the task corresponding to the first business). Alternatively, the maximum concurrent task count for a service node is based on the model granularity. For example, the maximum number of concurrent tasks for a service node refers to the maximum number of tasks that a service node can handle simultaneously for the model used in the first task (referred to as the first model), or the maximum number of tasks that a service node can handle simultaneously, or the maximum number of requests (for requesting the execution of tasks using the first model) that a service node can handle simultaneously. When these numbers are exceeded, the service node will wait for the fastest-executing task to finish or for the current task to finish before starting to execute the next task (a task using the first model).
[0219] The following section, combining one or more of the above information, describes the specific methods by which service nodes obtain the first-hand information.
[0220] For example, the first time is related to the number of tasks being processed by the service node. If the processing time required for the task being processed by the service node is preset, such as 10ms, the number of tasks being processed by the service node is 1, and the service node has no tasks waiting to be processed, then the first time is 10ms, or time 2 is equal to (current time + 10ms).
[0221] For example, the first time is related to the number of tasks being processed by the service node and the processing time required for each task. If the number of tasks being processed by the service node is 1, and that task requires 7ms to complete, and the service node has no tasks waiting to be processed, then the first time is 7ms, or time 2 is equal to (current time + 7ms).
[0222] For example, the first time is related to the number of tasks the service node is currently processing and the number of tasks waiting to be processed. If the processing time for the tasks the service node is currently processing is preset, such as 5ms, and the waiting time for the tasks waiting to be processed is preset, such as 10ms, then if the number of tasks the service node is currently processing is 1 and the number of tasks waiting to be processed is 2, then the first time is 25ms (5ms + 2 × 10ms), or time 2 is equal to (current time + 25ms).
[0223] For example, the first time is related to the following information: the number of tasks the service node is processing, the number of tasks the service node is waiting to process, the priority of the tasks waiting to be processed by the service node, and the priority of the first task. If the processing time required for the tasks the service node is processing is preset, such as 5ms, and the waiting time for the tasks waiting to be processed by the service node is preset, such as 10ms, then if the number of tasks the service node is processing is 1, the number of tasks waiting to be processed by the service node is 1, and the priority of the waiting task (such as the second task) is lower than the priority of the first task, then the first time is 5ms, or time 2 is equal to (current time + 5ms).
[0224] Optionally, in the example above, the first task has a higher priority than the second task, and the service node will execute the first task first. Therefore, the waiting time for the second task increases. In this case, the service node can indicate the updated waiting time for the second task to the terminal requesting the second task, so that the terminal can schedule the data packets for the second task according to the updated waiting time, and / or indicate the updated waiting time for the second task to the access network device to which the terminal is connected, so that the access network device can schedule the terminal to send the data packets for the second task according to the updated waiting time.
[0225] Understandably, in the example above, if the priority of the second task is higher than that of the first task, then the first time is 15ms (5ms + 10ms), or time 2 is equal to (current time + 15ms).
[0226] For example, the first time is related to the following information: the number of tasks the service node is processing, the processing time required for the tasks being processed by the service node, and the maximum number of concurrent tasks the service node can handle. If the maximum number of concurrent tasks for the service node is 3, the number of tasks being processed by the service node is 3, the processing time required for these 3 tasks is 5ms, 6ms, and 9ms respectively, and the service node has no tasks waiting to be processed, then the first time is 5ms, or time 2 is equal to (current time + 5ms).
[0227] For example, the first time is related to the following information: the number of tasks the service node is currently processing, the processing time required for the tasks being processed by the service node, the number of tasks waiting to be processed by the service node, the waiting time for the tasks waiting to be processed by the service node, and the maximum number of concurrent tasks the service node can handle. If the maximum number of concurrent tasks for the service node is 3, the number of tasks being processed by the service node is 3, the processing times required for these 3 tasks are 5ms, 6ms, and 9ms respectively, and the number of tasks waiting to be processed by the service node is 2, then the first time is 9ms, or time 2 is equal to (current time + 9ms).
[0228] In summary, "first time" can represent the time the service node waits to process the first task. Therefore, the data packet for the first task should arrive at the service node within the first time (i.e., time 1 is the earliest time the data packet for the first task arrives at the service node, and time 2 is the latest time the data packet for the first task arrives at the service node) so that the service node can execute the first task based on more complete data and obtain a more accurate result. To achieve the above scheme, "first time" can be used by the terminal and / or access network equipment to schedule the data packet for the first task, ensuring that the data packet for the first task arrives at the service node as quickly as possible.
[0229] Understandably, if the communication quality of the channel is low, the terminal may need to retransmit data multiple times. In this case, some data packets of the first task may arrive at the serving node outside the first time (e.g., after time 2). At this time, the serving node will not process these data packets, so the terminal may not send them, and / or the access network equipment may not schedule the terminal to send these data packets to save air interface resources.
[0230] One possible design is that, in order to reserve time for the terminal and / or access network equipment to schedule the data packets for the first task, the duration of the first time (i.e., the time the service node needs to wait to process the first task) can be greater than or equal to the first duration. Here, the first duration can represent the shortest time the service node needs to wait to process a task.
[0231] The initial duration is preset, as specified in the protocol. Alternatively, the initial duration is determined by the serving node. For example, the serving node can acquire / detect air interface status information and determine the initial duration based on this information. The air interface status information may include one or more of the following: current air interface channel conditions, channel quality indicator (CQI), number of resource blocks (RBs), transport block (TB) size, data rate, or bandwidth information, etc.
[0232] For example, if the first duration is 10ms, and the service node does not currently have a task being executed (that is, the service node can execute the first task immediately), or the service node determines the waiting time for processing the first task based on one or more of the above information to be less than 10ms, then the service node can set the first duration to 10ms.
[0233] In this application, the first duration corresponding to different services may be the same or different, and the first duration corresponding to different models may be the same or different.
[0234] In one implementation, after receiving the first data packet of the first task, the service node obtains the first time associated with the first task.
[0235] S302: The service node sends the first information to the terminal. Correspondingly, the terminal receives the first information from the service node.
[0236] The first information indicates the first time, so that the terminal can determine whether or not to send the data packet for the first task. That is, the service node can determine the waiting time for the corresponding task at the task level and instruct the terminal, so that the terminal can determine whether or not to send the data packet for the corresponding task at the task level.
[0237] For example, the first information includes the duration of the first time, or includes the duration of the first time and time 1, or includes time 2, or includes time 1 and time 2, or includes time 1, time 2 and the duration of the first time.
[0238] In this application, "sending the data packet for the first task" can refer to the terminal sending the data packet for the first task during the initial transmission process, and / or the terminal sending the data packet for the first task during the retransmission process. Therefore, "sending the data packet for the first task" can also be replaced with "sending the data packet for the first time (or initially)" or "retransmitting the data packet for the first task". Similarly, not sending the data packet for the first task can be understood as not sending the data packet for the first task during the initial transmission process, or not sending the data packet for the first task during the retransmission process. For ease of description, the following embodiments of this application use the example of sending the data packet for the first task during the retransmission process.
[0239] In one implementation, the serving node sends first information to the terminal through the access network device. For example, the serving node sends first information to the access network device, and after receiving the first information, the access network device directly forwards the first information to the terminal, or after receiving the first information, the access network device performs further processing on the first information, such as encapsulation, decapsulation, adding information, or deleting information, and then sends the processed information to the terminal. For example, the first information sent by the serving node to the access network device can be carried in the GTP-U packet header. In this implementation, the access network device may be aware of the first information, such as obtaining the first information, or it may not be aware of the first information, such as not knowing the content carried by the first information.
[0240] In another implementation, the serving node sends the first information to the terminal through the protocol layer of the AI service (such as the AICP protocol layer or the AITP protocol layer). In this implementation, the access network device may not be aware of the first information.
[0241] Optionally, the first information is carried in the ACK message or the NACK message.
[0242] For example, if it is determined that one or more data packets for the first task have not been received, the serving node sends a NACK message to the terminal, the NACK message including the first information. Alternatively, if it is determined that one or more data packets for the first task have been received, the serving node sends an ACK message to the terminal, the ACK message including the first information.
[0243] It is understandable that the service node sends the ACK or NACK message within the first time interval. For example, the service node sends the ACK or NACK message later than time 1, but earlier than time 2.
[0244] Optionally, the ACK or NACK message can be carried in the control frame. Taking the example of a service node sending first information to a terminal via the AICP protocol layer, the ACK or NACK message is carried in the AICP control frame. Optionally, the control frame may also carry an identifier for the first task.
[0245] For example, such as Figure 4As shown, an ACK message includes a data / control field (D / C field), a retransmission indication field, a segmentation indication field, a sequence number (SN) field, an identifier for the first task, ACK information, and information about the first time or the transmission time of the first information. The D / C field indicates whether the ACK message is data layer (transport layer) or control layer information. The SN field includes the SN of one or more data packets acknowledged by the ACK message. The retransmission indication field is optional and can indicate whether the one or more data packets have been received or do not need to be retransmitted. The segmentation indication field is optional and can indicate whether the one or more data packets should be split into multiple data packets for transmission. The information about the first time indicates the first time. The transmission time of the first information is optional and can indicate when the serving node sent the first information / ACK message.
[0246] Understandably, the content of a NACK message is similar to that of an ACK message. For example, for a NACK message, Figure 4 The ACK information in the message can be replaced with NACK information. The SN field includes the SN of one or more data packets that the NACK message confirms were not received. The retransmission indication field indicates that one or more of the aforementioned data packets were not received, or that one or more of the aforementioned data packets need to be retransmitted. The meanings of the remaining fields remain unchanged.
[0247] S303: The terminal may send a data packet for the first task based on the first information, or may not send a data packet for the first task.
[0248] Understandably, after receiving the first information, the terminal may send the data packet for the first task based on the first information during the initial transmission process, or may not send the data packet for the first task; and / or, during the retransmission process, may retransmit the data packet for the first task based on the first information, or may not retransmit the data packet for the first task.
[0249] For example, assuming the terminal sends the first data packet for the first task and then receives the first information, the terminal can either send the second data packet for the first task based on the first information, or not send the second data packet for the first task. If the terminal sends the second data packet, but the service node indicates that the second data packet was not received, the terminal can either resend the second data packet for the first task based on the first information, or not resend the second data packet for the first task.
[0250] In one implementation, the terminal determines the first transmission information associated with the first task based on the first information, and sends the data packet of the first task based on the first transmission information, or does not send the data packet of the first task.
[0251] In this application, the first transmission information includes one or more of the following: a third time or a fourth time. The third time indicates the remaining time for the terminal to send the data packet for the first task, or the remaining time for the terminal to retransmit the data packet for the first task, or the remaining time for the terminal to send a retransmitted data packet for the first task. The third time can also be called the remaining time, or the remaining time window, etc. The third time can indicate a period of time. For example, the third time can be represented by time 3 to time 4, where time 4 is later than time 3. Alternatively, the third time can be represented by a relative duration or a time window. For example, the third time is equal to the difference between time 4 and time 3. Time 3 and time 4 are absolute times. The third time can also indicate a point in time, such as the third time indicating time 4.
[0252] The fourth time indicates the time when the terminal sends the data packet for the first task, or the time when the terminal retransmits the data packet for the first task, or the time when the terminal sends a retransmitted data packet for the first task. The fourth time can also be called the transmission time, transmission time window, retransmission time, or retransmission time window. The fourth time can indicate a period of time. For example, the fourth time can be represented as time 5 to time 6, where time 6 is later than time 5. Alternatively, the fourth time can be represented as a relative duration or a time window. For example, the fourth time is equal to the difference between time 6 and time 5. Time 5 and time 6 are absolute times. The fourth time can also indicate a point in time, such as time 6.
[0253] One possible implementation is that the terminal determines the first transmission information based on the first transmission delay and the first information. Here, the first transmission delay is the transmission delay between the terminal and the service node.
[0254] As an example, the terminal determines the first transmission delay based on historical interaction information with the service node, and determines the first transmission information based on the first transmission delay and the first time.
[0255] For example, the duration of the third (or fourth) time point is equal to the difference between the duration of the first time point and the first transmission delay. Taking a first time point duration of 300ms and a first transmission delay of 10ms as an example, the duration of the third (or fourth) time point is 290ms. It should be understood that the duration of the third (or fourth) time point can also be less than this difference, such as a duration of 280ms.
[0256] For example, time 4 (or time 6) is equal to the difference between time 2 and the first transmission delay, or time 4 (or time 6) may be earlier than the time obtained by subtracting the first transmission delay from time 2. Time 3 is the current time, such as the time when the terminal determines time 4. Time 5 is equal to time 1, or equal to the time when the terminal receives the first information, or equal to a certain time after the terminal receives the first information, or equal to the time when the terminal determines time 6.
[0257] Understandably, when the terminal determines the first transmitted information, the duration of the third and fourth time points may be the same (or time point 5 and time point 3 may be the same). However, as time passes, the duration corresponding to the third time point becomes shorter and shorter (or time point 3 is continuously pushed forward), while the duration corresponding to the fourth time point remains unchanged (or time point 5 remains unchanged).
[0258] For example, such as Figure 5 As shown, the terminal determines the third and / or fourth time at time 501. Time 3 and time 5 are the same as time 501, and time 4 and time 6 are the same as time 503. That is, the third time is represented by times 501 to 503, and the fourth time is also represented by times 501 to 503. When time 502 is reached, time 5 is the same as time 501, and time 6 is the same as time 503. That is, the fourth time is still represented by times 501 to 503, and time 4 is also the same as time 503. However, time 3 is updated to time 502, so the third time is represented by times 502 to 503.
[0259] As another example, the first information also indicates the sending time of the first information (i.e., the time when the service node sends the first information). The terminal determines the transmission delay of the first information based on the time of receiving the first information and the sending time, and determines the first transmitted information based on the transmission delay of the first information and the first time. In other words, in this example, the terminal uses the transmission delay of the first information as the first transmission delay to determine the first transmitted information.
[0260] Understandably, to simplify terminal implementation, the first transmission information can also be determined by the service node based on the first time and indicated to the terminal. For example, the first information can indicate a third time and / or a fourth time, but not the first time, or the first information can indicate the first transmission delay in addition to indicating the first time.
[0261] Optionally, to indicate a third time, the aforementioned first information includes the duration of the third time, or includes the duration of the third time and time 3, or includes time 4, or includes time 3 and time 4, or includes time 3, time 4 and the duration of the third time. To indicate a fourth time, the aforementioned first information includes the duration of the fourth time, or includes the duration of the fourth time and time 5, or includes time 6, or includes time 5 and time 6, or includes time 5, time 6 and the duration of the fourth time.
[0262] Understandably, after determining the third and / or fourth time, the terminal will send the data packet for the first task if the time window corresponding to the third or fourth time has not expired; otherwise, it will not send the data packet for the first task. Alternatively, after determining the third and / or fourth time, the terminal may start a corresponding timer. If the timer (such as the timer corresponding to the third or fourth time) has not expired, the terminal will send the data packet for the first task; otherwise, it will not send the data packet for the first task.
[0263] Optionally, if the timer or time window corresponding to the third or fourth time expires, the terminal releases the cached data packets of the first task to save the terminal's storage resources.
[0264] Understandably, if the time window corresponding to the first time expires, the service node will execute the first task. Alternatively, after obtaining the first time, the service node can start a timer corresponding to that time. If this timer expires, the service node will execute the first task.
[0265] In one implementation, such as Figure 6 As shown, Figure 3 The method shown may also include the following steps:
[0266] S300: The terminal sends the first data packet to the service node. Correspondingly, the service node receives the first data packet from the terminal.
[0267] In this application, the first data packet is the data packet of the first task. For example, the first data packet is the first data packet of the first task received by the service node.
[0268] In one implementation, the terminal sends a first data packet to the serving node through an access network device. For example, the terminal sends a first data packet to the access network device, and after receiving the first data packet, the access network device directly forwards the first data packet to the serving node, or after receiving the first data packet, the access network device performs further processing on the first data packet, such as encapsulation, decapsulation, adding information, or deleting information, or performs one or more operations, and then sends the processed first data packet to the serving node.
[0269] In another implementation, the terminal sends the first data packet to the service node through the AITP protocol layer.
[0270] This application does not limit the execution order of S300 and S301-S302. For example, this application may execute S300 first, and then execute S301-S302. For instance, when the first data packet is the first packet of the first task, this application executes S300 first, and then executes S301-S302. Alternatively, this application may execute S301-S302 first, and then execute S300, or execute S300 and S301-S302 simultaneously. For instance, when the first data packet is not the first packet of the first task, this application executes S301-S302 first, and then executes S300, or executes S300 and S301-S302 simultaneously.
[0271] Optionally, if S301 to S302 are executed first, followed by S300, then the terminal can consider the first information when sending the first data packet. For example, if the timer or time window corresponding to the third or fourth time has not expired, the terminal sends the aforementioned first data packet to the service node.
[0272] In this application, the first task corresponds to / is associated with one or more data packets, or in other words, the one or more data packets constitute the data to be processed by the first task. Any one of the one or more data packets (such as the first data packet mentioned above) may include the corresponding data and the identifier of the first task (such as the task ID).
[0273] For example, the identifier of the first task is the business identifier corresponding to the first task. Alternatively, the identifier of the first task is the identifier of the model executing the first task. Or, when the first task corresponds to multiple data packets, the identifier of the first task can be the group identifier of the multiple data packets. The service node can determine which task a data packet belongs to or which task the data packet corresponds to / is associated with based on the task identifier carried in a data packet.
[0274] Understandably, if the identifier of the first task is the group identifier of the multiple data packets, then the terminal can send information related to the service corresponding to the first task (such as the service identifier) or information related to the model executing the first task (such as the model identifier, IP address, or port number) to the service node so that the service node can determine the service or model corresponding to the first task. This information can be carried in the data packet or sent to the service node through other messages; there are no restrictions.
[0275] Optionally, any of the above data packets may further include one or more of the following: terminal information, the SN of the data packet, the first packet identifier of the first task, the last packet identifier of the first task, the data size of the first task, or information on the transmission protocol used by the data packets of the first task.
[0276] The terminal information includes the terminal's identifier or address (such as an IP address). The service node can determine which terminal a received data packet belongs to based on this information. Furthermore, when different terminals use the same task identifier, the service node can differentiate tasks by combining this terminal information.
[0277] The first packet identifier for the first task is the identifier of the first data packet sent by the terminal for the first task. The serving node can determine whether the data packet is the first packet of the first task, or whether it has received the first packet of the first task, based on this identifier.
[0278] The tail packet identifier for the first task is the identifier of the last data packet sent by the terminal for the first task. The serving node can determine whether the data packet is the tail packet of the first task, or whether it has received the tail packet of the first task, based on this identifier.
[0279] The data size of the first task refers to the size of the data that the terminal needs to send for the first task, such as 2MB. Based on the data size of the first task, the service node can determine the time required to process the first task, and then determine the waiting time for the tasks to be processed after the first task.
[0280] The information regarding the transport protocol used by the data packets of the first task indicates the transport protocol employed, such as TCP or UDP. Based on this information, the service node can determine which protocol to use to parse the data packets. It should be understood that, with the evolution of communication technologies, the aforementioned transport protocol can also be a newly introduced protocol; this is not a limitation.
[0281] In this application, the connection between the terminal and the service node can be an IP-based connection. For example, the destination IP of the data packet for the first task is the IP address of the service node; that is, the data stream of the first task is identified by the IP 5-tuple. In other words, the terminal and the service node are connected via IP, so the terminal and the service node can be identified by IP addresses (such as the terminal's IP address and the service node's IP address). For one or more tasks run by the service node for the terminal, they can be distinguished by a task identifier (taskID).
[0282] S302a: The serving node sends a first instruction message to the terminal. Correspondingly, the terminal receives the first instruction message from the serving node.
[0283] In one implementation, if the serving node determines that it has not received the first data packet, it sends a first indication message to the terminal. The first indication message indicates that the first data packet was not received, or indicates that the first data packet should be retransmitted.
[0284] For example, if the SN of the first data packet is equal to 3, and the service node receives the data packet of the first task with SNs equal to 2 and 4, then the service node determines that it has not received the first data packet.
[0285] Optionally, the serving node obtains a second estimated arrival time and determines whether to send the first indication information based on the second estimated arrival time. The second estimated arrival time is the estimated time when the retransmission data packet of the first data packet is expected to arrive at the serving node. In other words, the serving node can estimate the time when the retransmission data packet of the first data packet sent by the terminal after receiving the first indication information will arrive at the serving node, and determine whether to send the first indication information based on this time.
[0286] For example, the serving node can acquire / detect air interface status information, estimate the round-trip time (RTT) between the serving node and the terminal based on the air interface status information, and determine a second estimated time of arrival based on the RTT between the serving node and the terminal. For example, the second estimated time of arrival is equal to the sum of the first moment and the aforementioned RTT. The first moment is either the moment the serving node determines that it has not received the first data packet, or a moment after the serving node determines that it has not received the first data packet.
[0287] Understandably, if the second estimated arrival time falls within the first time frame (e.g., the second estimated arrival time is later than time 1 but earlier than time 2), it means that when the serving node receives the retransmission data packet of the first data packet, it may not have started executing the first task, or the first task may not have finished. Therefore, the serving node can send the first indication information to instruct the terminal to retransmit the first data packet. If the second estimated arrival time does not fall within the first time frame (e.g., the second estimated arrival time is later than time 2), it means that when the serving node receives the retransmission data packet of the first data packet, it may not use the data packet (e.g., the serving node has started executing the first task, or the first task may have already been completed). Therefore, the serving node does not send the first indication information, and the terminal will not retransmit the first data packet. In this way, air interface resources can be saved.
[0288] Optionally, if the serving node does not send the first indication information, it may send a third indication information to the terminal (through the access network device). This third indication information indicates that the first task has failed or that the air interface status is poor. Upon receiving the third indication information, the terminal may stop sending data packets for the first task, discard the data packets for the first task, or re-request execution of the first task after a certain period of time.
[0289] For example, if the service node determines, based on the received data packet of the first task, that the first task cannot be completed, or that the execution result of the first task is inaccurate, it sends a third instruction message to the terminal. Alternatively, the service node executes the first task based on the received data packet of the first task, obtains the execution result of the first task, and sends a third instruction message to the terminal if the execution result of the first task has a large deviation.
[0290] It is understood that in the above embodiments, the first indication information and the first information can be carried in the same message (such as a NACK message) or in different messages, without limitation. When the first indication information and the first information are carried in different messages, S302a can be executed before S302, after S302, or simultaneously with S302.
[0291] In another implementation, upon determining that the first data packet has been received, the serving node sends a first indication message to the terminal. This first indication message indicates that the serving node has received the first data packet. Upon receiving the first indication message, the terminal can confirm that the first data packet has been received by the serving node.
[0292] Understandably, the first instruction information and the first information can be carried in the same message (such as an ACK message) or in different messages, without restriction. When the first instruction information and the first information are carried in different messages, S302a can be executed before S302, after S302, or simultaneously with S302.
[0293] Understandably, in cases where the first indication message indicates that the first data packet was not received, or indicates that the first data packet should be retransmitted, such as... Figure 6 As shown, the above S303 can be replaced by the following steps:
[0294] S303a: The terminal may retransmit the first data packet at a third and / or fourth time, or may not retransmit the first data packet.
[0295] In one implementation, if the timer or time window corresponding to the third or fourth time has not expired, the terminal retransmits the first data packet, and the service node receives the data packet accordingly. If the timer or time window corresponding to the third or fourth time expires, the terminal does not retransmit the first data packet.
[0296] Optionally, the terminal obtains a first estimated arrival time and determines whether to retransmit the first data packet based on the first estimated arrival time. Here, the first estimated arrival time is the estimated time when the retransmitted data packet of the first data packet is expected to arrive at the serving node. In other words, the terminal can estimate the time when the retransmitted data packet of the first data packet will arrive at the serving node and determine whether to retransmit the first data packet, or whether to send the retransmitted data packet of the first data packet, based on this time.
[0297] For example, the terminal determines a first estimated arrival time based on a first transmission delay. For instance, the first estimated arrival time is equal to the sum of a second moment and the first transmission delay. The second moment is either the moment the terminal receives the first indication information, or a moment after the terminal receives the first indication information.
[0298] Understandably, if the first estimated arrival time falls within the first time frame (e.g., the first estimated arrival time is later than time 1 but earlier than time 2), it means that when the serving node receives the retransmission data packet of the first data packet, it has not yet started executing the first task, or the first task has not yet ended. Therefore, the terminal can retransmit the first data packet. If the first estimated arrival time does not fall within the first time frame (e.g., the first estimated arrival time is later than time 2), it means that when the serving node receives the retransmission data packet of the first data packet, it may not use the data packet (e.g., the serving node has started executing the first task, or the first task may have already been completed). Therefore, the terminal does not retransmit the first data packet to save air interface resources.
[0299] Optional, in Figure 3 In one possible implementation of the method shown, the terminal can indicate a third time to the access network device, so that the access network device can schedule the terminal to send data packets for the first task according to the third time. For example, as... Figure 6 As shown, Figure 3 The method shown also includes the following steps:
[0300] S302b: The terminal sends a second indication message to the access network device. Correspondingly, the access network device receives the second indication message from the terminal.
[0301] In this application, the second instruction information indicates a third time so that the access network device can schedule the terminal to send the data packet for the first task according to the third time.
[0302] For example, the second indication information includes the duration of the third time, or includes the duration of the third time and time 3, or includes time 4, or includes time 3 and time 4, or includes time 3, time 4 and the duration of the third time.
[0303] Understandably, access network devices can prioritize scheduling data packets for tasks with less remaining time. For example, if the duration of the third time is less than or equal to a certain threshold, the access network device can increase the priority of the logical channel corresponding to the first task, thereby prioritizing the scheduling of data packets for the first task and ensuring that the data packets for the first task arrive at the serving node as quickly as possible.
[0304] In this application, the terminal, access network equipment, and service node are all synchronized with the grandmaster (GM) clock in the communication network.
[0305] As can be seen from the above introduction, the service node can determine the first time and instruct the terminal to affect the transmission of data packets for the first task, thereby realizing the coordination of communication resources and computing resources.
[0306] To better understand Figure 3 or Figure 6 The method shown below will be explained with specific examples. Figure 3 or Figure 6 The complete process of the method shown.
[0307] like Figure 7 As shown, another communication method provided in this application may include the following steps:
[0308] S701: The terminal establishes a connection with the service node.
[0309] In one implementation, the terminal sends a first request to a first core network element (such as a CMF or SMF element, or other network elements) to request the establishment of a connection with a service node that will perform a first task. Upon receiving the first request, the first core network element selects a service node for the terminal to perform the first task and sends information about the service node, such as its identifier and / or IP address, to the terminal. The terminal can then establish a connection with the service node, send data packets for the first task to the service node, and after the service node performs the first task, return the execution result of the first task to the terminal.
[0310] Optionally, prior to S701, service nodes could register their information in the core network, such as the computing services they could provide (e.g., text-to-text, text-to-image, image-to-text, conversational AI, model training, or image rendering), and / or the models deployed on the service node. For example, a service node could register this information with the core network through a second core network element (e.g., an AF element and / or a NEF element, or other elements). Correspondingly, the first core network element could subscribe to obtain the registration information of different service nodes and select a suitable service node for the terminal based on the obtained information.
[0311] Optionally, after the first core network element selects a service node for the terminal to perform the first task, it can send a fifth instruction message to that service node to instruct it to perform the first task.
[0312] Optionally, the first core network element can activate the QoS flow of the data flow and / or activate the AITP protocol stack. After the core network activates the AITP protocol stack, data transmission between the terminal and the service node can be performed via AITP.
[0313] S702: The terminal sends data packet 1 to the service node. Correspondingly, the service node receives data packet 1 from the terminal.
[0314] For example, data packet 1 is the first data packet of the first task received by the service node, such as the first data packet in S300. The specific process of S702 and the specific content included in data packet 1 can be referred to the description of the first data packet or the data packet of the first task in S300 above.
[0315] exist Figure 7 In the method shown, the terminal has not yet received the first information when sending data packet 1, so the terminal does not consider the first information when sending data packet 1.
[0316] Optionally, after receiving data packet 1, the service node can select the appropriate model to execute the first task. For example, the service node can select the model based on the semantics of data packet 1. Alternatively, the service node can select the model based on information carried in data packet 1 (such as model-related information or the identification information of the service corresponding to the first task). The model-related information may include one or more of the following: model identifier, model IP address, or model corresponding port number. Another example is that the first core network element indicates the model to be executed for the first task to the service node, and the service node selects the model according to this indication.
[0317] S703: The service node obtains the first time associated with the first task.
[0318] The specific process of S703 can be referred to the corresponding description in S301 above, and will not be repeated here.
[0319] S704: If data packet 1 is successfully received, the serving node sends ACK message 1 to the terminal. Correspondingly, the terminal receives ACK message 1 from the serving node.
[0320] ACK message 1 indicates that data packet 1 was successfully received. For example, ACK message 1 includes first information. A description of the first information can be found in the corresponding description above.
[0321] Understandably, a serving node may choose not to send an ACK message if a data packet is successfully received, but instead send a NACK message if the data packet is not received. Optionally, before sending a NACK message, the serving node may determine a second estimated arrival time based on the RTT between the serving node and the terminal, and then determine whether to send a NACK message based on the second estimated arrival time.
[0322] S705: The terminal determines the first transmission information associated with the first task (such as the third time and / or the fourth time) based on the first information.
[0323] The specific process of S705 can be found in the corresponding description in S303 above.
[0324] S706: The terminal sends a second instruction message to the access network device. Correspondingly, the access network device receives the second instruction message from the terminal.
[0325] The specific process of S706 can be found in the corresponding description in S302b above. Figure 7 The diagram is based on the example of S706 executing between S705 and S707. In actual applications, S706 can be executed at any time after S705 and before S709 without restriction.
[0326] S707: The terminal sends data packets 2 to n to the service node. Correspondingly, the service node receives the data packets from the terminal.
[0327] Among them, data packets 2 to n are the data packets of the first task, where n is an integer greater than 2.
[0328] Optionally, if the timer or time window corresponding to the third or fourth time has not expired, the terminal sends data packets 2 to n to the service node.
[0329] Understandably, the serving node may successfully receive all or part of data packets 2 through n, or it may not receive any of them. For successfully received data packets, the serving node sends an ACK message to the terminal; for unreceived data packets, the serving node sends a NACK message to the terminal. Figure 7 In the method shown, assuming n equals 9, the service node successfully receives data packets 2, 4, and 6 through 9, but does not receive data packets 3 and 5.
[0330] S708: The serving node sends ACK message 2 and NACK message 1 to the terminal. Correspondingly, the terminal receives ACK message 2 and NACK message 1 from the serving node.
[0331] ACK message 2 indicates that data packets 2, 4, and 6 through 9 were successfully received. NACK message 1 indicates that data packets 3 and 5 were not received.
[0332] S709: The terminal retransmits data packets 3 and 5 according to the third and / or fourth time.
[0333] For example, such as Figure 8 As shown, after receiving a NACK message (indicating that data packet 3 was not received), the terminal finds that the timer or time window corresponding to the third or fourth time point has not expired, so the terminal sends a retransmission data packet for data packet 3 to the service node. After receiving a NACK message (indicating that data packet 5 was not received), the terminal finds that the timer or time window corresponding to the third or fourth time point has not expired, so the terminal sends a retransmission data packet for data packet 5 to the service node. However, after receiving a NACK message (indicating that a retransmission data packet for data packet 5 was not received), the terminal finds that the timer or time window corresponding to the third or fourth time point has expired, so the terminal stops retransmitting data packet 5. Afterwards, the terminal releases the locally buffered data packets of the first task.
[0334] Optionally, before sending retransmission data packets 3 and 5, the terminal may determine the first estimated arrival time based on the first transmission delay, and then determine whether to send the aforementioned retransmission data packets.
[0335] Optionally, the service node can determine that the retransmission packet of data packet 5 was lost based on the RTT between the terminal and the service node, and then send a NACK message to indicate that the retransmission packet of data packet 5 was not received.
[0336] S710: If the timer or time window corresponding to the first time expires, the service node executes the first task. If the timer or time window corresponding to the third or fourth time expires, the terminal stops sending data packets for the first task.
[0337] In the above method, after determining the first time, the service node instructs the terminal, enabling the terminal to determine the corresponding transmission information (such as the first transmission information), and then sends the data packet for the first task based on this transmission information. In specific applications, the service node can also instruct the access network device to determine the first time, enabling the access network device to determine the corresponding transmission information (such as the second transmission information in the following implementation), and schedule the terminal to send the data packet for the first task based on this transmission information. This will be explained in detail below.
[0338] like Figure 9 As shown, another communication method provided in this application may include the following steps:
[0339] S901: The service node obtains the first time associated with the first task.
[0340] The process of S901 is similar to that of S301 above, and can be referred to the corresponding description in S301 above, so it will not be repeated here.
[0341] S902: The serving node sends the first information to the access network device. Correspondingly, the access network device receives the first information from the serving node.
[0342] The first information indicates the first time so that the access network device can schedule the data packets of the first task sent by the terminal. That is, the service node can determine the waiting time of the corresponding task at the task level and instruct it to the access network device, so that the access network device can schedule the data packets of the corresponding task sent by the terminal at the task level.
[0343] For example, the first information may include the duration of the first time, or the duration of the first time and time 1, or time 2, or time 1 and time 2, or time 1, time 2 and the duration of the first time. Optionally, the first information may also include the time of transmission of the first information (e.g., the time when the service node sends the first information).
[0344] Optionally, the first information can be carried in the GTP-U packet header. For example, the serving node sends the first information to the access network device through the GTP-U packet header, or the serving node sends the first information to the user plane network element (such as the UPF network element), and the user plane network element adds the first information to the GTP-U packet header before sending it to the access network device.
[0345] S903: The data packet of the first task sent by the access network device based on the first information scheduling terminal.
[0346] In one implementation, the access network device determines the second transmission information associated with the first task based on a first time interval, and schedules the terminal to send the data packets for the first task based on the second transmission information. The second transmission information includes one or more of the following: maximum retransmission count or a second time interval.
[0347] The maximum retransmission count refers to the maximum number of times a data packet for the first task can be retransmitted. In other words, the actual number of retransmissions of the data packet for the first task is less than or equal to this maximum retransmission count. The maximum retransmission count can include one or more of the following: the maximum retransmission count at the RLC layer or the maximum retransmission count at the MAC layer. Specifically, the maximum retransmission count at the RLC layer refers to the maximum retransmission count for ARQ. The maximum retransmission count at the MAC layer refers to the maximum retransmission count for HARQ.
[0348] The second time indicates the time when the access network device receives the data packet for the first task sent by the terminal, or the time when the terminal sends the data packet for the first task to the access network device, or the time when the access network device stops receiving the data packet for the first task sent by the terminal, or the time when the terminal stops sending the data packet for the first task to the access network device, or the time when the access network device receives the data packet for the first task retransmitted by the terminal, or the time when the terminal retransmits the data packet for the first task to the access network device, or the time when the access network device stops receiving the data packet for the first task retransmitted by the terminal, or the time when the terminal stops retransmitting the data packet for the first task to the access network device. The second time can also be called the discard time.
[0349] A second time can indicate a period of time. For example, a second time can be represented as time 7 to time 8, where time 8 is later than time 7. Alternatively, a second time can be represented as a relative duration or a time window. For example, a second time is equal to the difference between time 8 and time 7. Time 7 and time 8 are absolute times. A second time can also indicate a specific point in time, such as time 8.
[0350] One possible implementation is that the access network device determines the second transmission information based on the second transmission delay and the first information. The second transmission delay is the transmission delay between the access network device and the service node.
[0351] As an example, the access network device determines the second transmission delay based on historical interaction information with the service node, and determines the second time based on the second transmission delay and the first time.
[0352] For example, the duration of the second time interval is equal to the difference between the duration of the first time interval and the second transmission delay. Taking a first time interval of 300ms and a second transmission delay of 4ms as an example, the duration of the second time interval is 296ms. It should be understood that the duration of the second time interval can also be less than this difference, such as 285ms.
[0353] For example, time 8 is equal to the difference between time 2 and the second transmission delay, or time 8 may be earlier than the time obtained by subtracting the second transmission delay from time 2. Time 7 is equal to time 1, or equal to the time when the access network device receives the first information, or equal to a certain time after the access network device receives the first information, or equal to the time when the access network device determines time 8.
[0354] As another example, the first information also indicates the time of transmission of the first information (i.e., the time when the serving node sends the first information). The access network device determines the transmission delay of the first information based on the time of receiving the first information and the transmission time, and determines the second time based on the transmission delay of the first information and the first time. In other words, in this example, the access network device uses the transmission delay of the first information as the second transmission delay to determine the second time.
[0355] One possible implementation is that the access network device sets or determines the maximum number of retransmissions based on a second time. For example, if the access network device determines that after P retransmissions the second time limit will be exceeded based on the time required for one retransmission and the second time, then the maximum number of retransmissions can be less than or equal to P.
[0356] Understandably, if a data packet fails to be transmitted successfully after exceeding the maximum number of retransmissions, the access network device will no longer schedule that data packet. The access network device will then schedule the next data packet and will not consider the wireless link transmission to have failed.
[0357] Understandably, the data packets of the first task can be retransmitted multiple times within the maximum retransmission limit to ensure the reliability of data transmission.
[0358] Understandably, to simplify the implementation of access network devices, the second time can also be determined by the service node based on the first time and indicated to the access network device. For example, the first information can indicate the second time instead of the first time, or the first information can indicate both the first time and the second transmission delay.
[0359] Optionally, in order to indicate the second time, the first information mentioned above includes the duration of the second time, or includes the duration of the second time and time 7, or includes time 8, or includes time 7 and time 8, or includes time 7, time 8 and the duration of the second time.
[0360] Understandably, after the access network device determines the second time, if the corresponding time window does not expire, it means that when the service node receives the data packet for the first task sent by the terminal, the first task may not have started execution yet, or the first task may not have finished. Therefore, the access network device schedules the data packet sent by the terminal for the first task, or the access network device receives the data packet for the first task sent by the terminal and sends it to the service node. If the corresponding time window expires, it means that when the service node receives the data packet for the first task sent by the terminal, it may not use the data packet (e.g., the service node has started execution of the first task, or the first task may have already been completed). Therefore, the access network device does not schedule the terminal to send the data packet for the first task, or the access network device discards the data packet for the first task sent by the terminal.
[0361] Alternatively, after determining the second time, the access network device can start a corresponding timer. If the timer (such as the timer corresponding to the second time) does not time out, it means that when the serving node receives the data packet for the first task sent by the terminal, the first task may not have started execution yet, or the first task may not have finished. Therefore, the access network device schedules the data packet sent by the terminal for the first task, or the access network device receives the data packet for the first task sent by the terminal and sends it to the serving node. If the timer (such as the timer corresponding to the second time) times out, it means that when the serving node receives the data packet for the first task sent by the terminal, it may not use the data packet (such as the serving node has started execution of the first task, or the first task may have already been completed). Therefore, the access network device does not schedule the terminal to send the data packet for the first task, or the access network device discards the data packet for the first task sent by the terminal.
[0362] Optionally, if the timer or time window corresponding to the second time is about to expire, the access network device will prioritize scheduling the data packets of the first task, so that the data packets of the first task can reach the service node as soon as possible.
[0363] Understandably, after obtaining the first time, the service node will execute the first task if the time window corresponding to that first time window times out. Alternatively, after obtaining the first time, the service node can start a timer corresponding to that first time. If that timer times out, the service node will execute the first task.
[0364] In one implementation, the access network device sends a fourth indication message to the terminal. Correspondingly, the terminal receives the fourth indication message from the access network device. The fourth indication message indicates a second time, so that the terminal can determine the aforementioned first transmission information based on the second time, and then send the data packet for the first task according to the first transmission information, or not send the data packet for the first task. A description of the first transmission information can be found in the corresponding description above.
[0365] One possible implementation is that the terminal determines the first transmission information based on a third transmission delay and a second time. The third transmission delay is the transmission delay between the terminal and the access network device.
[0366] As an example, the terminal determines the third transmission delay based on historical interaction information with the access network equipment, and determines the first transmission information based on the third transmission delay and the second time. For example, the duration of the third time (or fourth time) is equal to the difference between the duration of the second time and the third transmission delay. Another example is that time 4 (or time 6) is equal to the difference between time 8 and the third transmission delay, or time 4 (or time 6) may be earlier than time 8 minus the third transmission delay. Time 3 is the current time, such as when the terminal determines time 4. Time 5 is equal to time 7, or equal to the time when the terminal receives the fourth indication information, or equal to a time after the terminal receives the fourth indication information, or equal to the time when the terminal determines time 6.
[0367] Understandably, when the terminal determines the first transmitted information, the duration of the third and fourth time points may be the same (or time point 5 and time point 3 may be the same). However, as time passes, the duration corresponding to the third time point becomes shorter and shorter (or time point 3 is continuously pushed forward), while the duration corresponding to the fourth time point remains unchanged (or time point 5 remains unchanged).
[0368] As another example, the fourth indication information also indicates the transmission time of the fourth indication information (i.e., the time when the access network device sends the fourth indication information). The terminal determines the transmission delay of the fourth indication information based on the time of receiving the fourth indication information and the transmission time, and determines the first transmission information based on the transmission delay of the fourth indication information and the second time. In other words, in this example, the terminal uses the transmission delay of the fourth indication information as the third transmission delay to determine the first transmission information.
[0369] Understandably, to simplify terminal implementation, the first transmission information can also be determined by the access network device based on the second time and indicated to the terminal. For example, the fourth indication information can indicate the third time and / or the fourth time, without indicating the second time, or the fourth indication information can indicate the third transmission delay in addition to indicating the second time.
[0370] Optionally, to indicate the third time, the aforementioned fourth indication information includes the duration of the third time, or includes the duration of the third time and time 3, or includes time 4, or includes time 3 and time 4, or includes time 3, time 4, and the duration of the third time. To indicate the fourth time, the aforementioned fourth indication information includes the duration of the fourth time, or includes the duration of the fourth time and time 5, or includes time 6, or includes time 5 and time 6, or includes time 5, time 6, and the duration of the fourth time.
[0371] Understandably, if the terminal does not time out within the time window corresponding to the third or fourth time, it will send data packets for the first task; if the time window corresponding to the third or fourth time expires, it will not send data packets for the first task. Alternatively, after determining the third and / or fourth time, the terminal can start a corresponding timer. If the timer (such as the timer corresponding to the third or fourth time) does not time out, it will send data packets for the first task; if the timer (such as the timer corresponding to the third or fourth time) times out, it will not send data packets for the first task.
[0372] Optionally, if the timer or time window corresponding to the third or fourth time expires, the terminal releases the cached data packets of the first task to save the terminal's storage resources.
[0373] In one implementation, the terminal sends a second indication message to the access network device. Correspondingly, the access network device receives the second indication message from the terminal. The second indication message indicates a third time, so that the access network device can schedule data packets for the first task sent by the terminal according to the third time. For example, if the duration of the third time is less than or equal to a certain threshold, the access network device can increase the priority of the logical channel corresponding to the first task, thereby prioritizing the scheduling of data packets for the first task, so that the data packets for the first task arrive at the serving node as quickly as possible.
[0374] For example, the second indication information includes the duration of the third time, or includes the duration of the third time and time 3, or includes time 4, or includes time 3 and time 4, or includes time 3, time 4 and the duration of the third time.
[0375] To better understand Figure 9 The method shown below will be explained with specific examples. Figure 9 The complete process of the method shown.
[0376] like Figure 10 As shown, another communication method provided in this application may include the following steps:
[0377] S1001: The terminal establishes a connection with the service node.
[0378] S1002: The terminal sends data packet 1 to the service node. Correspondingly, the service node receives data packet 1 from the terminal.
[0379] S1003: The service node obtains the first time associated with the first task.
[0380] The specific processes of S1001 to S1003 are similar to those of S701 to S703. Please refer to the corresponding descriptions in S701 to S703 above. They will not be repeated here.
[0381] S1004: The serving node sends a GTP-U header to the access network device. Correspondingly, the access network device receives the GTP-U header from the serving node.
[0382] The GTP-U header includes first information, which indicates the first time.
[0383] S1005: The access network device determines the second transmission information associated with the first task (such as the maximum number of retransmissions and / or the second time) based on the first information.
[0384] The specific process of S1005 above can be referred to the corresponding description in S903 above, and will not be repeated here.
[0385] S1006: The access network device sends a fourth indication message to the terminal. Correspondingly, the terminal receives the fourth indication message from the access network device.
[0386] The fourth instruction indicates the second time.
[0387] S1007: The terminal determines the first transmission information associated with the first task (such as the third time and / or the fourth time) based on the second time.
[0388] The specific processes of S1006 and S1007 above can be found by referring to Figure 9 The corresponding descriptions of the methods shown will not be repeated here.
[0389] S1008: The terminal sends a second indication message to the access network device. Correspondingly, the access network device receives the second indication message from the terminal.
[0390] The specific process of S1008 can be found in the corresponding description in S302b above. Figure 10 The example shown is S1008 being executed between S1007 and S1009. In actual applications, S1008 can be executed at any time after S1007 and before S1012 without restriction.
[0391] S1009: The terminal sends data packets 2 to n to the service node. Correspondingly, the service node receives the data packets from the terminal.
[0392] Among them, data packets 2 to n are the data packets of the first task, where n is an integer greater than 2.
[0393] Optionally, if the timer or time window corresponding to the third or fourth time has not expired, the terminal sends data packets 2 to n to the service node.
[0394] Understandably, the serving node may successfully receive all or part of data packets 2 through n, or it may not receive any of them. For successfully received data packets, the serving node does not send an ACK message to the terminal; for unreceived data packets, the serving node sends a NACK message to the terminal. Figure 10 In the method shown, assuming n equals 5, the service node successfully received data packets 2, 4, and 5, but did not receive data packet 3.
[0395] S1010: The serving node sends a NACK message to the terminal. Correspondingly, the terminal receives the NACK message from the serving node.
[0396] Among them, the NACK message indicates that data packet 3 was not received.
[0397] S1011: If the timer or time window corresponding to the third or fourth time has not expired, send a retransmission data packet of data packet 3 to the access network device. Correspondingly, the access network device receives the retransmission data packet of data packet 3 from the terminal.
[0398] S1012: The access network device may send a retransmission data packet of data packet 3 to the serving node based on the second transmission information, or may not send a retransmission data packet of data packet 3.
[0399] For example, if the number of retransmissions of data packet 3 does not exceed the maximum number of retransmissions mentioned above, and / or the timer (or time window) corresponding to the second time does not expire, the access network device sends a retransmission data packet of data packet 3 to the serving node. Correspondingly, the serving node receives the retransmission data packet of data packet 3. If the number of retransmissions of data packet 3 exceeds the maximum number of retransmissions mentioned above, and / or the timer (or time window) corresponding to the second time expires, the access network device does not send a retransmission data packet of data packet 3 to the serving node.
[0400] Optionally, the RLC layer or MAC layer of the access network device obtains the identifier of the first task corresponding to data packet 3 (such as carried in the header of data packet 3) to determine the maximum number of retransmissions corresponding to the first task, and then sends the retransmission data packet of data packet 3 to the serving node according to the maximum number of retransmissions, or does not send the retransmission data packet of data packet 3.
[0401] Optionally, the MAC resource block containing the data packet of the first task (such as the retransmission data packet of packet 3) follows the maximum number of retransmissions.
[0402] S1013: If the timer or time window corresponding to the first time expires, the serving node executes the first task. If the timer or time window corresponding to the second time expires, the access network device discards the data packets of the first task. If the timer or time window corresponding to the third or fourth time expires, the terminal stops sending the data packets of the first task.
[0403] The various embodiments mentioned above in this application can be combined without contradiction, and no limitation is imposed.
[0404] The above mainly describes the solution provided in this application from the perspective of interaction between various network elements. Correspondingly, this application also provides a communication device, which can be a terminal in the above method embodiments, or a device including the terminal, or a component usable in a terminal; or, the communication device can be an access network device in the above method embodiments, or a device including the access network device, or a component usable in an access network device; or, the communication device can be a service node in the above method embodiments, or a device including the service node, or a component usable in a service node. It is understood that, in order to achieve the above functions, the terminal, access network device, or service node, etc., includes hardware structures and / or software modules corresponding to the execution of each function.
[0405] Figure 11 A possible exemplary block diagram of the communication device involved in an embodiment of this application is shown. For example... Figure 11 As shown, the communication device 110 may include modules or units for implementing the methods described in the embodiments above. In one possible design, the communication device 110 includes a processing module 1101 and a communication module 1102. The processing module 1101, also referred to as a processing unit, is used to perform operations other than transmission and reception operations, and may be, for example, a processing circuit or a processor. The communication module 1102, also referred to as an interface unit, is used to perform transmission and reception operations, and may be, for example, an interface circuit, a transceiver, a transceiver unit, or a communication interface.
[0406] In some embodiments, the communication device 110 may further include a storage module. Figure 11(not shown in the image), used to store one or more of the program instructions, program code, or data.
[0407] In some embodiments, the communication device 110 may further include an AI module ( Figure 11 (Not shown in the image) This module is used to implement AI-related functions. AI functions can be implemented through software, hardware, or a combination of both. For example, the AI module includes a RIC module. Optionally, the AI module and the storage module are integrated into one module, or the AI module and the processing module 1101 are integrated into one module.
[0408] For example, the communication device 110 can be a terminal-side device in the above embodiments, such as a terminal or a communication module or processing module in the terminal, or a circuit or chip in the terminal responsible for communication functions.
[0409] For example, in one embodiment, communication module 1102 is used to receive first information. For example, communication module 1102 can be used to execute S302.
[0410] The processing module 1101 is used to control the communication module 1102 to send the data packet of the first task according to the first information, or not to send the data packet of the first task. For example, the processing module 1101 can be used to execute S303.
[0411] For example, in one embodiment, the communication module 1102 is used to receive fourth indication information.
[0412] The processing module 1101 is used to control the communication module 1102 to send the data packet of the first task according to the fourth instruction information, or not to send the data packet of the first task.
[0413] In one possible design, when the communication device 110 is a terminal or a communication module within a terminal, the functionality of the processing module 1101 can be implemented by one or more processors. Specifically, the processor may include a modem chip, or a system-on-a-chip (SoC) or SIP chip containing a modem core. The functionality of the communication module 1102 can be implemented by transceiver circuitry.
[0414] In one possible design, when the communication device 110 is a circuit or chip in a terminal responsible for communication functions, such as a modem chip or a system-on-a-chip (SoC) or SIP chip containing a modem core, the function of the processing module 1101 can be implemented by a circuit system in the aforementioned chip that includes one or more processors or processor cores. The function of the communication module 1102 can be implemented by the interface circuitry or data transceiver circuitry on the aforementioned chip.
[0415] In one possible design, when the communication device 110 is a terminal or a processing module within a terminal, the functionality of the processing module 1101 can be implemented by one or more processors. Specifically, the processor may include a GPU, or a system-on-a-chip (SoC) or SIP chip containing a GPU. Alternatively, the processor may include an AI processor, or a SoC or SIP chip containing an AI processor. Or, the processor may include an ASIC, or a SoC or SIP chip containing an ASIC. The functionality of the communication module 1102 can be implemented by transceiver circuitry.
[0416] In one possible design, when the communication device 110 is a circuit or chip in a terminal responsible for processing functions, such as a GPU or a system-on-a-chip (SoC) or SIP chip containing a GPU, an AI processor or a SoC or SIP chip containing an AI processor, or an ASIC or a SoC or SIP chip containing an ASIC, the function of the processing module 1101 can be implemented by a circuit system in the aforementioned chip that includes one or more processors or processor cores. The function of the communication module 1102 can be implemented by interface circuits or data transceiver circuits on the aforementioned chip.
[0417] Alternatively, for example, the communication device 110 can be a network-side device in the above embodiments, such as a service node or a module (e.g., a circuit, a chip, or a chip system) in a service node.
[0418] For example, in one embodiment, processing module 1101 is used to obtain a first time associated with the first task. For example, processing module 1101 may be used to execute S301 (or S901).
[0419] Communication module 1102 is used to send first information. For example, communication module 1102 can be used to execute S302 (or S902).
[0420] Alternatively, for example, the communication device 110 may be a network-side device in the above embodiments, such as an access network device or a module (e.g., a circuit, a chip, or a chip system) in the access network device.
[0421] For example, in one embodiment, communication module 1102 is used to receive first information. For example, communication module 1102 can be used to execute S902.
[0422] Processing module 1101 is used to schedule the data packet of the first task sent by the terminal according to the first information. For example, processing module 1101 can be used to execute S903.
[0423] It is understood that the division of units in the above-described device is merely a logical functional division. One function can correspond to one functional unit, or two or more functions can be integrated into one functional unit. In actual implementation, all or some units can be integrated onto a single physical entity, or distributed across different physical entities. Furthermore, the aforementioned functional units can be implemented in hardware, software, or a combination of both. Whether a function is executed in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for specific applications, but such implementations should not be considered beyond the scope of this application.
[0424] It is understood that one or more of the above modules or units can be implemented by software, hardware, or a combination of both. When any of the above modules or units are implemented by software, the software exists as computer program instructions and is stored in memory. The processor can be used to execute the program instructions and implement the above method flow. The processor can be built into a SoC or ASIC, or it can be a separate semiconductor chip. In addition to the core that executes the software instructions for computation or processing, the processor may further include necessary hardware accelerators, such as field-programmable gate arrays (FPGAs), programmable logic devices (PLDs), or logic circuits that implement dedicated logic operations.
[0425] When the above modules or units are implemented in hardware, the hardware can be any one or any combination of a central processing unit (CPU), microprocessor, digital signal processing (DSP) chip, microcontroller unit (MCU), artificial intelligence processor, ASIC, SoC, FPGA, PLD, application-specific digital circuit, hardware accelerator, or non-integrated discrete device, which can run the necessary software or perform the above method flow independently of software.
[0426] In specific implementations, the terminal-side device (e.g., a terminal) or network-side device (e.g., an access network device or a service node) in the above embodiments can be adopted. Figure 12 The shown composition structure, or including Figure 12 The components shown. Figure 12The diagram shows a hardware structure schematic of a communication device applicable to this application. It will be understood that the communication device 120 includes means of the necessary form, such as modules, units, elements, circuits, or interfaces, appropriately configured together to execute the scheme provided in this application. For example, the communication device 120 includes one or more processors 1201 for implementing the methods provided in this application.
[0427] Processor 1201 can be a general-purpose processor or a dedicated processor. For example, processor 1201 can be a baseband processor or a CPU. The baseband processor can be used to process communication protocols and communication data, while the central processing unit can be used to control the communication device 120 (such as an access network device, terminal, service node, or chip), execute software programs, and process data from the software programs. Optionally, in one design, processor 1201 may include program 1205 (sometimes also referred to as code or instructions), which can be run on processor 1201 to cause the communication device 120 to perform the methods described in the above embodiments. In yet another possible design, communication device 120 includes circuitry (…). Figure 12 (Not shown), the circuit is used to implement the functions of the service node, terminal or access network device in the above embodiments.
[0428] Optionally, the communication device 120 may include one or more memories 1203. The memory 1203 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, random access memory (RAM), cache, or other type of dynamic storage device capable of storing information and instructions. It may also be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media, or other magnetic storage devices, or 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 provided in this application may generally be non-volatile. Optionally, the memory 1203 stores a program 1207 (sometimes referred to as code or instructions), which can be run on the processor 1201 to cause the communication device 120 to perform the methods described in the above method embodiments.
[0429] Optionally, the processor 1201 may include an AI module 1206, and / or the memory 1203 may include an AI module 1208. The aforementioned AI modules are used to implement AI-related functions. The AI modules can be implemented through software, hardware, or a combination of both. For example, the AI module may include a RIC module. For example, the AI module can be a near real-time RIC or a non-real-time RIC.
[0430] Optionally, data may also be stored in the processor 1201 and / or the memory 1203. The processor 1201 and the memory 1203 may be configured separately or integrated together.
[0431] Optionally, the communication device 120 may also include a transceiver 1202 and / or an antenna 1204. The processor 1201, sometimes referred to as a processing unit, controls the communication device 120. The transceiver 1202, sometimes referred to as a transceiver unit, transceiver, transceiver circuit, or transceiver, is used to realize the transmission and reception functions of the communication device 120 through the antenna 1204.
[0432] Understandable. Figure 12 The structural composition shown does not constitute a limitation on the communication device, except... Figure 12 In addition to the components shown, the communication device may include more or fewer components than illustrated, or combine certain components, or have different component arrangements.
[0433] In one example, the functional units in the communication device 110 may be one or more integrated circuits configured to implement the methods described above, such as: one or more ASICs, or one or more CPUs, one or more MCUs, one or more DSPs, or one or more FPGAs, or a combination of at least two of these integrated circuit forms. For example, the processing module 1101 is configured as a processor 1201, the communication module 1102 is configured as a transceiver 1202, and the storage module of the communication device 110 is configured as a memory 1203.
[0434] Through the above description of the embodiments, those skilled in the art can clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.
[0435] Optionally, this application also provides a chip system, including: at least one processor and an interface, wherein the at least one processor is coupled to a memory via the interface, and when the at least one processor executes a computer program or instructions in the memory, the method in any of the above method embodiments is executed. In one possible implementation, the chip system further includes a memory. Optionally, the chip system may be composed of chips or may include chips and other discrete devices; this application does not specifically limit this.
[0436] Optionally, this application also provides a computer-readable storage medium. All or part of the processes in the above method embodiments can be implemented by a computer program instructing related hardware. This program can be stored in the aforementioned computer-readable storage medium. When executed, the program can include the processes described in the above method embodiments. The computer-readable storage medium can be an internal storage unit of the communication device in any of the foregoing embodiments, such as the hard disk or memory of the communication device. The aforementioned computer-readable storage medium can also be an external storage device of the communication device, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the communication device. Further, the aforementioned computer-readable storage medium can include both internal storage units and external storage devices of the communication device. The aforementioned computer-readable storage medium is used to store the aforementioned computer program and other programs and data required by the communication device. The aforementioned computer-readable storage medium can also be used to temporarily store data that has been output or will be output.
[0437] Optionally, this application also provides a computer program product. All or part of the processes in the above method embodiments can be executed by a computer program instructing related hardware. This program can be stored in the above computer program product, and when executed, it can include the processes described in the above method embodiments.
[0438] Optionally, this application also provides computer instructions. All or part of the processes in the above method embodiments can be executed by computer instructions instructing related hardware (such as computers, processors, terminals, service nodes, or access network devices). The program can be stored in the aforementioned computer-readable storage medium or the aforementioned computer program product.
[0439] Optionally, this application also provides a communication system, including one or more of the access network device, terminal or service node in the above embodiments.
[0440] It is understood that the term "connection" in this application can refer to a direct connection or an indirect connection; furthermore, it can refer to an electrical connection or a communication connection. For example, the connection of two electrical components A and B can refer to a direct connection between A and B, or an indirect connection between A and B through other electrical components or connection media, enabling the transmission of electrical signals between A and B; similarly, the connection of two devices A and B can refer to a direct connection between A and B, or an indirect connection between A and B through other communication devices or communication media, enabling communication between A and B.
[0441] It is understood that the message names or parameter names between network elements in the above embodiments of this application are merely examples, and other names may be used in specific implementations. This application does not impose any specific limitations on these names. Furthermore, the terms "system" and "network" in this application can be used interchangeably.
[0442] It is understood that in this application, " / " can indicate that the objects before and after it are in an "or" relationship. For example, A / B can mean A or B. "And / or" can be used to describe three relationships between the related objects. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, and B exists alone. Here, A and B can be singular or plural. Furthermore, expressions like "at least one of A, B, and C" or "at least one of A, B, or C" are generally used to indicate any of the following: A exists alone; B exists alone; C exists alone; A and B exist simultaneously; A and C exist simultaneously; B and C exist simultaneously; A, B, and C exist simultaneously. The above examples using three elements (A, B, and C) illustrate the optional entries for this item. When the expression contains more elements, its meaning can be obtained according to the aforementioned rules.
[0443] To facilitate the description of the technical solutions of this application, the terms "first" and "second" may be used to distinguish technical features with the same or similar functions. The terms "first" and "second" do not limit the number or execution order, nor do they imply that they are necessarily different. In this application, the terms "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design scheme described as "exemplary" or "for example" should not be construed as being more preferred or advantageous than other embodiments or design schemes. The use of "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner for ease of understanding.
[0444] It is understood that the term "embodiment" used throughout the specification means that a specific feature, structure, or characteristic related to an embodiment is included in at least one embodiment of this application. Therefore, various embodiments throughout the specification do not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It is understood that in the various embodiments of this application, the sequence number of each process does not imply a sequential order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of this application.
[0445] It is understood that in this application, "for indicating" can include direct and indirect indication, as well as explicit and implicit indication. When describing certain indication information as indicating A, it can include whether the indication information directly or indirectly indicates A, but does not necessarily mean that the indication information carries A. The information indicated by a certain piece of information (such as the first information mentioned above) is called the information to be indicated. In the specific implementation process, there are many ways to indicate the information to be indicated, such as, but not limited to, directly indicating the information to be indicated, such as the information to be indicated itself or its index. It can also indirectly indicate the information to be indicated by indicating other information, where there is a correlation between the other information and the information to be indicated. It can also indicate only a part of the information to be indicated, while the other parts are known or pre-agreed upon. For example, the indication of specific information can be achieved by using a pre-agreed (e.g., protocol-defined) arrangement of various pieces of information, thereby reducing the indication overhead to some extent.
[0446] It is understood that in this application, "when," "under the circumstances," "if," and "if" all refer to the corresponding processing that will be carried out under certain objective circumstances, and are not time-limited, nor do they require that there must be a judgment action when implemented, nor do they imply any other limitations.
[0447] In this application, "simultaneously" can be understood as at the same point in time, within a period of time, or within the same cycle.
[0448] It is understood that some optional features in this application can be implemented independently in certain scenarios without relying on other features, such as the current solution upon which they are based, to solve the corresponding technical problems and achieve the corresponding effects. Alternatively, they can be combined with other features as needed in certain scenarios. Correspondingly, the apparatus provided in this application can also implement these features or functions, which will not be elaborated here.
[0449] It is understood that the same step or step with the same function or technical feature in this application can be referenced and learned from each other in different embodiments.
[0450] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another device, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.
[0451] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0452] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0453] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A communication method, characterized in that, The method, applied to a terminal or a module within a terminal, includes: Receive first information, the first information indicating a first time or a second time associated with the first task, the first time indicating the waiting time for the service node to process the first task, the second time indicating the time when the access network device receives the data packet of the first task resent by the terminal, and the second time is determined based on the first time; The data packet for the first task may be resent based on the first information, or the data packet for the first task may not be resent.
2. The method according to claim 1, characterized in that, The step of retransmitting the data packet of the first task based on the first information, or not retransmitting the data packet of the first task, includes: Based on the first information, the transmission information associated with the first task is determined, and the transmission information includes one or more of the following: a third time or a fourth time; wherein, the third time indicates the remaining time for the terminal to resend the data packet of the first task, and the fourth time indicates the time for the terminal to resend the data packet of the first task; The data packets for the first task may be retransmitted based on the transmission information, or the data packets for the first task may not be retransmitted.
3. The method according to claim 2, characterized in that, The method further includes: Send a first data packet, which is the data packet of the first task; Receive a first indication message, which indicates that the first data packet was not received, or indicates that the first data packet should be retransmitted; The step of retransmitting the data packet of the first task according to the transmission information, or not retransmitting the data packet of the first task, includes: If the timer or time window corresponding to the third or fourth time has not expired, retransmit the first data packet indicated by the first indication information; or, If the timer or time window corresponding to the third or fourth time expires, the first data packet indicated by the first indication information will not be retransmitted.
4. The method according to claim 3, characterized in that, The method further includes: Obtain a first estimated arrival time, which is the estimated time when the retransmission packet of the first data packet is expected to arrive at the service node. The retransmission of the first data packet indicated by the first indication information includes: If the first estimated arrival time falls within the first time interval, the first data packet indicated by the first indication information is retransmitted.
5. The method according to claim 3 or 4, characterized in that, The method further includes: If the timer or time window corresponding to the third or fourth time expires, the cached data packets of the first task are released.
6. The method according to any one of claims 2 to 5, characterized in that, The method further includes: A second indication message is sent to the access network device, the second indication message indicating the third time, the third time being used by the access network device to schedule the terminal to retransmit the data packet of the first task.
7. The method according to any one of claims 2 to 6, characterized in that, The first information also indicates the time when the first information was sent; The step of determining the transmission information associated with the first task based on the first information includes: The transmission delay of the first information is determined based on the sending time and the receiving time of the first information; The transmission information is determined based on the transmission delay of the first time and the first information.
8. The method according to any one of claims 1 to 7, characterized in that, The first time is related to one or more of the following: The number of tasks being processed by the service node, the processing time required for the tasks being processed by the service node, the number of tasks waiting to be processed by the service node, the waiting time corresponding to the tasks waiting to be processed by the service node, the priority of the tasks waiting to be processed by the service node, the priority of the first task, or the maximum number of concurrent tasks of the service node.
9. A communication method, characterized in that, The method, applied to a service node or a module within a service node, includes: Obtain the first time associated with the first task, whereby the first time indicates the waiting time for the service node to process the first task; Send a first message, the first message indicating the first time, the first message being used by the terminal to determine whether to resend the data packet of the first task or to determine not to resend the data packet of the first task.
10. The method according to claim 9, characterized in that, The first information is used by the terminal to determine whether to send the data packet for the first task, or to determine not to resend the data packet for the first task, including: The first information is used to determine the transmission information associated with the first task, and the transmission information is used by the terminal to determine whether to resend the data packet of the first task or not to resend the data packet of the first task. The transmission information includes one or more of the following: maximum number of retransmissions, second time, third time, or fourth time; Wherein, the second time indicates the time when the access network device receives the data packet of the first task retransmitted by the terminal, the third time indicates the remaining time when the terminal retransmits the data packet of the first task, and the fourth time indicates the time when the terminal retransmits the data packet of the first task.
11. The method according to claim 10, characterized in that, The maximum number of retransmissions includes one or more of the following: the maximum number of retransmissions at the radio link control layer, or the maximum number of retransmissions at the media access control layer.
12. The method according to any one of claims 9 to 11, characterized in that, The method further includes: It is determined that the first data packet was not received, and the first data packet is the data packet for the first task sent by the terminal; Obtain a second estimated arrival time, which is the estimated time when the retransmission data packet of the first data packet is expected to arrive at the service node; Based on the second estimated arrival time, it is determined whether or not to send a first indication message, which indicates that the first data packet has not been received or indicates that the first data packet should be retransmitted.
13. The method according to claim 12, characterized in that, The step of determining whether or not to send the first indication information based on the second estimated arrival time includes: If the second estimated arrival time falls within the first time interval, send the first indication information; or... If the second estimated arrival time does not fall within the first time period, the first indication information will not be sent.
14. The method according to claim 12 or 13, characterized in that, If it is determined that the first indication information will not be sent, the method further includes: Send a third indication message, which indicates that the first task has failed to execute or that the air interface status is poor.
15. The method according to any one of claims 9 to 14, characterized in that, The first time is related to one or more of the following: The number of tasks being processed by the service node, the processing time required for the tasks being processed by the service node, the number of tasks waiting to be processed by the service node, the waiting time corresponding to the tasks waiting to be processed by the service node, the priority of the tasks waiting to be processed by the service node, the priority of the first task, or the maximum number of concurrent tasks of the service node.
16. The method according to any one of claims 9 to 15, characterized in that, The method further includes: If the timer or time window corresponding to the first time expires, the first task is executed.
17. The method according to any one of claims 9 to 16, characterized in that, The service nodes are deployed in access network devices, user plane network elements, data networks, networks between user plane network elements and access network devices, or networks between user plane network elements and data networks.
18. A communication method, characterized in that, The method, applicable to an access network device or a module within an access network device, includes: Receive first information, the first information indicating the first time associated with the first task, the first time indicating the waiting time for the service node to process the first task; The scheduling terminal resends the data packet for the first task based on the first information.
19. The method according to claim 18, characterized in that, The step of retransmitting the data packet of the first task based on the first information scheduling terminal includes: Based on the first time, the transmission information associated with the first task is determined, and the transmission information includes one or more of the following: maximum number of retransmissions or a second time; the second time indicates the time when the access network device receives the data packet of the first task retransmitted by the terminal; The terminal is scheduled to resend the data packets for the first task based on the transmission information.
20. The method according to claim 19, characterized in that, The maximum number of retransmissions includes one or more of the following: the maximum number of retransmissions at the radio link control layer, or the maximum number of retransmissions at the media access control layer.
21. The method according to claim 19 or 20, characterized in that, The first information also indicates the time when the first information was sent; The step of determining the transmission information associated with the first task based on the first time includes: The transmission delay of the first information is determined based on the sending time and the receiving time of the first information; The transmission information is determined based on the transmission delay of the first time and the first information.
22. The method according to any one of claims 18 to 21, characterized in that, The method further includes: A fourth indication message is sent to the terminal, the fourth indication message indicating the second time, the second time being used to determine the third time associated with the first task, and the third time indicating the remaining time for the terminal to resend the data packet of the first task.
23. The method according to any one of claims 18 to 22, characterized in that, The method further includes: The device receives a second indication information from the terminal, the second indication information indicating a third time associated with the first task, the third time indicating the remaining time for the terminal to retransmit the data packets of the first task; the third time is used by the access network device to schedule the terminal to retransmit the data packets of the first task.
24. The method according to any one of claims 18 to 23, characterized in that, The first time is related to one or more of the following: The number of tasks being processed by the service node, the processing time required for the tasks being processed by the service node, the number of tasks waiting to be processed by the service node, the waiting time corresponding to the tasks waiting to be processed by the service node, the priority of the tasks waiting to be processed by the service node, the priority of the first task, or the maximum number of concurrent tasks of the service node.
25. A communication device, characterized in that, It includes units or modules for performing the method as described in any one of claims 1 to 8, or units or modules for performing the method as described in any one of claims 9 to 17, or units or modules for performing the method as described in any one of claims 18 to 24.
26. A communication device, characterized in that, include: A processor coupled to a memory for storing a program or instructions that, when executed by the processor, cause the apparatus to perform the method as claimed in any one of claims 1 to 8, or the method as claimed in any one of claims 9 to 17, or the method as claimed in any one of claims 18 to 24.
27. A computer-readable storage medium, characterized in that, It includes a computer program or instructions that, when executed, cause a computer to perform the method as described in any one of claims 1 to 8, or the method as described in any one of claims 9 to 17, or the method as described in any one of claims 18 to 24.
28. A computer program product, characterized in that, It includes computer program code that, when run on a computer, causes the computer to implement the method of any one of claims 1 to 8, or the method of any one of claims 9 to 17, or the method of any one of claims 18 to 24.
29. A chip system, characterized in that, include: A processor for executing a stored computer program for performing the method as described in any one of claims 1 to 8, or the method as described in any one of claims 9 to 17, or the method as described in any one of claims 18 to 24.