Communication method and communication apparatus
By receiving messages in environmental IoT devices to trigger task suspension behavior, the problems of device energy saving and communication efficiency are solved, and effective task suspension and energy management are achieved.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HONOR DEVICE CO LTD
- Filing Date
- 2025-11-29
- Publication Date
- 2026-07-16
AI Technical Summary
In environmental IoT scenarios, how can we effectively suspend device tasks to save energy and ensure communication efficiency?
The first device receives a message from the second device, which triggers the target device to perform a task suspension behavior, such as hibernation or waiting for a message until hibernation, or hibernation after completing the task within the estimated time, or exiting the current access round to save energy.
It enables the effective suspension of tasks in environmental IoT devices, saving device energy, improving communication efficiency, and preventing devices from being unable to continue tasks due to low battery.
Smart Images

Figure CN2025138833_16072026_PF_FP_ABST
Abstract
Description
Communication methods and communication devices
[0001] This application claims priority to Chinese patent application filed on January 8, 2025, with application number 202510038391.4 and entitled "Communication Method and Communication Device", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of Internet of Things (IoT) technology, and in particular to a communication method and communication device. Background Technology
[0003] Energy is ubiquitous in life; light, heat, wind, waves, sound, electromagnetic radiation, and mechanical vibrations are all forms of energy. Environmental IoT devices can communicate by collecting energy from the environment. In the communication mechanism of environmental IoT, the reader can instruct the environmental IoT device to perform tasks. However, in some situations, it may be necessary to suspend the tasks performed by the environmental IoT device. How to achieve task suspension is a problem that urgently needs to be solved. Summary of the Invention
[0004] This application provides a communication method and a communication device that can meet the task suspension requirements in IoT scenarios. The technical solution is as follows:
[0005] In a first aspect, a communication method is provided. This method can be executed by a first device, or by a component (such as a circuit, chip, or chip system) configured in the first device, or by a logic module or software capable of implementing all or part of the functions of the first device. This application does not limit the scope of the method. The following description uses the first device as an example.
[0006] In this method, the first device receives a first message sent by the second device, which is used to trigger the suspension of the task initiated by the second device.
[0007] The first device can be an environmental IoT device. The second device can be a reader communicating with the environmental IoT device, such as a base station or a UE. In this application, the second device can trigger the first device to suspend the task initiated by the second device by sending a first message to the first device, thus meeting the task suspension requirements in environmental IoT scenarios. The first message is used to instruct the execution of a target device action, which in turn suspends the task. In this case, the first message is used to instruct the suspension of the task. For example, the message type of the first message can be a paging message, a time slot end message, a MAC layer PDU message, a MAC layer CE message, an AIoT AS Layers CE message, or an MSG2 message, etc.
[0008] For example, the target device behavior may include one or more of the following:
[0009] Behavior 1: Reside in the current access round, waiting to receive the fourth message until hibernation (e.g., hibernation due to low battery). The fourth message is used to resume task execution. An access round is triggered by a paging message, and the number of time slots in that round is determined by the random access configuration information in the paging message.
[0010] Behavior 2: Remain in the current access round and wait to receive the fourth message within the first duration. If the fourth message is not received by the end of the first duration, enter sleep mode.
[0011] Action 3: Exit the current access round and wait to receive the fourth message until hibernation (e.g., hibernation due to low battery).
[0012] Action 4: Exit the current access round and wait to receive the fourth message within the second time period. If the fourth message is not received by the end of the second time period, it will enter a sleep state.
[0013] Action 5: Exit the current access round and enter hibernation.
[0014] Optionally, the fourth message may be a paging message, a re-paging message, or a time slot end message.
[0015] Optionally, the first message includes one or more of the following: target device scope, estimated suspension duration, task suspension reason, target device behavior, device behavior rules, first instruction information, and first task context information. The target device scope is used to indicate the device that needs to perform the target device behavior, and the target device scope may include one or more of the following: task identifier, group identifier, second device identifier, or other filtering criteria.
[0016] It should be noted that if the first message does not include the target device range, the first message is used to instruct all first devices that receive the first message to perform the target device behavior.
[0017] The estimated suspension duration is the estimated task suspension duration for the second device, and the task suspension reason refers to the reason that triggers the task suspension.
[0018] For example, the reasons for task suspension may include one or more of the following: cell handover, radio link failure, second device change, resource failure, third device indicating task suspension, second device abnormal status, and first device low battery.
[0019] Second device change refers to changing the second device communicating with the first device. Resource failure refers to the failure of the AIoT air interface resources used by the second device to communicate with the first device. In some cases, the AIoT air interface resources allocated by the network side to the second device have a valid duration. For example, this valid duration can be indicated by a resource timer, after which the AIoT air interface resources become invalid. Abnormal status of the second device can include one or more of the following: excessive load, hardware failure, etc. Low battery of the first device means that most of the first devices executing the task corresponding to a certain access round have low battery levels.
[0020] The third device can be a base station, core network element, AF module, or terminal, etc., that can instruct the second device to suspend the task.
[0021] In some cases, the first message may include a target device action, instructing the first device to perform the target device action in the first message. In this case, the target device action in the first message can be any one of actions 1 to 5 described above.
[0022] The first instruction information is used to instruct the execution of one or more target device behaviors (such as behaviors 1 to 5 mentioned above). For example, the first instruction information can be an energy-saving instruction message, which instructs the selection of one of the relatively more energy-efficient behaviors 2, 4, and 5.
[0023] In some cases, the first message may include device behavior rules that indicate the conditions that must be met to perform various target device behaviors (such as behaviors 1 to 5 above). For example, the conditional factors in the device behavior rules may include one or more of the following: estimated suspension duration, task suspension reason, first indication information, task type, first device status, etc.
[0024] For example, the first device status may include one or more of the following: power information, device capabilities, etc. The power information may include one or more of the following: power level, power percentage, remaining operating time, charging rate, etc. The device capabilities may include one or more of the following: energy storage capacity, signal transmission capacity, processing capacity, storage capacity, etc.
[0025] The first task context information is the context information of the task to be suspended. For example, the first task context information may include the number of access rounds for the task.
[0026] The access round count refers to the number of access rounds initiated for this task. In other words, it refers to the number of times the second device repeatedly paged for the same task. Generally, each paging session initiates an access round, but one access round may not be sufficient to accommodate all the first devices needing to perform the task, thus requiring multiple paging sessions. In such cases, the access round count for the task can be recorded.
[0027] Optionally, after receiving the first message sent by the second device, the first device may, without completing the current task, execute the target device behavior according to the first message to suspend the task.
[0028] In another possible implementation, the first message is used to instruct devices that meet the first condition to execute tasks during the suspend preparation phase, and to instruct devices that do not meet the first condition to execute the target device behavior. The suspend preparation phase is the phase where tasks continue to be executed before the task is suspended. In this case, the first message is used to initiate the suspend preparation phase. For example, the message type of the first message can be a paging message, a time slot end message, a PDU message from the MAC layer, a CE message from the MAC layer, a CE message from AIoT AS Layers, or an MSG2 message, etc.
[0029] Optionally, the first message may include one or more of the following: target device range, suspension preparation time, first condition, random access configuration information, target device behavior, estimated suspension time, task suspension reason, device behavior rules, first instruction information, and first task context information.
[0030] The suspension preparation time is the estimated duration of the suspension preparation phase for the second device. For example, if the AIoT air interface resources allocated to the second device by the network have a valid duration, indicated by a resource timer, and the AIoT air interface resources become invalid after the resource timer expires, then the second device can determine the remaining valid duration of the AIoT air interface resources based on the timer's count. If the remaining valid duration equals the fourth duration, the second device sends a first message to the first device, where the suspension preparation time in the first message is less than or equal to the fourth duration. The fourth duration can be preset.
[0031] For example, the condition factors in the first condition may include one or more of the following: battery information, device type, amount of data to be transmitted, amount of data cached by the device, and data transmission status. The battery information may include one or more of the following: battery level, battery percentage, remaining battery power for the duration of operation, and charging rate. The amount of data to be transmitted refers to the amount of task data the device needs to send in the current access round. The amount of data cached by the device refers to the amount of data cached by the device, such as sensor data collected by the device over a period of time. The data transmission status indicates whether the device is transmitting data in the current time slot.
[0032] For example, the first condition may include one or more of the following:
[0033] Condition 1: The battery level information is less than or equal to the first threshold.
[0034] Condition 2: The device type is the preset device type.
[0035] Condition 3: The amount of data to be transmitted by the device is less than or equal to the second threshold.
[0036] Condition 4: The amount of data cached by the device is less than or equal to the third threshold.
[0037] Condition 5: This data transmission status indicates that the device is transmitting data in the current time slot.
[0038] The first threshold can be preset. For example, if the power information is a power value, the first threshold can be a power threshold; if the power information is a power percentage, the first threshold can be a power percentage threshold; if the power information is the working time that the remaining power can sustain, the first threshold can be an estimated suspension time; if the power information is a charging rate, the first threshold can be a charging rate threshold. In this way, the second device instructs the first device to execute the task as soon as possible during the suspension preparation phase when the first device's power is insufficient.
[0039] The preset device type can be set in advance. For example, the preset device type can be a device with weak storage capacity and slow battery life. The data of the first device of this type is likely to be lost after a power failure. Therefore, the second device can instruct the first device of this type to perform a task during the suspension preparation phase to upload the data as quickly as possible.
[0040] The second threshold can be preset. If the amount of data to be transmitted by the first device is less than or equal to the second threshold, it means that the amount of data to be transmitted by the first device is small and can be sent quickly in a short time. Therefore, the second device can instruct the first device to perform a task during the suspension preparation phase to upload the data as soon as possible.
[0041] The third threshold can be preset. If the amount of data cached by the device is less than or equal to the third threshold, it indicates that the amount of data cached by the first device is small and can be sent quickly in a short time. Considering that the cached data may be lost after the first device loses power, the second device can instruct the first device to perform a task during the suspension preparation phase to upload the cached data as soon as possible.
[0042] If the data transmission status indicates that the first device is transmitting data in the current time slot, it means that the first device is performing a task in the current time slot. In this case, the second device can instruct the first device to continue to complete the task.
[0043] This random access configuration information is used by the device during the suspend preparation phase when performing random access. This random access configuration information can be used for time-domain location selection during the suspend preparation phase. For example, this random access configuration information may include a target value, which may indicate the number of time slots during the suspend preparation phase.
[0044] Optionally, after receiving the first message sent by the second device, the first device may, if it is determined that the first device meets the first condition, execute the task in the suspension preparation phase if the current task has not been completed, and if the first device has not completed the task by the end of the suspension preparation phase, execute the target device behavior according to the first message; if it is determined that the first device does not meet the first condition, execute the target device behavior according to the first message.
[0045] In some cases, the termination condition of the suspension preparation phase may be that the duration of the suspension preparation phase has reached the suspension preparation duration, or that all first devices participating in the suspension preparation phase have completed the task, or that multiple time slots indicated by the random access configuration information in the first message have ended.
[0046] In other cases, the second device can indicate the end of the suspension preparation phase via a second message. In this case, after receiving the first message from the second device, the first device can also receive the second message from the second device. The second message is used to instruct the execution of the target device behavior based on the first message. Subsequently, if the first device previously determined that it met the first condition after receiving the first message (i.e., if the first device was in the suspension preparation phase when it received the second message), then the first device can exit the suspension preparation phase if it has not completed its current task, i.e., execute the target device behavior based on the first message; if it has completed its current task, it can ignore the second message. Conversely, if the first device previously determined that it did not meet the first condition after receiving the first message (i.e., if the first device had already executed the target device behavior when it received the second message), then it can ignore the second message.
[0047] In another possible implementation, the first message is used to configure the target duration, which is used to trigger the execution of the target device behavior. The target duration is the maximum duration for which a time slot can last. If a time slot has not ended by the time it reaches the target duration, i.e., if the time slot times out, the first device can execute the target device behavior.
[0048] Optionally, the target device behavior may include one or more of behaviors 3 to 5 above, so that the first device can directly exit the current access round before the time slot expires, thereby avoiding the first device being stuck in the current time slot.
[0049] Optionally, the first message may include one or more of the following: target duration, target duration configuration rules, target device behavior, device behavior rules, etc.
[0050] If the first message includes a target duration, the first device is instructed to directly configure the target duration. Alternatively, if the first message does not include a target duration but includes a target duration configuration rule, the first device is instructed to configure the target duration according to the target duration configuration rule. Alternatively, if the first message does not include both a target duration and a target duration configuration rule, the first device may use the previous target duration or configure the target duration according to its own stored target duration configuration rules.
[0051] For example, target duration configuration rules are used to indicate the target duration for various task types.
[0052] In some cases, if the first message includes a target device behavior, the first device is instructed to perform the target device behavior before the time slot timeout expires. Alternatively, if the first message does not include a target device behavior but includes a device behavior rule, the first device is instructed to perform the target device behavior according to the device behavior rule before the time slot timeout expires. Alternatively, if the first message does not include both the target device behavior and the device behavior rule, the first device is instructed to perform the target device behavior according to its own stored device behavior rules before the time slot timeout expires.
[0053] For example, the message type of the first message can be a paging message, a time slot end message, a PDU message from the MAC layer, a CE message from the MAC layer, a CE message from AIoT AS Layers, etc.
[0054] It should be noted that since the second device sends a time slot end message at the end of each time slot, the target duration can be flexibly configured through this message. In this case, the second device can adjust the target duration promptly using the time slot end message based on different situations. For example, when the second device is about to perform a cell handover, it can appropriately increase the target duration using the time slot end message to prevent the first device from exiting the current access round, thus facilitating the continuation of tasks after the cell handover is completed.
[0055] In some cases, the target duration can be carried by the time slot end message, while other messages (such as paging messages, MAC layer PDU messages, MAC layer CE messages, or AIoT AS Layers CE messages) can carry other information, such as one or more of the target duration configuration rules, target device behavior, and device behavior rules. If the time slot end message does not carry the target duration, the first device can maintain the previously configured target duration.
[0056] Optionally, if the first device receives a third message sent by the second device, it can start the target timer, with the initial timer value being the target duration.
[0057] The third message is used to indicate the start of a new time slot. For example, the third message can be a paging message, a re-paging message, or a time slot end message. After the time slot starts, the target timer can be used to monitor whether the time slot has timed out. That is, if the target timer times out, it can be determined that the time slot has timed out.
[0058] The first device can trigger the execution of target device behavior based on a target timer. For example, if no time slot end message is received before the target timer expires, the first device executes the target device behavior; or, if the first device is performing a task in the current time slot, and a time slot end message is received before the target timer expires, the first device closes the target timer; or, if the first device is not performing a task in the current time slot, and a time slot end message is received before the target timer expires, the first device restarts the target timer to monitor whether a new time slot has expired.
[0059] It should be noted that the first device can execute its task within one time slot of the current access round. Because the amount of data transmitted in each time slot varies, the length of each time slot in an access round may also differ. For example, if two first devices select the same time slot for random access, a conflict will occur, and that time slot will end quickly with a short duration. The duration of a time slot should not be infinitely long, and the first device should not wait indefinitely for the time slot to end. Therefore, this application allows for configuring a target duration so that the first device can quickly exit the current access round in abnormal situations (such as a time slot not ending for a long time), preventing it from being trapped in the current time slot due to possible packet loss.
[0060] Based on the target duration configuration, if the second device needs to suspend the task, it can stop sending any messages to the first device, such as time slot end messages. In this case, the first device will cause the target timer to time out because it has not received any messages from the second device, thus automatically executing the target device's behavior to suspend the task.
[0061] Optionally, after the first device executes the target device action, if it does not receive the fourth message before hibernation, it stores the second task context information before hibernation.
[0062] Optionally, the second task context information includes one or more of the following: task identifier, second device identifier, access round number, time slot indication information, and suspension indication information.
[0063] The time slot indication information is used to indicate the time slot in which the first device performs the task. That is, the time slot indication information is used to indicate the specified time slot in the current access round when the first device receives the task suspension indication message, and the specified time slot is the time slot in which the first device can perform the task in the current access round.
[0064] This suspension indication information is used to indicate whether any target device behavior was executed before hibernation. This suspension indication information can be a first logical value or a second logical value. The first logical value indicates that no target device behavior was executed before hibernation, and the second logical value indicates that the target device behavior was executed before hibernation. The first logical value and the second logical value are different.
[0065] Optionally, the first device may store the second task context information in the NVM.
[0066] Optionally, after the first device performs the target device action, it may also receive a fourth message, which includes a task identifier; and perform the task according to the task identifier.
[0067] For example, the fourth message may also include a second condition, which indicates the device that needs to perform the task.
[0068] The conditions in the second condition may include one or more of the following: second device identifier, suspension indication information, access rounds, AS ID, etc.
[0069] Optionally, the second condition may include: the second device identifier stored in the first device is the same as the preset device identifier, and / or, the suspension indication information in the first device is a second logical value, and / or, the number of access rounds stored in the first device is the same as the preset number of access rounds, and / or, the first device stores an AS ID. Here, the preset device identifier can be the identifier of the second device that previously sent the task suspension indication message. The preset number of access rounds can be the number of access rounds initiated for the suspended task.
[0070] Secondly, a communication method is provided. This method can be executed by a second device, or by a component (such as a circuit, chip, or chip system) configured in the second device, or by a logic module or software capable of implementing all or part of the functions of the second device. This application does not limit the scope of this method. The following description uses a second device as an example.
[0071] In this method, the second device sends a first message to the first device, which triggers the suspension of a task initiated by the second device. In this application, by sending a first message to the first device, the second device can trigger the first device to suspend a task initiated by the second device, thus meeting the task suspension requirements in IoT scenarios.
[0072] The second device can send a first message to the first device under various circumstances. For example, the second device can send a first message to the first device according to instructions from a base station, core network element, AF module, terminal, or other device.
[0073] Alternatively, the second device can send a first message to the first device in the event of a wireless link failure.
[0074] Alternatively, the second device may send a first message to the first device when a wireless link failure is about to occur, such as when the T310 timer starts. If the T310 timer times out, the second device determines that an RLF has occurred.
[0075] Alternatively, the second device can send a first message to the first device when a cell handover is about to occur, such as when the T304 timer starts. After the T304 timer starts, the second device will perform the cell handover process.
[0076] Alternatively, the second device can send the first message to the first device when the AIoT air interface resources are about to expire.
[0077] Alternatively, the second device can send a first message to the first device when a change is imminent (such as when the second device is about to move out of the area where the first device is located).
[0078] Alternatively, the second device can send the first message to the first device when most of the first device's battery is low.
[0079] In one possible implementation, the first message is used to instruct the execution of the target device behavior, which is used to suspend the task.
[0080] Optionally, the first message may include one or more of the following: target device range, estimated suspension duration, task suspension reason, target device behavior, device behavior rules, first instruction information, and first task context information.
[0081] The target device scope is used to indicate the device that needs to perform the target device behavior. The estimated suspension time is the task suspension time estimated by the second device. The device behavior rules are used to indicate the conditions that need to be met to perform various target device behaviors. The first instruction information is used to indicate the execution of one or more target device behaviors.
[0082] In another possible implementation, the first message is used to instruct the device that meets the first condition to perform the task in the suspension preparation phase, and to instruct the device that does not meet the first condition to perform the target device behavior, the target device behavior being used to suspend the task, and the suspension preparation phase being the phase in which the task continues to be executed before the task is suspended.
[0083] Optionally, the first message may include one or more of the following: target device range, suspension preparation time, first condition, random access configuration information, target device behavior, estimated suspension time, task suspension reason, device behavior rules, first instruction information, and first task context information.
[0084] The target device scope is used to indicate the device that needs to perform the target device behavior. The random access configuration information is the configuration information used by the device when performing random access during the suspension preparation phase. The estimated suspension duration is the task suspension duration estimated by the second device. The device behavior rules are used to indicate the conditions that need to be met to perform various target device behaviors. The first indication information is used to indicate the execution of one or more target device behaviors.
[0085] Optionally, the condition factors in the first condition include one or more of the following: power information, device type, amount of data to be transmitted by the device, amount of data cached by the device, and data transmission status. The data transmission status is used to indicate whether the device is transmitting data in the current time slot.
[0086] Optionally, the first condition includes one or more of the following: the power information is less than or equal to a first threshold; the device type is a preset device type; the amount of data to be transmitted by the device is less than or equal to a second threshold; the amount of data cached by the device is less than or equal to a third threshold; and the data transmission status indicates that the device is transmitting data in the current time slot.
[0087] Optionally, after the second device sends the first message to the first device, it may also send a second message to the first device. The second message is used to instruct the target device to perform actions according to the first message.
[0088] In another possible implementation, the first message is used to configure the target duration, the target duration is used to trigger the execution of the target device behavior, and the target device behavior is used to suspend the task.
[0089] Optionally, the first message includes one or more of the following: target duration, target duration configuration rules, target device behavior, and device behavior rules. The device behavior rules are used to indicate the conditions that must be met to execute various target device behaviors.
[0090] Optionally, the target duration configuration rule is used to indicate the target duration corresponding to various task types.
[0091] Optionally, the target device range includes one or more of the following: task identifier, group identifier, and second device identifier.
[0092] Optionally, the reasons for task suspension include one or more of the following: cell handover, radio link failure, second device change, resource failure, third device indicating task suspension, and second device status abnormality.
[0093] Optionally, the conditional factors in the device behavior rules may include one or more of the following: estimated suspension duration, task suspension reason, first indication information, task type, and first device status.
[0094] Optionally, the first device status includes one or more of the following: power information and device capabilities. The power information includes one or more of the following: power value, power percentage, working time that the remaining power can sustain, and charging rate.
[0095] Optionally, the target device behavior includes one or more of the following: residing in the current access round, waiting to receive a fourth message until hibernation, the fourth message being used to resume task execution, wherein an access round is triggered by a paging message, and the number of time slots in the access round is determined according to the random access configuration information in the paging message; residing in the current access round, waiting to receive a fourth message within a first duration, and if no fourth message is received by the end of the first duration, entering hibernation; exiting the current access round, waiting to receive a fourth message until hibernation; exiting the current access round, waiting to receive a fourth message within a second duration, and if no fourth message is received by the end of the second duration, entering hibernation; exiting the current access round and entering hibernation.
[0096] Optionally, after the second device sends the first message to the first device, it may also send a fourth message to the first device. The fourth message includes a task identifier and is used to instruct the execution of a task based on the task identifier.
[0097] Optionally, the fourth message may also include a second condition, which is used to indicate the device that needs to perform the task. The condition factors in the second condition include one or more of the following: second device identifier, suspension indication information, access round number, and access identifier.
[0098] Optionally, the fourth message is a time slot end message, a paging message, or a re-paging message.
[0099] Thirdly, a communication device is provided, including a processor. The processor is coupled to a memory and can be used to execute instructions or data in the memory to implement the methods in any possible implementation of any of the above aspects. Optionally, the communication device further includes a memory.
[0100] Fourthly, a computer program product is provided, comprising: a computer program (also referred to as code or instructions) that, when run, causes a computer to perform the method in any possible implementation of any of the above aspects.
[0101] Fifthly, a computer-readable storage medium is provided that stores a computer program (also referred to as code or instructions) that, when run on a computer, causes the computer to perform the methods in any possible implementation of any of the above aspects.
[0102] Sixthly, embodiments of this application provide a chip system including one or more processors for calling and executing instructions stored in memory, causing the methods in any of the above aspects or possible implementations to be executed. The chip system may be composed of chips or may include chips and other discrete devices.
[0103] The chip system may include input circuits or interfaces for transmitting information or data, and output circuits or interfaces for receiving information or data.
[0104] In a seventh aspect, a communication system is provided, including the aforementioned first device and second device. Optionally, the communication system may further include other devices that communicate with the first device and / or the second device.
[0105] The technical effects achieved by the second to seventh aspects mentioned above are similar to those achieved by the corresponding technical means in the first aspect mentioned above, and will not be repeated here. Attached Figure Description
[0106] Figure 1 is a schematic diagram of an environmental Internet of Things (IoT) network topology provided in an embodiment of this application;
[0107] Figure 2 is a schematic diagram of a communication system provided in an embodiment of this application;
[0108] Figure 3 is a schematic diagram of the protocol layer in a first device and a second device provided in an embodiment of this application;
[0109] Figure 4 is a schematic diagram of the structure of a computer device provided in an embodiment of this application;
[0110] Figure 5 is a flowchart of a communication method provided in an embodiment of this application;
[0111] Figure 6 is a schematic diagram of an implementation process of an access round provided in an embodiment of this application;
[0112] Figure 7 is a flowchart of another communication method provided in an embodiment of this application;
[0113] Figure 8 is a flowchart of another communication method provided in an embodiment of this application;
[0114] Figure 9 is a flowchart of another communication method provided in an embodiment of this application;
[0115] Figure 10 is a flowchart of another communication method provided in an embodiment of this application;
[0116] Figure 11 is a flowchart of another communication method provided in an embodiment of this application;
[0117] Figure 12 is a flowchart of another communication method provided in an embodiment of this application;
[0118] Figure 13 is a flowchart of another communication method provided in an embodiment of this application. Detailed Implementation
[0119] In the following description, specific details such as particular system architectures and technologies are set forth for illustrative purposes and not for limiting purposes, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details.
[0120] It should be understood that, when used in this specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or collections thereof. The terms "comprising," "including," "having," and variations thereof all mean "including but not limited to," unless otherwise specifically emphasized.
[0121] It should be understood that "one or more" as mentioned in this application refers to one, two, or more, and "multiple" as mentioned in this application refers to two or more. In the description of this application, unless otherwise stated, " / " means "or," for example, A / B can mean A or B. The "and / or" in this document is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone.
[0122] To facilitate a clear description of the technical solutions of this application, the terms "first" and "second" are used to distinguish identical or similar items with essentially the same function and effect. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and that the terms "first" and "second" do not necessarily imply that they are different.
[0123] The terms "one embodiment" or "some embodiments" used in this application mean that one or more embodiments of this application include the specific features, structures, or characteristics described in that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this application do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized.
[0124] First, the ambient internet of things (AIoT) devices involved in the embodiments of this application will be described.
[0125] Environmental IoT devices refer to a new type of IoT devices that primarily harvest environmental energy from radio waves, light, motion, heat, or any other available environmental energy source and use this energy as their power source. For example, environmental IoT devices can also be called passive IoT devices. Environmental IoT devices do not require an external power supply or battery replacements, have extremely low maintenance costs, and can be widely used in fields such as smart warehousing, smart logistics, smart agriculture, industrial wireless sensor networks, smart transportation, and smart healthcare.
[0126] For example, the application scenarios of environmental IoT devices may include, but are not limited to, the following types: (1) Identification-based connections, which can be used for asset identification reporting, with typical scenarios including asset management in industries such as manufacturing and logistics. (2) Micro-sensor-based connections, which can be used for sensor data collection, with typical scenarios including wireless sensor networks in fields such as energy and power management, animal husbandry, and industrial production. (3) Low-power downlink connections, which can be used for downlink data push, with typical scenarios including electronic shelf labels (ESL) in industrial fields, supermarket retail, and office environments.
[0127] Environmental IoT, as an environment-enabling IoT technology, can be combined with cellular networks. Because environmental IoT devices are characterized by low or even zero power consumption, cellular environmental IoT can be applied to more IoT scenarios, promoting full-scenario interconnection across industries and realizing a new market worth hundreds of billions of dollars in connectivity.
[0128] Different application scenarios lead to different requirements for environmental IoT devices. Currently, considering the energy storage capacity and signal transmission capability of different devices, the following three categories of environmental IoT devices are defined:
[0129] Device Type 1: Peak power consumption is approximately 1 microwatt, with energy storage capability. The device has no internal downlink or uplink amplification. Uplink transmission relies on an externally provided carrier wave for echo scattering.
[0130] Device type 2a: Peak power consumption is approximately several hundred microwatts, with energy storage capability. The device has internal downlink and / or uplink amplification. Uplink transmission relies on an externally provided carrier wave for echo scattering.
[0131] Device type 2b: Peak power consumption is approximately several hundred microwatts, with energy storage capability. The device has internal downlink and / or uplink amplification. Uplink transmission is generated internally by the device.
[0132] It should be noted that the embodiments of this application only use the above three types of devices as examples to illustrate the types of environmental Internet of Things devices. In actual applications, there may be other different types of devices, which are not limited in this application.
[0133] In some embodiments, environmental IoT devices can report business data (also known as task data, including but not limited to asset information, sensor data, etc.) to a reader. For example, the reader can be a base station (BS) or user equipment (UE).
[0134] In some embodiments, when the environmental IoT device is a tag device, the reader (such as a base station or UE) that communicates with the environmental IoT device can also be referred to as a tag reader / writer.
[0135] In some embodiments, if the environmental IoT device collects electromagnetic wave energy, then the reader (such as a base station or UE) can act as a power supply node to provide electromagnetic wave energy to the environmental IoT device. Of course, other devices can also act as power supply nodes, and this application embodiment does not limit this.
[0136] In some embodiments, the environmental IoT network topology may include the following two:
[0137] Topology 1: As shown in Figure 1(a), environmental IoT devices can communicate with a base station. Communication between the base station and the environmental IoT devices can include data and / or signaling.
[0138] Topology 2: As shown in Figure 1(b), the environmental IoT device can communicate with an intermediate node (such as a UE). The communication between the intermediate node and the environmental IoT device can include data and / or signaling.
[0139] Alternatively, in this case, the intermediate node can communicate with the base station.
[0140] It should be noted that the embodiments of this application only use the above two topologies as examples to illustrate the networking topologies of the environmental Internet of Things. In actual applications, there may be other different topologies, which are not limited in this application.
[0141] The system architecture involved in the embodiments of this application will be described next.
[0142] For ease of description, the environmental IoT device will be referred to as the first device, and the device that communicates with the environmental IoT device (i.e., the reader, including but not limited to the base station or UE) will be referred to as the second device.
[0143] Figure 2 is a schematic diagram of a communication system provided in an embodiment of this application. Referring to Figure 2, the communication system may include a first device 201 and a second device 202. The number of first devices 201 may be one or more. Each first device 201 and the second device 202 can communicate wirelessly.
[0144] For example, the first device 201 may be a smart switch, smart door lock, smart meter, sensor-based device for monitoring machine status or environmental conditions, building automation and control equipment, asset tagging device, ESL and other environmental IoT devices, and this application embodiment does not limit this.
[0145] The second device 202 can be a base station, such as a base station (node B, NB) for a 3G cell, an evolved Node B (eNB) for a 4G cell, or a next-generation Node B (gNB) for a 5G cell.
[0146] Alternatively, the second device 202 can be a UE. The UE can be a legacy user equipment (UE) or a UE dedicated to environmental IoT services; this embodiment does not limit its scope. The UE can be a mobile terminal (MT), mobile station (MS), mobile unit (MU), wireless unit, remote unit, user agent, mobile client, etc.; this embodiment does not limit its scope. For example, the UE can be a mobile phone, tablet computer, wearable device, digital camera, in-vehicle device, augmented reality (AR) device, virtual reality (VR) device, laptop computer, ultra-mobile personal computer (UMPC), netbook, personal digital assistant (PDA), laptop computer, etc.; this embodiment does not limit its scope.
[0147] The following is a brief explanation of the protocol layers involved in the first device 201 and the second device 202:
[0148] In some embodiments, communication in the environmental Internet of Things (IoT) may introduce new protocol layers, referred to as AIoT AS Layers. AIoT AS Layers may include a medium access control (MAC) layer and a physical layer (PHY). As shown in Figure 3, the protocol layers in the first device 201 may include an AIoT Data layer, an AIoT non-access stratum (NAS), and AIoT AS Layers. The protocol layers in the second device 202 may also include AIoT AS Layers.
[0149] This application embodiment only uses the protocol layer shown in FIG3 as an example to illustrate the protocol layer involved in the first device 201 and the second device 202. Other protocol layer structures may exist in actual applications, and this application embodiment does not limit them.
[0150] Figure 4 is a schematic diagram of the structure of a computer device provided in an embodiment of this application. The computer device may be the first device 201 or the second device 202 shown in Figure 2.
[0151] Referring to Figure 4, the computer device includes at least one processor 401, a communication bus 402, a memory 403, and at least one communication interface 404.
[0152] Processor 401 may be a microprocessor (including but not limited to a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of the program of this application. Communication bus 402 may include a path for transmitting information between the aforementioned components. Memory 403 may be a read-only memory (ROM), random access memory (RAM), electrically erasable programmable read-only memory (EEPROM), optical disc (including compact disc read-only memory (CD-ROM), compressed optical disc, laser disc, digital versatile optical disc, Blu-ray disc, etc.), magnetic disk storage medium, or other magnetic storage device, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures that can be accessed by a computer, but is not limited thereto. Memory 403 may exist independently and be connected to processor 401 via communication bus 402. Memory 403 may also be integrated with processor 401. Communication interface 404 uses any transceiver-like device to communicate with other devices or communication networks, such as Ethernet, radio access network (RAN), wireless local area network (WLAN), etc.
[0153] As an example, processor 401 may include one or more CPUs, such as CPU0 and CPU1 as shown in Figure 4.
[0154] As an example, the computer device may include multiple processors, such as processor 401 and processor 405 as shown in Figure 4. Each of these processors may be a single-core processor or a multi-core processor. Here, "processor" may refer to one or more devices, circuits, and / or processing cores used to process data (such as computer program instructions).
[0155] As an example, the computer device may also include an output device 406 and an input device 407. The output device 406 communicates with the processor 401 and can display information in various ways. For example, the output device 406 may be a liquid crystal display (LCD), a light-emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector, etc., and this embodiment of the application is not limited thereto. The input device 407 communicates with the processor 401 and can receive user input in various ways. For example, the input device 407 may be a mouse, keyboard, touchscreen device, or sensing device, etc., and this embodiment of the application is not limited thereto.
[0156] The memory 403 stores program code 410 for executing the scheme of this application, and the processor 401 executes the program code 410 stored in the memory 403. This computer device can implement the communication method provided in the embodiments of this application through the processor 401 and the program code 410 in the memory 403.
[0157] The following section describes the overall access stratum (AS) process between the first and second devices.
[0158] Figure 5 is a flowchart of a communication method provided in an embodiment of this application. Referring to Figure 5, the method may include the following steps:
[0159] Step 501: The second device sends a paging message to one or more first devices.
[0160] The paging message can be a message initiated by the second device to page the first device. This paging message can instruct the first device to perform a target task. Alternatively, the paging message can also be called an AIoT paging message, trigger message, initial trigger message, query message, or other names; this application embodiment does not limit the specific name used.
[0161] Optionally, the paging message can be triggered by a target request. For example, the target request can be an inventory or a command, where the command can include one or more of the following: read, write, activate, deactivate, etc.
[0162] The target requirement may be generated based on an application scenario, environmental changes, or business processes. In some embodiments, the target requirement may be generated by the second device itself, or it may be generated by the second device based on messages received from other devices (including but not limited to base stations, core network (CN) elements, application function (AF) modules, terminals, etc.). This application embodiment does not limit this.
[0163] For example, after receiving an AIoT service request from the AF module, the second device can generate this paging message. This AIoT service request indicates the target demand; optionally, it can also indicate the first device that needs to be paged.
[0164] Target tasks are used to achieve specific goals or requirements. For example, inventory management refers to taking stock of assets, specifically all or all first-equipment devices in a specific area (such as a warehouse) that meet certain screening criteria, or determining the presence of a particular first-equipment device or group of first-equipment devices in a specific area, such as for goods inbound or outbound statistics. The target task for inventory management could be reporting identification data, device status, sensor data, etc. As another example, command management involves controlling and issuing instructions to first-equipment devices, such as reading data stored on the first-equipment device (read operation), writing data to the first-equipment device (write operation), or disabling the first-equipment device (Disable operation), allowing users to operate or adjust the settings of a specific first-equipment device. The target task for command management could be executing an operation, activating a function, or deactivating an already activated function, etc.
[0165] In some embodiments, the paging message may include a task identifier. The task identifier is the identifier (ID) of the target task. In some embodiments, the task identifier may be associated with an AIoT service request received by the second device. For example, the task identifier (Task ID) may also be called a paging ID, session ID, service ID, transaction ID, or process identifier, etc., and this application embodiment does not limit this to such specific terms.
[0166] In some embodiments, the paging message may also include one or more of the following: a second device identifier, paging device information, random access configuration information, and second indication information. This application embodiment does not limit this.
[0167] The second device identifier is the identifier of the second device that sent the paging message. The paging device information indicates the first device being paged by the paging message. The paging device information may include a group ID to indicate that all first devices in the group identified by that group ID are being paged. And / or, the paging device information may include a list of device identifiers, which may include the identifier of each of one or more first devices to indicate that one or more first devices are being paged.
[0168] The group described in this application embodiment is a set of devices. Optionally, all devices in a group may have some common attribute.
[0169] In some cases, if the paging message does not include paging device information, it indicates that the paging message is used to page all first devices that received the paging message.
[0170] This random access configuration information is the configuration information required when performing random access. Optionally, this random access configuration information can be used for time-domain location selection. As an example, this random access configuration information may include a target value, which may indicate the number of time slots to be divided; optionally, a time slot may also be referred to as an access occasion.
[0171] The target value can be a value set by the second device. Optionally, the second device can determine the target value based on the number of first devices to be paged. Generally, the more first devices there are, the larger the target value. For example, the target value can be 16, 17, etc., but this embodiment does not limit this.
[0172] In some embodiments, a paging message can initiate an access round, also known as a query round. This access round includes one or more time slots, each of which is used to perform a task. That is, one or more first devices paging the paging message can perform a task in this access round. Optionally, the number of time slots in the access round can be determined by the random access configuration information (such as a target value) included in the paging message.
[0173] The second indication information is used to indicate the access type of the first device (also known as random access (RA) type). For example, the access type of the first device may include one or more of the following: two-step contention-based random access (2-step CBRA), three-step CBRA, and contention-free random access (CFRA).
[0174] As an example, the signaling process of a 2-step CBRA may include two messages. In a 2-step CBRA scenario, after receiving a paging message from a second device, the first device can send a random access request message (such as an MSG1 message) to the second device. Optionally, this random access request message may include task data obtained by the first device after executing the target task. After receiving the random access request message from the first device, the second device can send a random access response message (such as an MSG2 message) to the first device. After receiving the random access response message from the second device, the first device determines that the random access was successful.
[0175] As an example, the signaling process of a 3-step CBRA can include three messages. In a 3-step CBRA scenario, after receiving a paging message from a second device, the first device can send a random access request message (such as an MSG1 message) to the second device. After receiving the random access request message from the first device, the second device can send a random access response message (such as an MSG2 message) to the first device. After receiving the random access response message from the second device, the first device can send a message carrying task data (such as an MSG3 message) to the second device and confirm that the random access was successful.
[0176] As an example, the signaling process of CFRA may include two messages. In a CFRA scenario, after receiving a paging message from a second device, the first device can send a random access request message (such as an MSG1 message) to the second device. Optionally, this random access request message may include task data. After receiving the random access request message from the first device, the second device can send a random access response message (such as an MSG2 message) to the first device. After receiving the random access response message from the second device, the first device determines that the random access was successful.
[0177] It should be noted that the embodiments of this application only use the above three access types as examples to illustrate the access types of the first device. In actual applications, there may be other different access types, which are not limited in this application embodiment.
[0178] For example, a second device may send a paging message to one or more first devices within its signal coverage area.
[0179] Step 502: After receiving the paging message sent by the second device, the first device starts a new access round and performs a random access procedure in the current access round.
[0180] In some embodiments, for any first device, if the paging message does not include any paging device information, step 502 may be performed.
[0181] If the paging message includes paging device information, and the group identified by the group identifier in the paging device information is the group to which the first device belongs, or the list of device identifiers in the paging device information includes the identifier of the first device, then the first device may execute step 502. If the group identified by the group identifier in the paging device information in the paging message is not the group to which the first device belongs, and the list of device identifiers in the paging device information does not include the identifier of the first device, then the paging message may be ignored, such as being discarded.
[0182] Optionally, if the paging message includes second indication information, the first device may perform a random access procedure based on the access type indicated by the second indication information.
[0183] Alternatively, if the paging message does not include the second indication information, the first device may perform a random access procedure according to a preset access type. The preset access type may be set in advance, such as one of 2-step CBRA, 3-step CBRA, or CFRA.
[0184] Alternatively, if the paging message does not include the second indication information, the first device may select an access type based on the task type of the target task identified by the task identifier in the paging message, and perform a random access process based on the access type. In this case, the access type corresponding to each task type can be preset, and the access types corresponding to different task types can be the same or different.
[0185] Alternatively, if the paging message does not include the second indication information, the first device can select an access type based on the second device identifier in the paging message and perform a random access process based on the access type. In this case, the access type corresponding to each second device can be preset, and the access types corresponding to different second devices can be the same or different.
[0186] Optionally, the first device may perform a random access procedure in a specified time slot within the current access round. The specified time slot is the time slot in which the first device can perform uplink transmission.
[0187] In the embodiments of this application, uplink transmission refers to transmission from the first device to the second device, and downlink transmission refers to transmission from the second device to the first device. For example, during uplink transmission, the data sent from the first device to the second device can be referred to as D2R (Device to Reader) data, and during downlink transmission, the data sent from the second device to the first device can be referred to as R2D (Reader to Device) data.
[0188] The first device can execute the target task identified by the task identifier in the paging message during a specified time slot to obtain task data. In this case, the first device can not only perform a random access procedure during the specified time slot, but also send the task data to the second device. Optionally, the first device can send part or all of the task data to the second device in the signaling (such as MSG1 message, MSG3 message, etc.) during the random access procedure, and / or, the first device can send part or all of the task data to the second device after successful random access.
[0189] In some embodiments, if the paging message includes random access configuration information (assuming it is a target value), the first device can determine a random number range based on the target value, generate a first random number within the random number range, and determine a specified time slot based on the first random number.
[0190] The target value in the paging message can indicate the number of time slots required for an access round. For example, the number of time slots could be 2. Q Q is the target value. For example, the range of this random number can be [0, 2]. Q -1]. Of course, the range of random numbers can also be a range determined by other means based on the target value, and this application embodiment does not limit this.
[0191] The first random number can be a binary random number. In some embodiments, the first device can load the binary random number into its own time slot counter, and then decrement the count value of the time slot counter. Uplink transmission can be performed when the count value of the time slot counter is 0.
[0192] As an example, the second device can indicate the end of a time slot and the start of the next time slot via a time slot end message. This time slot end message can be an R2D message used to identify the end of a time slot. Optionally, this time slot end message can also be called a QueryRep message or other names; this embodiment of the application does not limit this.
[0193] Thus, the interval between the second device sending the paging message and the time slot end message is considered as one time slot, and the interval between the second device sending two time slot end messages is considered as one time slot. In this case, the designated time slot is the Mth time slot after the first device receives the paging message, where M is a first random number. For example, in this embodiment of the application, the time slots in the access rounds are numbered starting from 0.
[0194] In this scenario, after starting a new access round, the first device can determine the start of the 0th time slot in the current access round. After loading a first random number into its time slot counter, if the first device determines the counter value is 0, it can perform uplink transmission in the current time slot. For example, it can perform a random access procedure, execute a target task to obtain task data, and send that task data to the second device. If the counter value is not 0, it waits to receive a time slot end message from the second device. Subsequently, if the first device receives the time slot end message from the second device, it can determine the start of a new time slot. If the time slot counter value is 0, it can determine that it has completed the target task. If the counter value is not 0, it can decrement the counter value by 1. If the counter value is 0, it can perform uplink transmission in the current time slot. If the counter value is still not 0, it continues to wait to receive a time slot end message from the second device.
[0195] Step 503: The first device transmits data with the second device in the current access round.
[0196] As described above, the first device can send task data obtained from executing the target task to the second device in a specified time slot.
[0197] In some cases, after receiving the task data, the second device may still have other operations that the first device needs to perform. In this case, the second device can send a message to the first device in a designated time slot to instruct it to perform the operation. After receiving the message from the second device, the first device can perform the corresponding operation to obtain the operation result and send a response message containing the operation result to the second device in a designated time slot. After receiving the response message from the first device, if the second device determines that there are no more operations that the first device needs to perform, it can send a time slot end message to the first device.
[0198] For example, after receiving the task data, the second device can send a command message to the first device in a specified time slot. The command message includes commands to instruct the execution of certain operations. After receiving the command message sent by the second device, the first device executes the operations indicated by the commands included in the command message, obtains the operation results, and sends a response message including the operation results to the second device in the specified time slot.
[0199] For ease of understanding, the following example, using the second device sending paging messages to first devices 1, 2, and 3, and referring to Figure 6, illustrates the overall implementation process of the access rounds. Understandably, the basic principle also applies to scenarios where the second device sends paging messages to other numbers of first devices.
[0200] Figure 6 is a schematic diagram of an implementation process of an access round provided in an embodiment of this application.
[0201] Referring to Figure 6, the second device determines that all first devices in a certain group need to perform the target task. Assume this group includes first device 1, first device 2, and first device 3, and that the target task is inventory management, i.e., the first devices report their device IDs. The second device can set a target value based on the number of first devices to be paged (i.e., 3). Here, we assume the second device sets the target value to 2, then the number of time slots is 2. 2 =4. Then, the second device generates a paging message, which includes a task identifier, a group identifier, and a target value. The second device sends this paging message to the first device 1, the first device 2, and the first device 3.
[0202] After receiving the paging message, device 1 determines that it belongs to the group identified by the group identifier in the paging message. It then begins a new access round, determining the 0th time slot of the current access round. Based on the target value, it determines the random number range as [0, 3] and generates a first random number within this range. Assuming the first random number generated by device 1 is 0, device 1 sets the time slot counter to 0, allowing it to perform uplink transmission in the current time slot. Similarly, after receiving the paging message, device 2 determines that it belongs to the group identified by the group identifier in the paging message. It then begins a new access round, determining the 0th time slot of the current access round. Based on the target value, it determines the random number range as [0, 3] and generates a first random number within this range. Assuming the first random number generated by device 2 is 2, device 2 sets the time slot counter to 2, allowing it to wait for the time slot end message sent by device 2. After receiving the paging message, the first device 3 determines that it belongs to the group identified by the group identifier in the paging message, and then starts a new access round. It determines that the 0th time slot in the current access round begins, and then determines the random number range [0, 3] based on the target value, and generates a first random number within the random number range. Assuming that the first random number generated by the first device 3 is 2, the first device 3 sets the count value of the time slot counter to 2, and then the first device 3 can wait for the time slot end message sent by the second device.
[0203] For example, the first device may send an MSG1 message to the second device in the current time slot. Optionally, the MSG1 message may include a second random number generated by the first device. For example, the second random number may be a 16-bit random number (RN), i.e., RN16. Optionally, the second random number may be the same as or different from the first random number.
[0204] After receiving the MSG1 message sent by the first device 1, the second device sends an MSG2 message to the first device 1. Optionally, the MSG2 message can be an acknowledgment (ACK) message, which includes a second random number (such as RN16) from the MSG1 message to acknowledge the MSG1 message. Optionally, the MSG2 message can include an access identifier (AS ID) assigned by the second device to the first device 1, which indicates that the first device 1 has successfully performed random access.
[0205] After receiving the MSG2 message from the second device, if the first device 1 determines that the second random number in the MSG2 message is the same as the second random number in the previously sent MSG1 message, it sends an MSG3 message to the second device and confirms successful random access. The MSG3 message may include the Device ID and / or AIoT data (such as AIoT service response) of the first device 1. Optionally, the first device 1 may also store the access identifier in the MSG2 message.
[0206] After receiving the MSG3 message sent by the first device 1, the second device sends a time slot end message 0 to the first device 1, the first device 2, and the first device 3 to indicate the end of the current time slot. Optionally, after receiving the MSG3 message sent by the first device 1, the second device may also conduct multiple rounds of R2D and / or D2R message transmissions with the first device 1 until the second device determines that there are no more operations that the first device 1 needs to perform, and then sends a time slot end message 0 to the first device 1, the first device 2, and the first device 3 to indicate the end of the current time slot.
[0207] After receiving the time slot end message 0, device 1 can determine that it has completed its target task and that a new time slot has begun. Since the time slot counter value is 0 when device 1 receives the time slot end message 1, device 1 can exit the current access round and remain silent in subsequent time slots. After receiving the time slot end message 0, device 2 can determine that a new time slot has begun, decrement the time slot counter value by 1, and continue to wait for the time slot end message sent by device 2. After receiving the time slot end message 0, device 3 can determine that a new time slot has begun, decrement the time slot counter value by 1, and continue to wait for the time slot end message sent by device 2.
[0208] If the second device does not receive the message sent by the first device within the current time slot, it can send a time slot end message 1 to the first device 1, the first device 2, and the first device 3 to indicate that the current time slot has ended.
[0209] After receiving the time slot end message 1, device 1 determines that a new time slot has begun and remains silent. After receiving the time slot end message 1, device 2 determines that a new time slot has begun and decrements the time slot counter by 1, bringing the counter value to 0. Device 2 then determines that uplink transmission can proceed in the current time slot and sends an MSG1 message to device 2 in the current time slot. This MSG1 message may include a second random number (such as RN16) generated by device 2. After receiving the time slot end message 1, device 3 determines that a new time slot has begun and decrements the time slot counter by 1, bringing the counter value to 0. Device 3 determines that uplink transmission can proceed in the current time slot and sends an MSG1 message to device 2 in the current time slot. This MSG1 message may include a second random number (such as RN16) generated by device 3.
[0210] After receiving MSG1 messages from both first device 2 and first device 3 in the current time slot, the second device can determine that a collision has occurred because the second random number in the MSG1 message sent by first device 2 is the same as the second random number in the MSG1 message sent by first device 3. In this case, the second device does not acknowledge the MSG1 messages sent by first device 2 and first device 3, but instead directly sends a time slot end message 2 to end the current time slot.
[0211] After receiving the time slot end message 2, device 1 determines that a new time slot has started and remains silent. Device 2, receiving the time slot end message 2 without receiving an acknowledgment message for the sent MSG1 message, determines that the random access has failed and determines that a new time slot has started. Device 3, receiving the time slot end message 2 without receiving an acknowledgment message for the sent MSG1 message, determines that the random access has failed and determines that a new time slot has started.
[0212] If the second device does not receive a message from the first device within the current time slot, it can send a time slot end message 3 to the first device 1, the first device 2, and the first device 3 to indicate the end of the current time slot. Since the current access round includes a total of 4 time slots, the second device can determine that the current access round has ended after sending the time slot end message 3. In this access round, random access in time slot 0 was successful, time slot 1 was idle, time slot 2 experienced a collision, and time slot 3 was idle.
[0213] It should be noted that the embodiments of this application are only illustrative of the implementation process of access rounds by taking the process described in the embodiment of Figure 6 above as an example. The process described in the embodiment of Figure 6 above does not constitute a limitation on the embodiments of this application. In actual applications, access rounds can also be implemented in other ways, and the process may be partially or completely different from the process described in the embodiment of Figure 6 above.
[0214] In some scenarios, it may be necessary to suspend (or interrupt) a task. The following are examples illustrating several scenarios where task suspension might occur:
[0215] 1. Resource failure
[0216] Assume the second device is a UE. Communication between the UE and the first device requires dedicated AIoT air interface resources, which are typically controlled by the network side (i.e., the base station), meaning they are allocated and managed by the network. In this case, if the communication connection between the UE and the network side is lost, such as due to cell handover or radio link failure (RLF), the previously allocated AIoT air interface resources may become invalid. For example, in some cases, the AIoT air interface resources configured for the UE are only valid in the serving cell where those resources are configured. If the UE undergoes cell handover due to mobility, the previous AIoT air interface resources will be unavailable in the new cell. If they are still used, they may conflict with and interfere with ongoing AIoT services in the current cell. For ease of description, the communication connection between the UE and the network side will be referred to as a network (NW) connection.
[0217] Considering the potential resource failure issue that may occur when the NW connection is lost, the UE can temporarily suspend ongoing tasks that have not yet ended during the period between losing and restoring the NW connection, until the NW connection is restored and available resources are available again, at which point the previous tasks can continue.
[0218] 2. Second equipment change
[0219] Assume the second device is a UE. If the UE moves out of the area where the first device is located, the UE will not be able to receive a response from the first device due to the distance. In this case, the network side detects the change in the UE's location and can notify the UE to suspend any ongoing tasks until the UE moves back to the area where the first device is located or until a new UE is selected before resuming the previous tasks.
[0220] 3. The first device has low battery.
[0221] When the second device detects that most of the first devices participating in a task have low battery levels and are insufficient to support the completion of the entire process, the second device can choose to temporarily suspend the task to avoid not receiving a response from the first devices, which could lead to poor task completion.
[0222] 4. AF module indication
[0223] The AF module can instruct a second device to suspend a task.
[0224] Of course, the scenarios are not limited to those mentioned above. In practical applications, the second device may also suspend tasks in other scenarios, and this application embodiment does not limit this.
[0225] The process of suspending the task on the second device will be illustrated below with reference to Figures 7 to 13.
[0226] Figure 7 is a flowchart of a communication method provided in an embodiment of this application. Referring to Figure 7, the method may include the following steps:
[0227] Step 701: The second device sends a task suspend indication message to one or more first devices.
[0228] This task suspension indication message is used to instruct the task to be suspended. For example, this task suspension indication message is used to instruct the target device to perform a behavior that suspends the task.
[0229] The second device can send a task suspension instruction message to the first device under various circumstances.
[0230] For example, the second device may send a task suspension instruction message to the first device based on instructions from the base station, core network element, AF module, terminal or other device.
[0231] Alternatively, the second device may send a task suspension indication message to the first device when an RLF occurs.
[0232] Alternatively, the second device may send a task suspension indication message to the first device when an RLF is about to occur, such as when the T310 timer starts. If the T310 timer times out, the second device determines that an RLF has occurred.
[0233] Alternatively, the second device can send a task suspension indication message to the first device when a cell handover is about to occur, such as when the T304 timer starts. After the T304 timer starts, the second device will perform the cell handover process.
[0234] Alternatively, the second device can send a task suspension indication message to the first device when the AIoT air interface resources are about to expire.
[0235] Alternatively, the second device can send a task suspension instruction message to the first device when a change of the second device is imminent (such as when it is about to move out of the area where the first device is located).
[0236] Alternatively, the second device may send a task suspension indication message to the first device when most of the first device's battery is low.
[0237] For example, the message type of the task suspension indication message can be a paging message, a time slot end message, a protocol data unit (PDU) message from the MAC layer, a control element (CE) message from the MAC layer, a CE message from AIoT AS Layers, or an MSG2 message, etc.
[0238] It should be noted that if the message type of the task suspension indication message is MSG2, then the second device sends the task suspension indication message to the first device that is executing the task in the current time slot, so as to instruct the first device to perform the target device behavior and suspend the task being executed.
[0239] For example, the target device behavior may include one or more of the following:
[0240] Behavior 1: Remain in the current access round, wait to receive the fourth message until hibernation (e.g., hibernation due to low battery). The fourth message is used to resume task execution.
[0241] Behavior 2: Remain in the current access round and wait to receive the fourth message within the first duration. If the fourth message is not received by the end of the first duration, enter sleep mode.
[0242] Action 3: Exit the current access round and wait to receive the fourth message until hibernation (e.g., hibernation due to low battery).
[0243] Action 4: Exit the current access round and wait to receive the fourth message within the second time period. If the fourth message is not received by the end of the second time period, it will enter a sleep state.
[0244] Action 5: Exit the current access round and enter hibernation.
[0245] Of course, it is not limited to this; the target device behavior can be other behaviors, as long as it can achieve the purpose of suspending the task.
[0246] For example, "the first device remains in the current access round" means that the first device maintains the count value of the timeslot counter for the current access round. In this case, after receiving the fourth message, the first device can continue the task flow based on the count value of the timeslot counter.
[0247] For example, "the first device exits the current access round" means that the first device clears the count value of the timeslot counter for the current access round. In this case, after receiving the fourth message, the first device can reset the count value of the timeslot counter and continue the task flow accordingly.
[0248] In some embodiments, in action 2, if no fourth message is received until the end of the first duration, the system can directly enter hibernation, or it can enter hibernation if there are no other tasks besides the task to be suspended, and if there are other tasks besides the task to be suspended, the system can temporarily not enter hibernation until the other task is completed before entering hibernation.
[0249] In some embodiments, in action 4, if no fourth message is received until the end of the second duration, the system can directly enter hibernation, or it can enter hibernation if there are no other tasks besides the task to be suspended, and if there are other tasks besides the task to be suspended, the system can temporarily not enter hibernation until the other task is completed before entering hibernation.
[0250] In some embodiments, in behavior 5, after exiting the current access round, the user can directly enter hibernation, or enter hibernation if there are no other tasks besides the task to be suspended, and temporarily not enter hibernation if there are other tasks besides the task to be suspended, and enter hibernation after completing the other tasks.
[0251] Optionally, the fourth message can be a paging message, a re-paging message, or a time slot end message. Of course, it is not limited to these; the fourth message can also be other messages that can resume task execution. This application embodiment does not limit this.
[0252] Both the first duration and the second duration can be preset, and the first duration and the second duration can be the same or different.
[0253] In some embodiments, the task suspension indication message may include one or more of the following: object range, estimated suspend duration, suspend cause, target device behavior, action rule, first indication information, and first task context information.
[0254] The target device range in the task suspension instruction message indicates the device from which the target device action needs to be performed. The target device range may include one or more of the following: task identifier, group identifier, secondary device identifier (such as Reader ID), or other filtering criteria.
[0255] For example, if the target device scope includes only a task identifier, then the first device executing the task identified by that task identifier needs to perform the target device action to suspend the task. If the target device scope includes only a group identifier, then the first device in the group identified by that group identifier needs to perform the target device action to suspend the task executed by that group. If the target device scope includes only a second device identifier, then the first device executing the task initiated by the second device identified by that second device identifier needs to perform the target device action to suspend the task initiated by that second device. If the target device scope includes both a task identifier and a group identifier, then the first device in the group identified by that group identifier executing the task identified by that task identifier needs to perform the target device action to suspend the task executed by that group. If the target device scope includes both a task identifier and a second device identifier, then the first device executing the task identified by that task identifier initiated by the second device identified by that second device identifier needs to perform the target device action to suspend the task initiated by that second device. If the target device scope includes a group identifier and a second device identifier, then all first devices in the group identified by the group identifier that execute tasks initiated by the second device identified by the second device identifier need to execute the target device behavior to suspend the tasks initiated by the second device and executed by the group. If the target device scope includes a task identifier, a group identifier, and a second device identifier, then all first devices in the group identified by the group identifier that execute tasks initiated by the second device identified by the second device identifier and executed by the group need to execute the target device behavior to suspend the task initiated by the second device and executed by the group.
[0256] It should be noted that if the task suspension instruction message does not include the target device range, then the task suspension instruction message is used to instruct all first devices that receive the task suspension instruction message to perform the target device behavior.
[0257] The estimated suspension duration is the estimated task suspension duration of the second device, that is, the duration of the task suspension phase.
[0258] The reason for task suspension refers to the cause that triggers the task suspension. For example, the reason for task suspension may include one or more of the following: cell handover, RLF occurrence, second device change (such as Reader replacement), resource failure, third device indicating task suspension (such as suspend indicated by AF), second device abnormal status, and low battery of the first device.
[0259] The second device change refers to the change of the second device that communicates with the first device.
[0260] Resource failure refers to the failure of the AIoT air interface resources used by the second device to communicate with the first device. In some cases, the AIoT air interface resources allocated by the network side to the second device have a valid duration. For example, this valid duration can be indicated by a validity timer. After the validity timer expires, the AIoT air interface resources become invalid.
[0261] The third device can be a base station, core network element, AF module, or terminal, etc., that can instruct the second device to suspend the task.
[0262] The second abnormal device status may include one or more of the following: overload, hardware failure, etc.
[0263] Low battery level of the first device means that most of the first devices executing the task corresponding to a certain access round have low battery levels.
[0264] For example, if the second device is a UE, the possible reasons for task suspension may include one or more of the following: cell handover, RLF occurrence, second device change, resource failure, third device indicating task suspension, and low battery of the first device.
[0265] For example, if the second device is a base station, possible reasons for task suspension may include one or more of the following: excessive load, hardware failure, third device indicating task suspension, low battery of the first device, etc.
[0266] In some embodiments, the task suspension indication message may include a target device behavior to instruct the first device to perform the target device behavior in the task suspension indication message. In this case, the target device behavior in the task suspension indication message may be any one of behavior 1 to behavior 5 described above.
[0267] The first indication information is used to instruct the execution of one or more target device behaviors (such as behaviors 1 to 5 described above). For example, the first indication information can be an energy saving indication message, which indicates that one of the relatively more energy-efficient behaviors 2, 4, and 5 can be selected. Of course, it is not limited to this, and the first indication information can also be other indication information, which is not limited in this embodiment.
[0268] In some embodiments, the task suspension indication message may include device behavior rules, which are used to indicate the conditions that must be met to perform various target device behaviors (such as behaviors 1 to 5 above).
[0269] For example, the conditional factors in the device behavior rule may include one or more of the following: estimated suspension duration, task suspension reason, first indication information, task type, and first device status. The first device status may include one or more of the following: battery information and device capabilities. Battery information may include one or more of the following: battery level, battery percentage, remaining battery power for the duration of operation, and charging rate. Device capabilities may include one or more of the following: energy storage capacity, signal transmission capacity, processing capacity, and storage capacity.
[0270] For example, the device behavior rule can instruct the execution of behavior 1 or behavior 3 above when the battery level is greater than or equal to a battery threshold, and / or when the battery percentage is higher than or equal to a battery percentage threshold, and / or when the remaining battery power can sustain operation for a duration greater than or equal to the estimated suspension duration, and / or when the charging rate is higher than or equal to a charging rate threshold. In this way, the first device is instructed to wait continuously when it has sufficient battery power so that the task can be quickly resumed later. Optionally, considering that different device types may have different battery capacities, the embodiments of this application can determine the corresponding battery threshold based on the device type of the first device.
[0271] And / or, the device behavior rule may instruct the execution of the aforementioned behavior 5 when the battery level is less than a battery threshold, and / or, when the battery percentage is less than a battery percentage threshold, and / or, when the remaining battery power can sustain operation for less than the estimated suspension time, and / or, when the charging rate is less than a charging rate threshold. Thus, when the first device's battery is low, it is instructed to select the more energy-efficient behavior 5.
[0272] And / or, the device behavior rule may instruct that one of the above behaviors 2, 4, and 5 be performed if the task suspension instruction message includes energy-saving instruction information. Behaviors 2, 4, and 5 are relatively more energy-efficient behaviors.
[0273] And / or, the device behavior rule can instruct the execution of one of the above behaviors 1 and 2 when the task is suspended due to cell handover. Since the cell handover process is generally short, the first device can be instructed to execute behavior 1 or behavior 2 so that the first device can remain in the current access round, facilitating the second device to quickly resume the previous task flow after the cell handover is completed.
[0274] And / or, the device behavior rule may include a mapping between task types and target device behaviors. This mapping may include multiple task types and the target device behavior corresponding to each task type. The first device can execute the corresponding target device behavior based on the task type of the task to be suspended.
[0275] The first task context information is the context information of the task to be suspended. For example, the first task context information may include the number of access rounds for that task. The number of access rounds refers to the number of access rounds initiated for that task. That is, the number of times the second device repeatedly paged for the same task. Generally, each paging session initiates an access round, but one access round may not be sufficient to accommodate all the first devices that need to execute the task, thus requiring multiple paging sessions. In this case, the number of access rounds for the task can be recorded.
[0276] Step 702: After receiving the task suspension instruction message sent by the second device, the first device executes the target device behavior according to the task suspension instruction message without completing the current task.
[0277] In some embodiments, step 702 may include the following steps (1) to (3):
[0278] (1) After receiving the task suspension instruction message sent by the second device, the first device determines the task to be suspended.
[0279] In some embodiments, if the task suspension indication message does not include a target device range, the first device can determine that the task corresponding to the current access round initiated by the second device is the task to be suspended. If the task suspension indication message includes a target device range, the first device can determine the task to be suspended based on the target device range.
[0280] For example, if the target device range only includes a task identifier, the first device can determine that the task identified by the task identifier is the task to be suspended.
[0281] If the target device range only includes group identifiers, the first device can determine whether it belongs to the group identified by the group identifier; if the first device determines that it does not belong to the group, it can ignore the task suspension indication message; if the first device determines that it belongs to the group, it can determine the task corresponding to the current access round initiated by the second device as the task to be suspended.
[0282] If the target device range only includes the second device identifier, then the first device can determine the task corresponding to the current access round initiated by the second device identified by the second device identifier as the task to be suspended.
[0283] If the target device range includes a task identifier and a group identifier, the first device can determine whether it belongs to the group identified by the group identifier; if the first device determines that it does not belong to the group, it can ignore the task suspension instruction message; if the first device determines that it belongs to the group, it can determine the task identified by the task identifier as the task to be suspended.
[0284] If the target device range includes a task identifier and a second device identifier, then the first device can identify the task identified by the task identifier initiated by the second device identified by the second device identifier as the task to be suspended.
[0285] If the target device range includes a group identifier and a second device identifier, the first device can determine whether it belongs to the group identified by the group identifier. If the first device determines that it does not belong to the group, it can ignore the task suspension instruction message. If the first device determines that it belongs to the group, it can determine the task corresponding to the current access round initiated by the second device identified by the second device identifier as the task to be suspended.
[0286] If the target device range includes a task identifier, a group identifier, and a second device identifier, the first device can determine whether it belongs to the group identified by the group identifier. If the first device determines that it does not belong to the group, it can ignore the task suspension instruction message. If the first device determines that it belongs to the group, it can determine the task identified by the task identifier initiated by the second device identified by the second device identifier as the task to be suspended.
[0287] The task to be suspended as determined in step (1) above is the current task, which is the target task to be executed in the current access round.
[0288] (2) The first device determines whether the task has been completed.
[0289] If the first device has already completed the task, then ignore the task suspension indication message.
[0290] (3) If the first device has not completed the task, the target device behavior is executed according to the task suspension instruction message to suspend the task.
[0291] In some embodiments, if the task suspension indication message includes a target device behavior, the first device may execute the target device behavior in the task suspension indication message. If the task suspension indication message does not include a target device behavior but includes device behavior rules, the first device may determine the target device behavior to be executed based on the device behavior rules in the task suspension indication message, and then execute the target device behavior.
[0292] If the task suspension instruction message does not include the target device behavior and device behavior rules, the first device can determine the target device behavior to be executed based on its own stored device behavior rules, and then execute the target device behavior.
[0293] In some embodiments, if the first device does not receive a fourth message before hibernation after performing the target device behavior, it may store the second service context information before hibernation.
[0294] The second task context information is the context information of the task suspended by the first device through executing the target device's behavior. The second task context information may include one or more of the following: task identifier, second device identifier, access round count, timeslot indication information, suspension indication information, etc.
[0295] The access round count refers to the number of access rounds initiated for the suspended task. The timeslot indication information is used to indicate the timeslot in which the first device executes the task. That is, the timeslot indication information indicates the specified timeslot in the current access round corresponding to the first device when it receives the task suspension indication message; this specified timeslot is the timeslot in which the first device can execute the task in the current access round. For example, the timeslot indication information may include the count value of the first device's timeslot counter when it receives the task suspension indication message. This timeslot indication information can reflect the suspension position of the task.
[0296] This suspension indication information is used to indicate whether any target device behavior was executed before hibernation. This suspension indication information can be a first logical value or a second logical value. The first logical value indicates that no target device behavior was executed before hibernation, and the second logical value indicates that the target device behavior was executed before hibernation. The first logical value and the second logical value are different.
[0297] For example, assuming the suspend indication information is 1 bit, a suspend indication information of 0 indicates that no target device action was performed before hibernation, and a suspend indication information of 1 indicates that the target device action was performed before hibernation. The suspend indication information can default to 0. If the first device determines before hibernation that it has performed the target device action and has not received the corresponding fourth message, it can set the suspend indication information to 1; if the first device determines before hibernation that it has not performed the target device action, or if it determines that it has performed the target device action but has received the corresponding fourth message, it can keep the suspend indication information at 0.
[0298] In some embodiments, the first device may store the second task context information in non-volatile memory (NVM). For example, NVM may be a disk storage device, a flash memory device, universal flash storage (UFS), etc., and this application embodiment is not limited to this. NVM can retain data even in the event of power failure or loss of power.
[0299] To facilitate understanding, the above task suspension process will be illustrated below with reference to Figure 8:
[0300] Figure 8 is a flowchart of a communication method provided in an embodiment of this application. Referring to Figure 8, the method may include the following steps:
[0301] Step 801: The second device sends a paging message to the first device 1 and the first device 2.
[0302] Step 802: After receiving the paging message, the first device 1 and the first device 2 start a new access round and determine that the 0th time slot in the current access round begins.
[0303] Step 803: The first device 1 sends an MSG1 message to the second device in the 0th time slot.
[0304] Step 804: After receiving the MSG1 message sent by the first device 1, the second device sends an MSG2 message to the first device 1.
[0305] Step 805: After receiving the MSG2 message sent by the second device, the first device 1 sends an MSG3 message containing task data to the second device.
[0306] Step 806: After receiving the MSG3 message sent by the first device 1, the second device sends a time slot end message to both the first device 1 and the first device 2.
[0307] Step 807: After receiving the time slot end message sent by the second device, the first device 1 and the first device 2 determine the start of the first time slot in the current access round.
[0308] Step 808: The first device 2 sends an MSG1 message to the second device in the first time slot.
[0309] Step 809: After receiving the MSG1 message sent by the first device 2, the second device receives the suspension instruction sent by the third device.
[0310] Step 810: The second device sends a task suspension instruction message to the first device 1 and the first device 2 to instruct the first device 1 and the first device 2 to suspend the task corresponding to the current access round.
[0311] It should be noted that after suspending the task through steps 701 to 702 above, the second device can send a fourth message to the first device to continue the task when it needs to resume task execution. This will be explained below:
[0312] Step 703: The second device sends a fourth message to one or more first devices.
[0313] It should be noted that the second device that sends the task suspension indication message and the second device that sends the fourth message may be the same device or different devices. This application embodiment does not limit this.
[0314] For example, suppose a second device sends a task suspension indication message due to cell handover. Then, after the cell handover is completed, the second device can send a fourth message to resume task execution.
[0315] For example, suppose a second device sends a task suspension indication message due to an RLF (Recurrent Leak) event. After successfully accessing the cell, the second device can send a fourth message to resume task execution.
[0316] For example, suppose a task suspension indication message is sent by a second device due to a change in the second device. Then, after a new second device is selected on the network side, the new second device can send a fourth message to resume task execution.
[0317] For example, suppose a second device sends a task suspension indication message due to resource failure. Then, the second device can send a fourth message to resume task execution after regaining available AIoT air interface resources.
[0318] For example, suppose a second device sends a task suspension indication message because a third device indicates that the task is suspended. Then the second device can send a fourth message to resume task execution when the third device indicates that the task is resumed.
[0319] For example, suppose a second device sends a task suspension indication message because of an abnormal state of the second device. Then the second device can send a fourth message to resume task execution after its own state returns to normal.
[0320] For example, suppose a second device sends a task suspension indication message because the first device has low battery. Then, the second device can send a fourth message to resume task execution after detecting that most of the first devices with suspended tasks have high battery levels.
[0321] In some embodiments, the message type of the fourth message sent by the second device depends on the target device behavior previously performed by the first device. For example, if the target device behavior previously performed by the first device is behavior 1 as described above, the second device may send a fourth message of type slot end to the first device to continue the previous access round if the time difference between the time of sending the task suspension indication message and the time when the fourth message needs to be sent is less than the third time difference; if the time difference between the time of sending the task suspension indication message and the time when the fourth message needs to be sent is greater than or equal to the third time difference, the second device may send a fourth message of type paging message or re-paging message to the first device to wake up the hibernating first device and enable the first device to resume task execution. The third time difference can be preset and can be the waiting time of the first device after the task is suspended, as estimated by the second device.
[0322] Alternatively, if the target device behavior previously executed by the first device was behavior 2 as described above, the second device may send a fourth message of type time slot end message to the first device to continue the previous access round if the time difference between the time of sending the task suspension indication message and the time when the fourth message needs to be sent is less than the first time difference; if the time difference between the time of sending the task suspension indication message and the time when the fourth message needs to be sent is greater than or equal to the first time difference, the second device may send a fourth message of type paging message or re-paging message to the first device to wake up the hibernating first device and enable the first device to resume task execution.
[0323] For example, if the target device behavior previously executed by the first device was behavior 3, behavior 4 or behavior 5, the second device can send a fourth message of the message type paging message or re-paging message to the first device to start a new access round and enable the first device to resume task execution.
[0324] For example, the fourth message may include a task identifier. Additionally, the fourth message may include a second condition (also known as a device filtering criterion), which indicates the device to perform the task.
[0325] The second condition may include one or more of the following: second device identifier, suspension indication information, access round count, AS ID, etc. The second condition may include: the second device identifier stored in the first device is the same as the preset device identifier; and / or, the suspension indication information in the first device is a second logical value; and / or, the access round count stored in the first device is the same as the preset access round count; and / or, the first device stores an AS ID. The preset device identifier can be the identifier of the second device that previously sent the task suspension indication message. The preset access round count can be the number of access rounds initiated for the suspended task.
[0326] For example, a fourth message of type slot end message may include a task identifier. Alternatively, a fourth message of type paging message or re-paging message may include a task identifier and a second condition.
[0327] Step 704: After receiving the fourth message sent by the second device, the first device executes the task according to the task identifier in the fourth message.
[0328] For example, if the fourth message is a time slot end message, the first device can ignore the fourth message if the task identifier in the fourth message is different from the task identifier in the second task context information. If the task identifier in the fourth message is the same as the task identifier in the second task context information, the first device determines that it needs to execute a task. At this time, it can check if its time slot counter is 0. If the time slot counter is 0, the first device can execute the task in the current time slot; if the time slot counter is not 0, it waits to receive the time slot end message sent by the second device. That is, if the fourth message is a time slot end message, the first device can continue the task in the current access round according to the time slot counter value.
[0329] For example, if the fourth message is a paging message or a redial message, the first device can ignore the fourth message if the task identifier in the fourth message is different from the task identifier in the second task context information. If the task identifier in the fourth message is the same as the task identifier in the second task context information, the first device determines whether it needs to perform a task based on the second condition in the fourth message. If it determines that it needs to perform a task, it starts a new access round and performs the task in the current access round. That is, if the fourth message is a paging message or a redial message, the first device can start a new access round and continue the task in the new access round. The specific process is similar to the process described in steps 502 to 503 above, and will not be repeated here.
[0330] In some embodiments, the first device may set the suspend instruction information to a first logical value when it determines that it needs to perform a task.
[0331] In this embodiment, the second device can directly notify the first device to suspend the task via a task suspension instruction message. In one possibility, the second device can include a target device behavior in the task suspension instruction message to instruct the first device to execute that target device behavior. This way, the device behavior of the first device is controlled by the second device, facilitating rapid resumption of subsequent tasks. In another possibility, the second device can include device behavior rules in the task suspension instruction message, allowing the first device to flexibly select the target device behavior to execute based on these rules. This can save energy consumption for the first device during task suspension.
[0332] Figure 9 is a flowchart of a communication method provided in an embodiment of this application. Referring to Figure 9, the method may include the following steps:
[0333] Step 901: The second device sends a suspend prepare indication message to one or more first devices.
[0334] This suspend preparation instruction message is used to initiate the suspend preparation stage. The suspend preparation stage is the stage where the task continues to execute before it is suspended. This suspend preparation instruction message is used to instruct devices that meet the first condition to execute the task during the suspend preparation stage, and to instruct devices that do not meet the first condition to perform the target device behavior.
[0335] The second device can send a suspension preparation indication message to the first device under various circumstances. For example, the second device can send a suspension preparation indication message to the first device based on indications from the base station, core network element, AF module, terminal, or other devices. Alternatively, the second device can send a suspension preparation indication message to the first device when AIoT air interface resources are about to expire. Alternatively, the second device can send a suspension preparation indication message to the first device when a change is imminent (such as moving out of the area where the first device is located). Alternatively, the second device can send a suspension preparation indication message to the first device when most of the first devices have low battery levels.
[0336] For example, the message type of the suspension preparation indication message can be a paging message, a slot end message, a MAC layer PDU message, a MAC layer CE message, an AIoT AS Layers CE message, or an MSG2 message, etc. Of course, it is not limited to these; the message type of the suspension preparation indication message can also be other message types, and this application embodiment does not limit this.
[0337] It should be noted that if the message type of the suspension preparation indication message is MSG2 message, then the second device sends the suspension preparation indication message to the first device that is executing a task in the current time slot, so as to instruct the first device to continue executing the task in the current time slot and suspend the task if it is not completed after the timeout.
[0338] In some embodiments, the suspension preparation indication message may include one or more of the following: target device range, suspension preparation duration, first condition, random access configuration information, first task context information, target device behavior, estimated suspension duration, task suspension reason, device behavior rules, and first indication information.
[0339] The target device scope, first task context information, target device behavior, estimated suspension duration, task suspension reason, device behavior rules, and first instruction information have been described in the embodiment shown in Figure 7 above, and will not be repeated here. The suspension preparation duration is the estimated duration of the suspension preparation phase for the second device.
[0340] For example, if the AIoT air interface resources allocated to the second device by the network have a valid duration, indicated by a resource timer, and the AIoT air interface resources become invalid after the resource timer expires, then the second device can determine the remaining valid duration of the AIoT air interface resources based on the timer's count value. If the remaining valid duration equals a fourth duration, the second device sends a suspension preparation indication message to the first device. The suspension preparation duration in this message is less than or equal to the fourth duration. The fourth duration can be preset.
[0341] For example, the condition factors in the first condition may include one or more of the following: battery information, device type, amount of data to be transmitted, amount of data cached by the device, and data transmission status. The battery information may include one or more of the following: battery level, battery percentage, remaining battery power for the duration of operation, and charging rate. The amount of data to be transmitted refers to the amount of task data the device needs to send in the current access round. The amount of data cached by the device refers to the amount of data cached by the device, such as sensor data collected by the device over a period of time. The data transmission status indicates whether the device is currently transmitting data in the current time slot.
[0342] For example, the first condition may include one or more of the following: the power information is less than or equal to a first threshold, the device type is a preset device type, the amount of data to be transmitted by the device is less than or equal to a second threshold, the amount of data cached by the device is less than or equal to a third threshold, and the data transmission status indicates that the device is transmitting data in the current time slot.
[0343] The first threshold can be preset. For example, if the power information is a power value, the first threshold can be a power threshold; if the power information is a power percentage, the first threshold can be a power percentage threshold; if the power information is the working time that the remaining power can sustain, the first threshold can be an estimated suspension time; if the power information is a charging rate, the first threshold can be a charging rate threshold. In this way, the second device instructs the first device to execute the task as soon as possible during the suspension preparation phase when the first device's power is insufficient.
[0344] The preset device type can be set in advance. For example, the preset device type can be a device with weak storage capacity and slow battery life. The first device of this type is likely to lose data after a power failure, so the second device can instruct the first device of this type to perform a task during the suspension preparation phase to upload the data as quickly as possible.
[0345] The second threshold can be preset. If the amount of data to be transmitted by the first device is less than or equal to the second threshold, it means that the amount of data to be transmitted by the first device is small and can be sent quickly in a short time. Therefore, the second device can instruct the first device to perform a task during the suspension preparation phase to upload the data as soon as possible.
[0346] The third threshold can be preset. If the amount of data cached by the device is less than or equal to the third threshold, it indicates that the amount of data cached by the first device is small and can be sent quickly in a short time. Considering that the cached data may be lost after the first device loses power, the second device can instruct the first device to perform a task during the suspension preparation phase to upload the cached data as soon as possible.
[0347] If the data transmission status indicates that the first device is transmitting data in the current time slot, it means that the first device is performing a task in the current time slot. In this case, the second device can instruct the first device to continue to complete the task.
[0348] In some embodiments, the multiple conditions in the first condition may have priorities. For example, in descending order of priority, the multiple conditions may be: condition 1, condition 2, condition 3, condition 4, and condition 5. In some cases, considering the limited duration of the suspension preparation phase, the number of first devices that can participate in the suspension preparation phase can be preset, which may be called the preset number. If the number of first devices that meet the first condition is greater than the preset number, the second device can select a portion of the first devices to participate in the suspension preparation phase based on the priority.
[0349] This random access configuration information is used by the device during the suspend preparation phase when performing random access. This random access configuration information can be used for time-domain location selection during the suspend preparation phase. The random access configuration information may include a target value, which can indicate the number of time slots during the suspend preparation phase.
[0350] Step 902: After receiving the suspension preparation instruction message sent by the second device, if the first device determines that it meets the first condition before completing the current task, it will execute the task in the suspension preparation stage; if it determines that it does not meet the first condition, it will execute the target device behavior according to the suspension preparation instruction message.
[0351] In some embodiments, step 902 may include the following steps (1) to (5):
[0352] (1) After receiving the suspension preparation instruction message sent by the second device, the first device determines the task to be suspended.
[0353] In some embodiments, if the suspension preparation indication message does not include a target device range, the first device may determine that the task corresponding to the current access round initiated by the second device is the task to be suspended. In other embodiments, if the suspension preparation indication message includes a target device range, the first device may determine the task to be suspended based on the target device range.
[0354] For example, if the target device range only includes a task identifier, the first device can determine that the task identified by the task identifier is the task to be suspended.
[0355] If the target device range only includes group identifiers, the first device can determine whether it belongs to the group identified by the group identifier; if the first device determines that it does not belong to the group, it can ignore the suspension preparation indication message; if the first device determines that it belongs to the group, it can determine the task corresponding to the current access round initiated by the second device as the task to be suspended.
[0356] If the target device range only includes the second device identifier, then the first device can determine the task corresponding to the current access round initiated by the second device identified by the second device identifier as the task to be suspended.
[0357] If the target device range includes a task identifier and a group identifier, the first device can determine whether it belongs to the group identified by the group identifier; if the first device determines that it does not belong to the group, it can ignore the suspension preparation instruction message; if the first device determines that it belongs to the group, it can determine the task identified by the task identifier as the task to be suspended.
[0358] If the target device range includes a task identifier and a second device identifier, then the first device can identify the task identified by the task identifier initiated by the second device identified by the second device identifier as the task to be suspended.
[0359] If the target device range includes a group identifier and a second device identifier, the first device can determine whether it belongs to the group identified by the group identifier. If the first device determines that it does not belong to the group, it can ignore the suspension preparation indication message. If the first device determines that it belongs to the group, it can determine the task corresponding to the current access round initiated by the second device identified by the second device identifier as the task to be suspended.
[0360] If the target device range includes a task identifier, a group identifier, and a second device identifier, the first device can determine whether it belongs to the group identified by the group identifier. If the first device determines that it does not belong to the group, it can ignore the suspension preparation instruction message. If the first device determines that it belongs to the group, it can determine the task identified by the task identifier initiated by the second device identified by the second device identifier as the task to be suspended.
[0361] The task to be suspended as determined in step (1) above is the current task, which is the target task to be executed in the current access round.
[0362] (2) The first device determines whether the task has been completed.
[0363] If the first device has already completed the task, then ignore the suspend preparation instruction message.
[0364] (3) If the first device fails to complete the task, then determine whether the first device meets the first condition.
[0365] In some embodiments, the suspend-ready indication message includes a first condition. In other embodiments, the suspend-ready indication message does not include a first condition, in which case the first condition may be stored in the first device.
[0366] In this embodiment of the application, satisfying the first condition can mean satisfying any one of the first conditions, or satisfying at least two or more of the first conditions, or satisfying all of the first conditions. This embodiment of the application does not limit this. The specific conditions that need to be satisfied in the first condition can be preset.
[0367] (4) If the first device meets the first condition, the suspension preparation phase begins and the task is executed during the suspension preparation phase.
[0368] In one possible approach, if the first device is transmitting data in the current time slot of the current access round, i.e., if the first device is performing the task in the current time slot, then the first device can continue to perform the task. If the first device has not completed the task by the end of the suspension preparation phase (i.e., the duration of the suspension preparation phase has reached the suspension preparation duration), then the target device behavior is executed according to the suspension preparation instruction message.
[0369] Optionally, the first device can estimate the remaining duration of the task, i.e., estimate how much longer the task will take to complete; if the estimated remaining duration of the task is greater than the suspension preparation duration, the target device behavior is executed according to the suspension preparation instruction message; if the estimated remaining duration of the task is less than or equal to the suspension preparation duration, the task continues to be executed. In this case, if the task is not completed by the end of the suspension preparation phase, the target device behavior is executed according to the suspension preparation instruction message.
[0370] In another possible approach, the first device may perform a random access procedure during the suspension preparation phase. Optionally, the first device may determine the start of the 0th time slot in the suspension preparation phase if the first device meets a first condition. The first device may perform a random access procedure during a specified time slot in the suspension preparation phase. The specified time slot is a time slot in which the first device can perform uplink transmission.
[0371] The first device can execute the task and obtain task data in a designated time slot. In this case, the first device can not only perform a random access procedure in the designated time slot, but also send the task data to the second device. Optionally, the first device can send some or all of the task data to the second device in the signaling during the random access procedure, and / or, the first device can send some or all of the task data to the second device after successful random access.
[0372] In some embodiments, the suspend preparation indication message includes random access configuration information (such as a target value). The first device can determine a random number range based on the target value, generate a third random number within the random number range, and determine a specified time slot based on the third random number.
[0373] The target value in the suspension preparation indication message can indicate the number of time slots required for this suspension preparation phase. For example, the number of time slots can be 2. Q Q is the target value. For example, the random number can be in the range [0, 2]. Q -1]. Of course, the range of random numbers can also be a range determined by other means based on the target value, and this application embodiment does not limit this.
[0374] The third random number is equivalent to a binary random number. In some embodiments, the first device can load the binary random number into its own time slot counter, and then decrement the count value of the time slot counter. Uplink transmission can be performed when the count value of the time slot counter is 0.
[0375] For example, the first device determines the start of the 0th time slot in the suspension preparation phase. After loading a third random number into its own time slot counter, if the first device determines that the count value of the time slot counter is 0, it can perform uplink transmission in the current time slot. For example, it can perform a random access procedure, execute the task to obtain task data, and send the task data to the second device. If the count value of the time slot counter is not 0, it waits to receive a time slot end message sent by the second device. Subsequently, if the first device receives a time slot end message sent by the second device, it can determine that a new time slot has started. If the count value of the time slot counter is 0, it can determine that it has completed the task. If the count value of the time slot counter is not 0, it can decrement the count value of the time slot counter by 1. If the count value of the time slot counter is 0 at this time, it can perform uplink transmission in the current time slot. If the count value of the time slot counter is still not 0, it continues to wait to receive a time slot end message sent by the second device.
[0376] In some embodiments, if the first device has not completed the task by the end of the suspension preparation phase, the target device behavior can be executed according to the suspension preparation instruction message.
[0377] (5) If the first device does not meet the first condition, the target device behavior is executed according to the suspension preparation instruction message to suspend the task.
[0378] In some embodiments, if the suspend preparation indication message includes a target device behavior, the first device may execute the target device behavior in the suspend preparation indication message. If the suspend preparation indication message does not include a target device behavior but includes device behavior rules, the first device may determine the target device behavior to be executed based on the device behavior rules in the suspend preparation indication message, and then execute the target device behavior.
[0379] If the suspension preparation instruction message does not include the target device behavior and device behavior rules, the first device can determine the target device behavior to be executed based on its own stored device behavior rules, and then execute the target device behavior.
[0380] In some embodiments, after the first device performs the target device action, if it does not receive a fourth message before hibernation, it stores the second task context information before hibernation. The second task context information has been described in the embodiment shown in Figure 7 above and will not be repeated here.
[0381] For example, the first device can store the second task context information to the NVM.
[0382] In some embodiments, the termination condition of the suspension preparation phase may be that the duration of the suspension preparation phase has reached the suspension preparation duration, or that all first devices participating in the suspension preparation phase have completed the task, or that multiple time slots indicated by the random access configuration information in the suspension preparation indication message have all ended.
[0383] In other embodiments, the second device can indicate the end of the suspend preparation phase via a second message. For example, the second message may also be called a suspend start indication message. The second message is used to instruct the target device to perform the target device behavior according to the suspend preparation indication message. If the second device needs to end the suspend preparation phase early, it can send a second message to the first device to instruct the first device to exit the suspend preparation phase and perform the target device behavior to suspend the task.
[0384] In this scenario, the first device can receive the second message sent by the second device. Subsequently, if the first device determined after receiving the first message that it met the first condition (i.e., if the first device was in a suspended preparation phase when it received the second message), then the first device can exit the suspended preparation phase if it has not completed its current task, meaning it can execute the target device's behavior according to the first message; if it has completed its current task, it can ignore the second message. However, if the first device determined after receiving the first message that it did not meet the first condition (i.e., if the first device had already executed the target device's behavior when it received the second message), then it can ignore the second message.
[0385] To facilitate understanding, the above task suspension process will be illustrated below with reference to Figure 10:
[0386] Figure 10 is a flowchart of a communication method provided in an embodiment of this application. Referring to Figure 10, the method may include the following steps:
[0387] Step 1001: The third device sends a suspend instruction to the second device.
[0388] Step 1002: The second device sends a suspend preparation instruction message to the first device 1 and the first device 2.
[0389] Step 1003: After receiving the suspension preparation instruction message, the first device 1 and the first device 2 start the suspension preparation phase and determine that the 0th time slot in the suspension preparation phase begins.
[0390] Step 1004: The first device 1 sends an MSG1 message to the second device in the 0th time slot.
[0391] Step 1005: After receiving the MSG1 message sent by the first device 1, the second device sends an MSG2 message to the first device 1.
[0392] Step 1006: After receiving the MSG2 message sent by the second device, the first device 1 sends an MSG3 message containing task data to the second device.
[0393] Step 1007: After receiving the MSG3 message sent by the first device 1, the second device sends a time slot end message to both the first device 1 and the first device 2.
[0394] Step 1008: After receiving the time slot end message sent by the second device, the first device 1 and the first device 2 determine the start of the first time slot in the suspension preparation phase.
[0395] Step 1009: The first device 2 sends an MSG1 message to the second device in the first time slot.
[0396] Step 1010: After receiving the MSG1 message sent by the first device 2, if the second device determines that it needs to end the suspension preparation phase, it sends a suspension start indication message to the first device 1 and the first device 2 to instruct the first device 1 and the first device 2 to suspend the task.
[0397] After receiving the suspend start indication message, first device 1 can ignore the suspend start indication message since it has already completed the task. After receiving the suspend start indication message, first device 2 can execute the target device behavior to suspend the task.
[0398] When the second device needs to resume task execution, it can send a fourth message to the first device to continue the task. The specific process is similar to the process described in steps 703 to 704 above, and will not be repeated in this embodiment.
[0399] In this embodiment of the application, before the second device needs to suspend the task, a suspension preparation stage can be reserved so that some of the first devices (such as the first devices with low power, little data, poor capabilities, or those currently executing tasks in the current time slot) can execute tasks during the suspension preparation stage. This not only avoids the loss of task data, but also saves the energy consumption of the first devices, so that these first devices do not need to be reconnected in the subsequent recovery process.
[0400] Figure 11 is a flowchart of a communication method provided in an embodiment of this application. Referring to Figure 11, the method may include the following steps:
[0401] Step 1101: The second device sends a target duration configuration message to one or more first devices.
[0402] The target duration configuration message is used to configure the target duration. The target duration is used to trigger the execution of the target device behavior. The target duration is the maximum duration for which a time slot can last. If a time slot has not ended by the time it reaches the target duration, that is, if the time slot times out, the first device can execute the target device behavior.
[0403] It should be noted that the target device behavior in the embodiment of Figure 11 can be the same as that in the embodiment of Figure 7 above. Alternatively, the target device behavior in the embodiment of Figure 11 can include one or more of the behaviors 3 to 5 mentioned above, so that the first device can directly exit the current access round before the time slot expires, thereby avoiding the first device being stuck in the current time slot.
[0404] In some embodiments, the second device can statistically analyze historical task completion times (i.e., the time taken for a first device to complete a task, such as D2R data transmission time), and then set a target duration based on these historical task completion times. For example, the target duration can be greater than the average historical task completion time over a period of time. Alternatively, the second device can set different target durations based on different task types. For example, the target duration for a disk storage task can be less than the target duration for a read task. Or, the second device can set a target duration based on the effective duration of AIoT air interface resources. For example, the target duration can be less than the effective duration of the AIoT air interface resources.
[0405] In some embodiments, the target duration configuration message may include one or more of the following: target duration, target duration configuration rules, target device behavior, device behavior rules, etc. If the target duration configuration message includes a target duration, the first device is instructed to directly configure the target duration. Alternatively, if the target duration configuration message does not include a target duration but includes a target duration configuration rule, the first device is instructed to configure the target duration according to the target duration configuration rule. Alternatively, if the target duration configuration message does not include both a target duration and a target duration configuration rule, the first device may use a previous target duration or configure the target duration according to its own stored target duration configuration rules.
[0406] For example, target duration configuration rules are used to indicate the target duration for various task types.
[0407] In some embodiments, if the target duration configuration message includes a target device behavior, the first device is instructed to perform the target device behavior before the time slot timeout ends. Alternatively, if the target duration configuration message does not include a target device behavior but includes device behavior rules, the first device is instructed to perform the target device behavior according to the device behavior rules before the time slot timeout ends. Alternatively, if the target duration configuration message does not include both the target device behavior and the device behavior rules, the first device is instructed to perform the target device behavior according to its own stored device behavior rules before the time slot timeout ends.
[0408] For example, the message type of the target duration configuration message can be a paging message, a time slot end message, a PDU message from the MAC layer, a CE message from the MAC layer, or a CE message from AIoT AS Layers, etc. Of course, it is not limited to these; the message type of the target duration configuration message can also be other message types, and this application embodiment does not limit this.
[0409] It should be noted that since the second device sends a time slot end message at the end of each time slot, the target duration can be flexibly configured through the time slot end message.
[0410] In this situation, the second device can adjust the target duration in a timely manner through the time slot end message according to different circumstances. For example, when the second device is about to perform a cell handover, it can appropriately increase the target duration through the time slot end message so that the first device does not exit the current access round and can continue its task after the cell handover is completed.
[0411] In some embodiments, the target duration can be carried by the time slot end message, and other information can be carried by other messages (such as paging messages, PDU messages of the MAC layer, CE messages of the MAC layer, or CE messages of AIoT AS Layers), such as carrying one or more of the target duration configuration rules, target device behavior, and device behavior rules. If the time slot end message does not carry the target duration, the first device can keep the previously configured target duration unchanged.
[0412] Step 1102: After receiving the target duration configuration message sent by the second device, the first device configures the target duration according to the target duration configuration message.
[0413] Step 1103: If the first device receives a third message sent by the second device, it starts the target timer (Timer_wait), and the initial count value of the target timer is the target duration.
[0414] The third message is used to indicate the start of a new time slot. For example, the third message can be a paging message, a re-paging message, or a time slot end message; this application embodiment does not limit this.
[0415] After the time slot begins, the target timer can be used to monitor whether the time slot has timed out. That is, if the target timer times out, it can be determined that the time slot has timed out.
[0416] The first device can trigger the execution of target device behavior based on the target timer, as described in step 1104 below:
[0417] Step 1104: If no time slot end message is received before the target timer expires, the first device executes the target device behavior.
[0418] For example, the first device can determine the target device behavior to be performed based on its own stored device behavior rules, and then perform the target device behavior.
[0419] It should be noted that the first device can perform its task within one time slot of the current access round. Because the amount of data transmitted in each time slot varies, the length of each time slot in an access round may also differ. For example, if two first devices select the same time slot for random access, a conflict will occur, and that time slot will end quickly with a short duration. The duration of a time slot should not be infinitely long, and the first device should not wait indefinitely for the time slot to end. Therefore, in this embodiment, a target duration can be configured to allow the first device to quickly exit the current access round in abnormal situations (such as a time slot not ending for a long time), preventing it from being trapped in the current time slot due to possible packet loss.
[0420] Based on the target duration configuration, if the second device needs to suspend the task, it can stop sending any messages to the first device, such as time slot end messages. In this case, the first device will cause the target timer to time out because it has not received any messages from the second device, thus automatically executing the target device's behavior to suspend the task.
[0421] In some embodiments, after the first device receives the third message in step 1103, if the first device is performing a task in the current time slot, it will close the target timer if it receives a time slot end message before the target timer expires; otherwise, if the first device is not performing a task in the current time slot, it will restart the target timer if it receives a time slot end message before the target timer expires, in order to monitor whether the new time slot has expired.
[0422] In some embodiments, if the first device does not receive a fourth message before hibernating after executing the target device behavior, it can store the second task context information before hibernating. The second task context information has been described in the embodiment shown in Figure 7 above, and will not be repeated here.
[0423] For example, the first device can store the second task context information to the NVM.
[0424] To facilitate understanding, the above task suspension process will be illustrated below with reference to Figure 12:
[0425] Figure 12 is a flowchart of a communication method provided in an embodiment of this application. Referring to Figure 12, the method may include the following steps:
[0426] Step 1201: The second device sends a target duration configuration message to the first device.
[0427] Step 1202: After receiving the target duration configuration message sent by the second device, the first device configures the target duration.
[0428] Step 1203: The second device sends a time slot end message to the first device in the current access round.
[0429] Step 1204: After receiving the time slot end message sent by the second device, the first device starts the target timer, and the initial count value of the target timer is the target duration.
[0430] Step 1205: If the first device does not receive a time slot end message before the target timer expires, then execute the target device behavior.
[0431] In some embodiments, when the second device needs to resume task execution, it can send a fourth message to the first device to continue the task, as described below:
[0432] Step 1105: The second device sends a fourth message to one or more first devices.
[0433] The second device can send a fourth message to the first device under various circumstances.
[0434] For example, suppose a second device stops sending messages to the first device due to cell handover. Then, the second device can send a fourth message after the cell handover is completed to resume task execution.
[0435] For example, suppose a second device stops sending messages to the first device due to an RLF (Recurrent Leakage) event. After successfully accessing the cell, the second device can send a fourth message to resume task execution.
[0436] For example, suppose a second device stops sending messages to the first device due to a change in the second device. Then, after a new second device is selected on the network side, the new second device can send a fourth message to resume task execution.
[0437] For example, suppose a second device stops sending messages to the first device due to resource failure. Then the second device can send a fourth message to resume task execution after regaining available AIoT air interface resources.
[0438] For example, suppose a second device stops sending messages to a first device because a third device indicates that the task is suspended. Then the second device can send a fourth message to resume task execution when the third device indicates that the task is resumed.
[0439] For example, suppose a second device stops sending messages to the first device because of an abnormal state of the second device. Then the second device can send a fourth message to resume task execution after its own state returns to normal.
[0440] For example, suppose a second device stops sending messages to the first device because the first device has low battery. Then the second device can send a fourth message to resume task execution after it detects that most of the first devices with suspended tasks have high battery levels.
[0441] It should be noted that in some cases, if the second device needs to suspend the task, it can stop sending messages to the first device. The first device will only execute the target device action if the duration of the current time slot reaches the target duration but has not yet ended. In this case, if the second device subsequently needs to resume task execution, and the time interval between the last time the paging message, re-paging message, or time slot end message was sent and the current time is less than the target duration, the first device has not actually executed the target device action, i.e., the task has not been suspended. Therefore, the second device can directly send a time slot end message to the first device to continue the task flow.
[0442] In some embodiments, the message type of the fourth message sent by the second device depends on the target device behavior that the first device may perform.
[0443] For example, if the target device behavior that the first device may perform is behavior 3 or behavior 5 mentioned above, then the second device may send a fourth message of type time slot end to the first device to continue the current access round if the time between the last time the paging message, re-paging message, or time slot end message was sent and the time when the fourth message needs to be sent is less than the target time. If the time between the last time the paging message, re-paging message, or time slot end message was sent and the time when the fourth message needs to be sent is greater than or equal to the target time, the second device may send a fourth message of type paging message or re-paging message to the first device to start a new access round, so that the first device can resume task execution.
[0444] For example, if the target device behavior that the first device may perform is behavior 4 mentioned above, then the second device may send a fourth message of type time slot end to the first device to continue the current access round if the time between the last time the paging message, re-paging message, or time slot end message was sent and the time when the fourth message needs to be sent is less than the target time. If the time between the last time the paging message, re-paging message, or time slot end message was sent and the time when the fourth message needs to be sent is greater than or equal to the target time and less than the sum of the target time and the second time, the second device may send a fourth message of type time slot end to the first device to continue the previous access round. If the time between the last time the paging message, re-paging message, or time slot end message was sent and the time when the fourth message needs to be sent is greater than or equal to the sum of the target time and the second time, the second device may send a fourth message of type paging message or re-paging message to the first device to start a new access round, allowing the first device to resume task execution.
[0445] Step 1106: After receiving the fourth message sent by the second device, the first device executes the task according to the task identifier in the fourth message.
[0446] The operation of step 1106 is similar to the operation of step 704 above, and will not be described again in this embodiment.
[0447] In this embodiment, the second device configures a target duration for the first device to monitor whether a time slot has expired. In this case, the second device no longer sends any messages to the first device when it needs to suspend a task; instead, the first device automatically triggers the execution of the target device behavior based on the target duration to suspend the task. This operation is simple and saves control messages for the second device.
[0448] Figure 13 is a flowchart of a communication method provided in an embodiment of this application. Referring to Figure 13, the method may include the following steps:
[0449] Step 1301: The second device sends a first message to the first device.
[0450] The first message is used to trigger the suspension of the task initiated by the second device.
[0451] For example, the first message may be the task suspension instruction message described in the embodiment of Figure 7 above, or the suspension preparation instruction message described in the embodiment of Figure 9 above, or the target duration configuration message described in the embodiment of Figure 11 above. Specific message content can be found in the relevant descriptions in the embodiments of Figures 7, 9, and 11 above, and will not be repeated in this application.
[0452] After receiving the first message sent by the second device, the first device can selectively trigger task suspension based on the first message. The specific process can be referred to the relevant descriptions in the embodiments of Figures 7, 9, and 11 above, and will not be repeated in this application.
[0453] In this embodiment of the application, the second device can trigger the first device to suspend the task initiated by the second device by sending a first message to the first device, thus meeting the task suspension requirements in the context of the Internet of Things.
[0454] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0455] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0456] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, can implement the steps in the various method embodiments described above.
[0457] This application also provides a computer program product that, when run on an electronic device, enables the electronic device to perform the steps described in the various method embodiments above.
[0458] This application also provides a chip system including a processor coupled to a memory. The processor executes a computer program stored in the memory to implement the steps of any method embodiment of this application. The chip system can be a single chip or a chip module composed of multiple chips.
[0459] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented, in whole or in part, as a computer program product. This computer program product includes one or more computer instructions. When these computer instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave) means. The computer-readable storage medium can be any available medium accessible to a computer, or a data storage device such as a server or data center that integrates one or more available media. The available media can be magnetic media (such as floppy disks, hard disks, magnetic tapes, etc.), optical media (such as digital versatile discs (DVDs), etc.) or semiconductor media (such as solid state disks (SSDs), etc.).
[0460] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data must comply with the relevant regulations and standards of the relevant countries and regions, and corresponding operation entry points are provided for users to choose to authorize or refuse.
[0461] The above-described embodiments are optional embodiments provided by this application and are not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the technical scope disclosed in this application should be included within the protection scope of this application.
Claims
1. A communication method, characterized in that, Applied to a first device, the method includes: Receive a first message sent by the second device. The first message is used to instruct the execution of the target device behavior. The target device behavior is used to suspend the task. The first message includes one or more of the following: target device range, estimated suspension duration, task suspension reason, target device behavior, device behavior rules, first instruction information, and first task context information. The target device range is used to indicate the devices that need to perform the target device behavior, the estimated suspension time is the task suspension time estimated by the second device, the device behavior rule is used to indicate the conditions that need to be met to perform various target device behaviors, and the first indication information is used to indicate the execution of one or more target device behaviors.
2. The method as described in claim 1, characterized in that, After receiving the first message sent by the second device, the method further includes: If the current task is not completed, the target device behavior is executed according to the first message.
3. The method as described in claim 1, characterized in that, The first message further includes one or more of the following: suspension preparation time, first condition, and random access configuration information, wherein the random access configuration information is the configuration information used by the device when performing random access during the suspension preparation phase; the first message is also used to instruct the device that meets the first condition to perform the task during the suspension preparation phase, and to instruct the device that does not meet the first condition to perform the target device behavior, wherein the suspension preparation phase is the phase in which the task continues to be executed before the task is suspended.
4. The method as described in claim 3, characterized in that, The first condition includes one or more of the following factors: power information, device type, amount of data to be transmitted by the device, amount of data cached by the device, and data transmission status. The data transmission status is used to indicate whether the device is transmitting data in the current time slot. The first condition includes one or more of the following: The power information is less than or equal to a first threshold; The device type is a preset device type; The amount of data to be transmitted by the device is less than or equal to the second threshold. The amount of data cached by the device is less than or equal to the third threshold; The data transmission status indicates that the device is transmitting data in the current time slot.
5. The method as described in claim 3 or 4, characterized in that, After receiving the first message sent by the second device, the method further includes: If the first device is determined to meet the first condition before the current task is completed, the task is executed during the suspension preparation phase. If it is determined that the first device does not meet the first condition, then the target device behavior is executed according to the first message.
6. The method as described in any one of claims 3 to 5, characterized in that, After receiving the first message sent by the second device, the method further includes: Receive a second message sent by the second device, the second message being used to instruct the target device to perform the action according to the first message; If the first device meets the first condition, then the target device behavior is executed according to the first message if the current task has not been completed; If the first device does not meet the first condition, then the second message is ignored.
7. The method as described in any one of claims 1 to 6, characterized in that, The target device range includes one or more of the following: task identifier, group identifier, and second device identifier; And / or, the reasons for the task suspension include one or more of the following: cell handover, radio link failure, second device change, resource failure, third device indicating task suspension, and second device status abnormality; And / or, the conditional factors in the device behavior rules include one or more of the following: estimated suspension duration, task suspension reason, first indication information, task type, and first device status; the first device status includes one or more of the following: power information and device capabilities, and the power information includes one or more of the following: power value, power percentage, working time that the remaining power can sustain, and charging rate; And / or, the target device behavior includes one or more of the following: Residing in the current access round, waiting to receive the fourth message until hibernation, the fourth message is used to resume task execution. An access round is triggered by a paging message, and the number of time slots in the access round is determined according to the random access configuration information in the paging message. Residing in the current access round, it waits to receive the fourth message within the first duration. If the fourth message is not received by the end of the first duration, it enters a sleep state. Exit the current access round and wait to receive the fourth message until it goes into sleep mode; Exit the current access round and wait to receive the fourth message within the second time period. If the fourth message is not received by the end of the second time period, enter sleep mode. Exit the current access round and enter hibernation.
8. The method according to any one of claims 1 to 7, characterized in that, After executing the target device behavior, the following is also included: If the fourth message is not received before hibernation, the second task context information is stored before hibernation, and the fourth message is used to resume task execution. The second task context information includes one or more of the following: task identifier, second device identifier, access round count, time slot indication information, and suspension indication information. The time slot indication information is used to indicate the time slot in which the first device performs the task, and the suspension indication information is used to indicate whether the target device behavior was performed before hibernation.
9. The method according to any one of claims 1 to 7, characterized in that, After executing the target device behavior, the following is also included: Receive a fourth message, the fourth message being used to resume task execution, the fourth message including a task identifier; Execute the task according to the task identifier; The fourth message further includes a second condition, which is used to indicate the device that needs to perform the task. The condition factors in the second condition include one or more of the following: second device identifier, suspension indication information, access round number, and access identifier.
10. A communication method, characterized in that, Applied to a first device, the method includes: Receive a first message sent by the second device, the first message being used to configure the target duration; Upon receiving a third message sent by the second device, a target timer is started. The third message indicates the start of a new time slot, and the initial count value of the target timer is the target duration. The target device behavior is triggered based on the target timer, and the target device behavior is used to suspend the task.
11. The method as described in claim 10, characterized in that, The step of triggering the execution of target device behavior based on the target timer includes: If no time slot end message is received before the target timer expires, then the target device behavior is executed; The method further includes: If the first device is executing a task in the current time slot, then if the time slot end message is received before the target timer expires, the target timer is turned off; or, If the first device does not perform a task in the current time slot, and receives the time slot end message before the target timer expires, the target timer will be restarted.
12. The method as described in claim 10 or 11, characterized in that, The first message includes one or more of the target duration, target duration configuration rules, target device behavior, and device behavior rules. The device behavior rules are used to indicate the conditions that must be met to execute various target device behaviors. The target duration configuration rules are used to indicate the target duration corresponding to various task types.
13. The method as described in claim 12, characterized in that, The conditional factors in the device behavior rules include one or more of the following: estimated suspension duration, task suspension reason, first indication information, task type, and first device status; wherein, the first device status includes one or more of the following: power information and device capabilities, and the power information includes one or more of the following: power value, power percentage, working time that the remaining power can sustain, and charging rate. And / or, the target device behavior includes one or more of the following: Residing in the current access round, waiting to receive the fourth message until hibernation, the fourth message is used to resume task execution. An access round is triggered by a paging message, and the number of time slots in the access round is determined according to the random access configuration information in the paging message. Residing in the current access round, it waits to receive the fourth message within the first duration. If the fourth message is not received by the end of the first duration, it enters a sleep state. Exit the current access round and wait to receive the fourth message until it goes into sleep mode; Exit the current access round and wait to receive the fourth message within the second time period. If the fourth message is not received by the end of the second time period, enter sleep mode. Exit the current access round and enter hibernation.
14. The method according to any one of claims 10 to 13, characterized in that, After executing the target device behavior, the following is also included: If the fourth message is not received before hibernation, the second task context information is stored before hibernation, and the fourth message is used to resume task execution. The second task context information includes one or more of the following: task identifier, second device identifier, access round count, time slot indication information, and suspension indication information. The time slot indication information is used to indicate the time slot in which the first device executes the task, and the suspension indication information is used to indicate whether the target device behavior was executed before hibernation.
15. The method as described in any one of claims 10 to 13, characterized in that, After executing the target device behavior, the following is also included: Receive a fourth message, the fourth message being used to resume task execution, the fourth message including a task identifier; Execute the task according to the task identifier; The fourth message also includes a second condition, which is used to indicate the device that needs to perform the task. The condition factors in the second condition include one or more of the following: second device identifier, suspension indication information, access round number, and access identifier.
16. A communication method, characterized in that, Applied to a second device, the method includes: Send a first message to a first device. The first message is used to instruct the execution of a target device behavior. The target device behavior is used to suspend the task. The first message includes one or more of the following: target device range, estimated suspension duration, task suspension reason, target device behavior, device behavior rules, first instruction information, and first task context information. The target device range is used to indicate the devices that need to perform the target device behavior, the estimated suspension time is the task suspension time estimated by the second device, the device behavior rule is used to indicate the conditions that need to be met to perform various target device behaviors, and the first indication information is used to indicate the execution of one or more target device behaviors.
17. The method as described in claim 16, characterized in that, The first message further includes one or more of the following: suspension preparation time, first condition, and random access configuration information, wherein the random access configuration information is the configuration information used by the device when performing random access during the suspension preparation phase; the first message is also used to instruct the device that meets the first condition to perform the task during the suspension preparation phase, and to instruct the device that does not meet the first condition to perform the target device behavior, wherein the suspension preparation phase is the phase in which the task continues to be executed before the task is suspended.
18. The method as described in claim 17, characterized in that, The first condition includes one or more of the following factors: power information, device type, amount of data to be transmitted by the device, amount of data cached by the device, and data transmission status. The data transmission status is used to indicate whether the device is transmitting data in the current time slot. The first condition includes one or more of the following: The power information is less than or equal to a first threshold; The device type is a preset device type; The amount of data to be transmitted by the device is less than or equal to the second threshold. The amount of data cached by the device is less than or equal to the third threshold; The data transmission status indicates that the device is transmitting data in the current time slot.
19. The method as described in claim 17 or 18, characterized in that, After sending the first message to the first device, the method further includes: A second message is sent to the first device, the second message being used to instruct the target device to perform the action according to the first message.
20. The method as described in any one of claims 16 to 19, characterized in that, The target device range includes one or more of the following: task identifier, group identifier, and second device identifier; And / or, the reasons for the task suspension include one or more of the following: cell handover, radio link failure, second device change, resource failure, third device indicating task suspension, and second device status abnormality; And / or, the conditional factors in the device behavior rules include one or more of the following: estimated suspension duration, task suspension reason, first indication information, task type, and first device status; the first device status includes one or more of the following: power information and device capabilities, and the power information includes one or more of the following: power value, power percentage, working time that the remaining power can sustain, and charging rate; And / or, the target device behavior includes one or more of the following: Residing in the current access round, waiting to receive the fourth message until hibernation, the fourth message is used to resume task execution. An access round is triggered by a paging message, and the number of time slots in the access round is determined according to the random access configuration information in the paging message. Residing in the current access round, it waits to receive the fourth message within the first duration. If the fourth message is not received by the end of the first duration, it enters a sleep state. Exit the current access round and wait to receive the fourth message until it goes into sleep mode; Exit the current access round and wait to receive the fourth message within the second time period. If the fourth message is not received by the end of the second time period, enter sleep mode. Exit the current access round and enter hibernation.
21. The method according to any one of claims 16 to 20, characterized in that, After sending the first message to the first device, the method further includes: A fourth message is sent to the first device. The fourth message is used to resume task execution. The fourth message includes a task identifier and is used to instruct the task to be executed according to the task identifier. The fourth message also includes a second condition, which is used to instruct the device that needs to execute the task. The condition factors in the second condition include one or more of the following: second device identifier, suspension indication information, access round count, and access identifier.
22. A communication method, characterized in that, Applied to a second device, the method includes: Send a first message to the first device, the first message being used to configure the target duration; A third message is sent to the first device, the third message being used to indicate the start of a new time slot. When the time slot starts, a target timer in the first device is started. The initial count value of the target timer is the target duration. The target timer is used to trigger the execution of a target device behavior, the target device behavior being used to suspend the task.
23. The method as described in claim 22, characterized in that, The first message includes one or more of the target duration, target duration configuration rules, target device behavior, and device behavior rules. The device behavior rules are used to indicate the conditions that must be met to execute various target device behaviors. The target duration configuration rules are used to indicate the target duration corresponding to various task types.
24. The method as described in claim 23, characterized in that, The conditional factors in the device behavior rules include one or more of the following: estimated suspension duration, task suspension reason, first indication information, task type, and first device status; wherein, the first device status includes one or more of the following: power information and device capabilities, and the power information includes one or more of the following: power value, power percentage, working time that the remaining power can sustain, and charging rate. And / or, the target device behavior includes one or more of the following: Residing in the current access round, waiting to receive the fourth message until hibernation, the fourth message is used to resume task execution. An access round is triggered by a paging message, and the number of time slots in the access round is determined according to the random access configuration information in the paging message. Residing in the current access round, it waits to receive the fourth message within the first duration. If the fourth message is not received by the end of the first duration, it enters a sleep state. Exit the current access round and wait to receive the fourth message until it goes into sleep mode; Exit the current access round and wait to receive the fourth message within the second time period. If the fourth message is not received by the end of the second time period, enter sleep mode. Exit the current access round and enter hibernation.
25. The method as described in any one of claims 22 to 24, characterized in that, After sending the first message to the first device, the method further includes: A fourth message is sent to the first device. The fourth message is used to resume task execution. The fourth message includes a task identifier and is used to instruct the task to be executed according to the task identifier. The fourth message also includes a second condition, which is used to instruct the device that needs to execute the task. The condition factors in the second condition include one or more of the following: second device identifier, suspension indication information, access round count, and access identifier.
26. A communication device, characterized in that, It includes a processor coupled to a memory storing a program or instructions for performing the method as described in any one of claims 1 to 25.