Communication method and apparatus

By executing a communication method in the terminal device to determine whether to forward service data in U2U communication, the message storm and network congestion problems caused by large number of terminal devices in the 5G system are solved, and more efficient network processing capabilities are achieved.

WO2025092571A1PCT designated stage expired Publication Date: 2025-05-08HUAWEI TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/127146
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-10-31
Filing Date
2024-10-24
Publication Date
2025-05-08

AI Technical Summary

Technical Problem

In 5G systems, a large number of terminal devices in user-to-user (U2U) communications serve as relay devices to forward multicast/broadcast service messages, resulting in message storm and network congestion problems.

Method used

By performing a communication method in the terminal device, the method includes receiving messages from other terminal devices, determining whether to be a type device or a source device as a service, and based on this, whether to forward the service data to avoid duplicate forwarding of the data.

Benefits of technology

It effectively avoids duplicate forwarding of data, reduces data storm problems, improves network processing capabilities, and prevents network congestion.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024127146_08052025_PF_FP_ABST
    Figure CN2024127146_08052025_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of communications. Provided are a communication method and apparatus. The communication method comprises: a first terminal device receiving a first message from a second terminal device, wherein the first message indicates that the second terminal device is a first-type device of a first service or a source device of the first service, the first service is a multicast or broadcast service, the first-type device is used for receiving and forwarding data of the first service, and the source device of the first service is used for generating and sending the data of the first service; and on the basis of the first message, the first terminal device determining to become a first-type device or a second-type device of the first service, wherein the second-type device is used for receiving the data of the first service. By means of the method, on the basis of a first message, a first terminal device can determine whether to become a first-type device of a first service, so as to determine whether the first terminal device forwards data of the first service, such that repeated forwarding of the data can be effectively avoided, and the problem of data storms is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Communication method and device

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office of the People's Republic of China on October 31, 2023, with application number 202311444660.4 and application name "A Communication Method and Device", the entire contents of which are incorporated by reference into this application. Technical Field

[0003] The present invention relates to the field of communication technology, and in particular to a communication method and device. Background Art

[0004] With the rapid development of the 3rd Generation Partnership Project (3GPP) system in the fifth generation (5G) generation, the application scope of user-to-user (UE-to-UE, U2U) communication technology is becoming more and more extensive.

[0005] In a possible U2U communication scenario, a user equipment (UE) can send service data to other UEs via multicast or broadcast. If the other UEs have relay capabilities, after receiving the service data, they can act as relay UEs to continue multicasting or broadcasting the service message. If a large number of UEs act as relays, the service message will be forwarded directionally between multiple relays, leading to message storms and, in turn, network congestion.

[0006] Summary of the Invention

[0007] The present application provides a communication method and apparatus for resolving message storms and reducing network congestion.

[0008] In a first aspect, a communication method is provided, which can be executed by a first terminal device or a module (such as a chip) applied to the first terminal device. Taking the execution of the method by the first terminal device as an example, the method includes: the first terminal device can receive a first message from the second terminal device, wherein the first message indicates that the second terminal device is a first type device of a first service or a source device of the first service, the first service is a multicast or broadcast service, the first type device is used to receive and forward data of the first service, and the source device of the first service is used to generate and send data of the first service. The first terminal device can be determined as a first type device or a second type device of the first service based on the first message, wherein the second type device is used to receive data of the first service.

[0009] In the above method, the first terminal device can determine whether to become the first type device of the first service based on the first message, and then determine whether the first terminal device forwards the data of the first service, which can effectively avoid repeated forwarding of data and reduce data storm problems.

[0010] In one possible design, the first terminal device receives the first message from the second terminal device, which may include: the first terminal device can apply an identifier of the first service and receive the first message from the second terminal device.

[0011] In a possible design, the above method may further include: the first terminal device may determine a first identifier based on the first message, wherein the first identifier is an identifier used by the second terminal device to send the first message.

[0012] In one possible design, the above method may also include: the first terminal device can receive data of the first service.

[0013] In one possible design, the first terminal device receives data of the first service, which may include: the first terminal device can apply the identifier of the first service to receive the data of the first service.

[0014] In one possible design, the above method may further include: the first terminal device may determine the identifier of the source device of the first service based on the data of the first service.

[0015] In one possible design, the first message includes the second location information of the second terminal device; the first terminal device is determined to be a first type device or a second type device of the first service based on the first message, which may include: the first location information of the first terminal device does not match the second location information, and the first terminal device is determined to be a first type device of the first service.

[0016] In one possible design, the above method may further include: the first terminal device may send a second message, wherein the second message includes first location information, and the second message indicates that the first terminal device is a first type device of the first service.

[0017] In one possible design, the first terminal device sends the second message, which may include: the first terminal device can apply the identifier of the first service to send the second message.

[0018] In one possible design, the first terminal device applies the identifier of the first service to send the second message, which may include: the first terminal device may apply the first identifier and the identifier of the first service to send the second message.

[0019] In one possible design, the above method may also include: the first terminal device may forward data of the first service.

[0020] In one possible design, the first terminal device forwarding the data of the first service may include: the first terminal device may apply the identifier of the source device of the first service and the identifier of the first service to forward the data of the first service.

[0021] In one possible design, the first message includes the second location information of the second terminal device; the first terminal device is determined to be a first type device or a second type device of the first service based on the first message, which may include: the first location information of the first terminal device is matched with the second location information, and the first terminal device is determined to be a second type device of the first service.

[0022] In one possible design, the second location information indicates a second location area where the second terminal device is located, and the first location information indicates a first location area where the first terminal device is located.

[0023] In one possible design, the first location information of the first terminal device does not match the second location information, which may include: the first location area indicated by the first location information is different from the second location area indicated by the second location information.

[0024] The first location information of the first terminal device matches the second location information, which may include: the first location area indicated by the first location information is the same as the second location area indicated by the second location information.

[0025] In one possible design, the first location information is determined based on the geographical location of the first terminal device; the second location information is determined based on the geographical location of the second terminal device.

[0026] In one possible design, the first terminal device receives data of the first service, which may include: the first terminal device can receive the data of the first service and location information of the source device of the first service.

[0027] In one possible design, the first terminal device forwards data of the first service, which may include: the first terminal device can forward the data of the first service, the first location information, and the location information of the source device of the first service.

[0028] In one possible design, the first terminal device receives data of the first service, which may include: the first terminal device can receive the data of the first service, the second location information, and the location information of the source device of the first service.

[0029] In one possible design, forwarding data of a first service by a first terminal device may include: the first terminal device may determine to forward the data of the first service, the first location information, and the location information of the source device of the first service based on the first location information, the second location information, and the location information of the source device of the first service. This design effectively avoids duplicate data forwarding and reduces data storm issues.

[0030] In a second aspect, a communication method is provided, which can be performed by a first terminal device or a module (such as a chip) applied to the first terminal device. Taking the first terminal device performing the method as an example, the method includes: the first terminal device can receive a first message from a second terminal device, wherein the first message indicates that the second terminal device is a first type device, and the first type device is used to receive and forward data of at least one service, and the at least one service is a multicast or broadcast service. The first terminal device can determine whether it is a first type device or a second type device based on the first message, and the second type device is used to receive data of the at least one service.

[0031] In the above method, the first terminal device can determine whether to become the first type device of the first service based on the first message, and then determine whether the first terminal device forwards the data of the first service, which can effectively avoid repeated forwarding of data and reduce data storm problems.

[0032] In one possible design, the first terminal device receives a first message from the second terminal device, which may include: the first terminal device applies a first identifier to receive the first message from the second terminal device, where the first identifier is used to identify the indication type of the first message.

[0033] In one possible design, the above method may also include: the first terminal device can receive data of at least one service.

[0034] In one possible design, the first terminal device receives data from at least one service, which may include: the first terminal device can apply an identifier of at least one service to receive data from at least one service.

[0035] In one possible design, the above method may further include: the first terminal device may determine the identifier of the source device corresponding to at least one service based on data of at least one service.

[0036] In one possible design, the first message includes the second location information of the second terminal device; the first terminal device is determined to be a first type device or a second type device based on the first message, which may include: the first location information of the first terminal device does not match the second location information, and the first terminal device is determined to be a first type device.

[0037] In one possible design, the above method may further include: the first terminal device sends a second message, wherein the second message includes first location information of the first terminal device, and the second message indicates that the first terminal device is a first type of device.

[0038] In one possible design, the first terminal device sends the second message, which may include: the first terminal device may apply the first identifier to send the second message.

[0039] In one possible design, the first terminal device sending the second message may include: the first terminal device may apply the identifier of the first terminal device and the first identifier to send the second message.

[0040] In one possible design, the above method may also include: the first terminal device can forward data of at least one service.

[0041] In one possible design, the first terminal device forwards data of at least one service, which may include: the first terminal device may apply the identifier of the source device corresponding to at least one service and the identifier corresponding to at least one service to forward data of at least one service.

[0042] In one possible design, the first message includes the second location information of the second terminal device; the first terminal device is determined to be a first type device or a second type device based on the first message, which may include: the first location information of the first terminal device matches the second location information and is determined to be a second type device.

[0043] In one possible design, the second location information indicates a second location area where the second terminal device is located, and the first location information indicates a first location area where the first terminal device is located.

[0044] In one possible design, the first location information of the first terminal device does not match the second location information, which may include: the first location area indicated by the first location information is different from the second location area indicated by the second location information.

[0045] In one possible design, the first location information of the first terminal device matches the second location information, which may include: the first location area indicated by the first location information is the same as the second location area indicated by the second location information.

[0046] In one possible design, the first location information is determined based on the geographical location of the first terminal device; the second location information is determined based on the geographical location of the second terminal device.

[0047] In one possible design, the first terminal device receives data of at least one service, which may include: the first terminal device can receive data of at least one service and location information of a source device of at least one service.

[0048] In one possible design, the first terminal device forwards data of at least one service, which may include: the first terminal device can forward data of at least one service, first location information, and location information of a source device corresponding to at least one service.

[0049] In one possible design, the first terminal device receives data of at least one service, which may include: the first terminal device can receive data of at least one service, second location information, and location information of a source device of at least one service.

[0050] In one possible design, forwarding data of a first service by a first terminal device may include: the first terminal device may determine, based on the first location information, the second location information, and the location information of the source device corresponding to the at least one service, to forward the data of the at least one service, the first location information, and the location information of the source device corresponding to the at least one service. This design effectively avoids duplicate data forwarding and reduces data storm issues.

[0051] According to a third aspect, a communication method is provided, which can be executed by a first terminal device or a module (such as a chip) applied to the first terminal device. Taking the execution of the method by the first terminal device as an example, the method includes: the first terminal device can send a first discovery message, wherein the first discovery message is used to request a first type of device for a first service, the first service is a multicast or broadcast service, and the first type of device for the first service is used to receive and forward data of the first service. The first terminal device can receive a first confirmation message from the second terminal device, wherein the first confirmation message indicates that the second terminal device is a candidate relay device for the first service. The first terminal device can determine that the second terminal device is a first type of device for the first service based on the first confirmation message.

[0052] In the above method, the first terminal device can determine whether the second terminal device becomes the first type device of the first service based on the first confirmation message. After the second terminal device receives the data of the first service, if the second terminal device is the first type device of the first service, the second terminal device forwards the data of the first service; otherwise, the data of the first service is not forwarded. Therefore, repeated forwarding of data can be effectively avoided and the data storm problem can be reduced.

[0053] In one possible design, the first terminal device determines that the second terminal device is a first type device of the first service based on the first confirmation message, which may include: the first confirmation message satisfies the first condition, and determines that the second terminal device is a first type device of the first service.

[0054] In one possible design, the above method may also include: the first terminal device may establish a first unicast link with the second terminal device.

[0055] In one possible design, the above method may also include: the first terminal device may forward data of the first service.

[0056] In one possible design, the first terminal device forwarding the data of the first service may include: the first terminal device may apply the identifier of the source device of the first service and the identifier of the first service to forward the data of the first service.

[0057] In one possible design, the first discovery message includes at least one of the following: relay indication information corresponding to the first service, an identifier corresponding to the first service, location information of the source device of the first service, an identifier of the source device of the first service, the maximum number of relay hops corresponding to the first service, and the number of relay hops corresponding to the first terminal device.

[0058] In one possible design, the first confirmation message includes at least one of the following: location information of the second terminal device, and the number of relay hops corresponding to the second terminal device.

[0059] In one possible design, the first condition includes at least one of the following: the signal quality of the first confirmation message is greater than a first preset value, or the distance between the second terminal device and the first terminal device is less than a second preset value, the distance between the second terminal device and the first terminal device is determined based on the location information of the second terminal device and the location information of the first terminal device, or the number of relay hops corresponding to the second terminal device is less than a third preset value.

[0060] In a fourth aspect, a communication method is provided, which can be performed by a first terminal device or a module (such as a chip) applied to the first terminal device. Taking the first terminal device performing the method as an example, the method includes: the first terminal device can receive a first discovery message from a second terminal device, wherein the first discovery message indicates that the second terminal device is a candidate relay device for the first service. The first terminal device can determine, based on the first discovery message, that the second terminal device is a first type device of the first service, wherein the first type device of the first service is used to receive and forward data of the first service.

[0061] In the above method, the first terminal device can determine whether the second terminal device becomes the first type device of the first service based on the first discovery message. After the second terminal device receives the data of the first service, if the second terminal device is the first type device of the first service, the second terminal device forwards the data of the first service; otherwise, the data of the first service is not forwarded. Therefore, repeated forwarding of data can be effectively avoided and the data storm problem can be reduced.

[0062] In one possible design, the first terminal device determines that the second terminal device is a first type device of the first service based on the first discovery message, which may include: the first discovery message satisfies the first condition, and determines that the second terminal device is a first type device of the first service.

[0063] In one possible design, the first discovery message includes at least one of the following: location information of the second terminal device, and the number of relay hops corresponding to the second terminal device.

[0064] In one possible design, the first condition includes at least one of the following: the signal quality of the first discovery message is greater than a first preset value, or the distance between the second terminal device and the first terminal device is less than a second preset value, the distance between the second terminal device and the first terminal device is determined based on the location information of the second terminal device and the location information of the first terminal device, or the number of relay hops corresponding to the second terminal device is less than a third preset value.

[0065] In one possible design, the first discovery message also includes first information of other terminal devices that can be monitored by the second terminal device, and the first information includes at least one of the following: an identifier of a service supported by the other terminal device; location information of the other terminal device; and relay capability information of the other terminal device.

[0066] In a fifth aspect, a communication method is provided. The method can be performed by a first terminal device or a module (such as a chip) implemented in the first terminal device. Taking the first terminal device performing the method as an example, the method includes: the first terminal device can receive data of a first service from a second terminal device. If a first forwarding probability corresponding to the first terminal device satisfies a first condition, the first terminal device can forward the data of the first service.

[0067] In the above method, after receiving the data of the first service, the first terminal device determines whether to forward the data of the first service based on the first forwarding probability corresponding to the first terminal device, which can effectively avoid repeated forwarding of data and reduce data storm problems.

[0068] In one possible design, the first terminal device sending data of the first service may include: the first terminal device may apply the identifier of the source device of the first service and the identifier of the first service to send the data of the first service.

[0069] In one possible design, the first terminal device also receives the maximum number of relay hops, the number of relay hops corresponding to the second terminal device, and the location information of the source device of the first service from the second terminal device.

[0070] In one possible design, the first forwarding probability corresponding to the first terminal device is determined based on at least one of the maximum number of relay hops, the number of relay hops corresponding to the second terminal device, the location information of the source terminal device, and the location information of the first terminal device.

[0071] In a sixth aspect, an embodiment of the present application provides a communication system, comprising a first terminal device for executing any implementation method in the first to fifth aspects.

[0072] In a seventh aspect, the present application further provides a communication device, which may be a first terminal device, having the functions of implementing the first terminal device in each possible design example of the first to fifth aspects and any aspect. The functions may be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more units corresponding to the above functions.

[0073] In one possible design, the structure of the communication device may include a transceiver unit and a processing unit, which can perform the corresponding functions of the first terminal device in each possible design example in the first to fifth aspects above. For details, please refer to the detailed description in the method example, which will not be repeated here.

[0074] In one possible design, the communication device includes an interface circuit and one or more processors. Optionally, the communication device also includes a memory. The interface circuit is used to transmit and receive data, as well as to communicate and interact with other devices in the communication system. The one or more processors are configured to support the communication device in performing the corresponding functions of the first terminal device in each of the possible design examples of the first to fifth aspects described above. The memory is coupled to the one or more processors and stores the necessary program instructions and data for the communication device.

[0075] In an eighth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores program instructions. When the program instructions are run on a computer, the computer implements the method described in any one of the first to fifth aspects of the embodiment of the present application, as well as any possible design of any aspect.

[0076] In the ninth aspect, the present application also provides a chip, which is coupled to a memory and is used to read and execute program instructions stored in the memory to implement the method described in any one of the first to fifth aspects above, and any possible design of any aspect.

[0077] In the tenth aspect, an embodiment of the present application provides a computer program product including computer program code or instructions, which, when running on a computer, enables the computer to implement the method described in any one of the above-mentioned first to fifth aspects, and any possible design of any aspect.

[0078] For the technical effects that can be achieved by possible designs in the above-mentioned sixth to tenth aspects and each aspect, please refer to the above-mentioned description of the technical effects that can be achieved by possible designs in the above-mentioned first to fifth aspects and each aspect, and this application will not repeat them here. BRIEF DESCRIPTION OF THE DRAWINGS

[0079] FIG1( a ) is a schematic diagram of a control plane protocol stack for sidelink communication according to an embodiment of the present application;

[0080] FIG1( b ) is a schematic diagram of the structure of a user plane protocol stack for sidelink communication provided in an embodiment of the present application;

[0081] FIG2 is a schematic diagram of a communication architecture of a UE-to-UE Relay provided in an embodiment of the present application;

[0082] FIG3( a ) is a schematic diagram of the structure of a user plane protocol stack of an L3 relay provided in an embodiment of the present application;

[0083] FIG3( b ) is a schematic diagram of the structure of a user plane protocol stack of an L2 relay provided in an embodiment of the present application;

[0084] FIG4 is a flow chart of a communication method provided in an embodiment of the present application;

[0085] FIG5 is a schematic diagram of a structure for determining an area identifier according to an embodiment of the present application;

[0086] FIG6( a ) is a schematic diagram of the structure of a data packet provided in an embodiment of the present application;

[0087] FIG6( b ) is a schematic diagram of the structure of a data packet provided in an embodiment of the present application;

[0088] FIG7 is a flow chart of a communication method provided in an embodiment of the present application;

[0089] FIG8( a ) is a schematic diagram of the structure of a data packet provided in an embodiment of the present application;

[0090] FIG8( b ) is a schematic diagram of the structure of a data packet provided in an embodiment of the present application;

[0091] FIG9 is a flow chart of a communication method provided in an embodiment of the present application;

[0092] FIG10 is a flow chart of a communication method provided in an embodiment of the present application;

[0093] FIG11 is a flow chart of a communication method provided in an embodiment of the present application;

[0094] FIG12 is a schematic structural diagram of a communication device provided in an embodiment of the present application;

[0095] FIG13 is another structural diagram of a communication device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0096] In order to make the purpose, technical solutions and advantages of this application more clear, the application will be further described in detail below with reference to the accompanying drawings. The specific operation methods and functional descriptions in the method embodiments can also be applied to the device embodiments or system embodiments.

[0097] To facilitate understanding of the solutions of the embodiments of the present application, the nouns or terms involved in the embodiments of the present application are first explained below.

[0098] 1) Sidelink communication

[0099] In a wireless communication system, data communication can be carried out between UEs through the network, or UEs can communicate directly with each other without the help of the network. The interface between UEs is called the PC5 interface, which is similar to the Uu interface between UEs and access network equipment. The link between UEs is called sidelink. A typical application scenario of sidelink communication is vehicle-to-everything (V2X). In the vehicle network, each vehicle is a UE, and data can be transmitted directly between UEs through sidelink without going through the network, which can effectively reduce communication delays. It is understandable that the sidelink can also be called side link, side link, side link, etc.

[0100] 2) The control plane protocol stack for sidelink communication is shown in Figure 1(a). From top to bottom, it consists of the radio resource control (RRC) layer, the packet data convergence protocol (PDCP) layer, the radio link control (RLC) layer, the media access control (MAC) layer, and the physical layer (PHY layer).

[0101] The user plane protocol stack for sidelink communication is shown in Figure 1(b). From top to bottom, it includes the service data adaptation protocol (SDAP) layer, the packet data convergence protocol (PDCP) layer, the radio link control (RLC) layer, the media access control (MAC) layer, and the physical layer (PHY layer).

[0102] 3) Unicast, multicast, and broadcast on sidelink

[0103] Unicast communication over the sidelink is similar to data communication performed after a radio resource control (RRC) connection is established between a UE and an access network device. This requires a unicast connection to be established between the two UEs. After the unicast connection is established, the two UEs can communicate data based on the negotiated identifier, with or without encryption.

[0104] Multicast communication on the sidelink refers to communication between all UEs in a communication group. Any UE in the group can send or receive data for the multicast service.

[0105] Broadcast communication on the sidelink is similar to the access network device broadcasting system information, that is, the UE sends broadcast service data to the outside without encryption. Any other UE within the effective reception range that is interested in the broadcast service can receive the broadcast service data.

[0106] During sidelink communication (including unicast, multicast, and broadcast), sidelink communication corresponds to a pair of source layer-2 identifiers (source L2 IDs) and destination layer-2 identifiers (destination L2 IDs). The subheader of each sidelink media access control protocol data unit (MAC PDU) and physical layer control signaling generally contain the source L2 ID and destination L2 ID to ensure that data is transmitted from the sender to the correct receiver.

[0107] The source L2 ID is assigned by the transmitting UE (or source UE). Depending on the communication type (unicast, multicast, or broadcast) and standard (LTE or NR), the transmitting UE will select a different source L2 ID. If the UE's sidelink service type requires privacy protection to prevent tracking and identification by other UEs, the transmitting UE must also periodically update the source L2 ID.

[0108] The destination L2 ID depends on the service type. The correspondence between the destination L2 ID and the unicast / multicast / broadcast service is defined through pre-configuration, application layer server or core network configuration. During multicast / broadcast communication, the transmitting UE determines the corresponding destination L2 ID based on the multicast / broadcast service type. The destination L2 ID is predefined by the protocol. During unicast communication, the transmitting UE first needs to establish a unicast connection with the destination UE. During the unicast connection establishment process, the transmitting UE will first select a default destination L2 ID. The default destination L2 ID is related to the service type of the unicast communication. After the unicast connection is established, the transmitting UE continues to use the default destination L2 ID for unicast communication.

[0109] 4) Discovery procedure

[0110] A UE supporting proximity services uses the discovery process to find nearby UEs and establish a unicast connection with them for subsequent sidelink communication. The UE's discovery protocol layer generates a discovery message, submits it to the PDCP layer, and then sends it to the peer UE through the lower layer.

[0111] There are two models for the discovery process: Model A and Model B. In Model A, UEs can be divided into Announcing UEs and Monitoring UEs. The Announcing UE broadcasts a discovery message, which is also called an announcement message. The announcement message can carry specific information about the Announcing UE, such as a relay service code (RSC) indicating the type of service that can be provided, which is used by surrounding UEs to determine whether they need the type of service that the Announcing UE can provide. After the neighboring Monitoring UE monitors and receives the announcement message, it determines whether to use the Announcing UE as the peer UE for sidelink communication based on the content carried in the announcement message.

[0112] In Model B, UEs can be divided into discoverer UEs and discoveree UEs. The discoverer UE broadcasts a discovery message, also known as a solicitation message, which carries information about the service types the discoverer UE is interested in. After monitoring and receiving the solicitation message, the discoveree UE, if it finds that it meets the discoverer UE's service requirements, responds with another discovery message, also known as a response message.

[0113] Similar to sidelink communications, discovery messages carry a source L2 ID and a destination L2 ID, which are used by UEs to send or receive discovery messages. The source L2 ID is assigned by the transmitting UE, and the destination L2 ID is a predefined or preconfigured default destination L2 ID. Note that this default destination L2 ID is different from the default destination L2 ID used in sidelink unicast communications and is specifically used for discovery messages.

[0114] 5) Radio Bearer (RB): A radio bearer is a general term for a series of protocol entities and configurations allocated by a base station to a UE, including the packet data convergence protocol (PDCP) entity, the radio link control (RLC) protocol entity, the medium access control (MAC) protocol entity, and a series of resources allocated by the physical layer (PHY). Radio bearers are divided into data radio bearers (DRBs) and signaling radio bearers (SRBs). The former is used to carry data, and the latter is used to carry signaling messages. In sidelink communication scenarios, communication between UEs is carried out through sidelink radio bearers (SLRBs), including sidelink data radio bearers (SL DRBs) and sidelink signaling radio bearers (SL SRBs). In the protocol text, radio bearer configuration generally only includes the configuration of the PDCP layer and the SDAP layer. Protocol entities below the RLC layer are called RLC bearers, and the corresponding configuration is given in the RLC bearer configuration.

[0115] 6) RLC Bearer: An RLC bearer refers to the protocol entities and configurations below the RLC layer. It is the lower layer of a radio bearer and includes a series of resources, such as RLC protocol entities and logical channels. An RLC bearer is associated with a logical channel at the MAC layer. An RLC bearer is associated with a PDCP entity; that is, one RLC bearer serves one radio bearer. If the adaptation layer supports bearer multiplexing, one RLC bearer can also serve multiple radio bearers.

[0116] 7) Unicast connection establishment

[0117] After the discovery process, UEs establish unicast connections through the unicast connection establishment process. The UE that initiates the unicast connection establishment process is called the initiating UE, and the peer UE of the initiating UE is called the target UE. After the discovery process, the initiating UE sends a unicast connection establishment request (direct communication request, DCR) message to the target UE, which carries the L2 ID of the initiating UE, the L2 ID of the target UE and user information. The user information includes information related to the upper application layer. After receiving the unicast connection establishment request message, the target UE determines whether the unicast connection establishment request can be accepted based on the user information in the unicast connection establishment request message. If the unicast connection establishment request can be accepted, a unicast connection accept (direct communication accept, DCA) message is replied to the initiating UE. Otherwise, a unicast connection reject (direct communication reject, DCR) message is replied to the initiation UE.

[0118] In the above model A, after the monitoring UE finds a suitable peer UE, it can actively initiate a unicast connection establishment process.

[0119] In the above model B, after the discoverer UE receives the response message from the appropriate discoveree UE, it can initiate the unicast establishment process.

[0120] 8) UE-to-UE Relay (also known as UE-to-UE Relay)

[0121] When UEs communicate directly with each other via sidelink, the range of the sidelink communication between them may be limited due to factors such as insufficient hardware capabilities of the transmitting UE. To expand the range of sidelink communication between UEs, UE-to-UE relay has been proposed. UE-to-UE relay, also known as relay technology, is a technology in which a relay UE (relay UE) facilitates communication between the transmitting and receiving UEs. The relay UEs can be one or more.

[0122] Figure 2 shows the communication architecture of a UE-to-UE relay. UE1 communicates with UE2 through the cooperation of a relay UE. UE1 and the relay UE communicate via sidelink, with the corresponding interface being PC5. The relay UE and UE2 communicate via sidelink, with the corresponding interface being PC5.

[0123] Currently, there are two implementation methods for UE-2-UE Relay, namely, a relay method based on L3 (Layer 3) and a relay method based on L2 (Layer 2).

[0124] In the L3 relay mode, user plane data is relayed at the IP layer. The corresponding user plane protocol stack for L3 relay is shown in Figure 3(a). When a data packet from UE1 to UE2 is relayed by the relay UE, the relay UE needs to parse it at the IP layer and determine the forwarding destination, UE2, based on information such as the IP address.

[0125] In the L2 relay mode, user plane data is relayed below the PDCP layer. The user plane protocol stack corresponding to the L2 relay is shown in Figure 3(b). The relay UE only maintains the relayed RLC bearer, including the RLC layer, MAC layer, and PHY layer. In addition, the protocol architecture adds an adaptation layer between the RLC layer and the PDCP layer. The main function of the adaptation layer is to multiplex and split the bearer, that is, to support different wireless bearers to be multiplexed on one RLC bearer or to split the wireless bearer data multiplexed on one RLC bearer.

[0126] Next, the communication method provided in the embodiments of the present application is introduced with reference to the accompanying drawings.

[0127]

Implementation method 1

[0128] FIG4 shows a flow chart of a communication method provided in an embodiment of the present application.

[0129] S401, the second terminal device sends a first message.

[0130] In one possible implementation, the second terminal device may be a source device for the first service, where the source device for the first service may be used to generate and send data for the first service. The second terminal device may also be a first-type device for the first service, where the first-type device is used to receive and forward data for the first service. It should be understood that the second terminal device may be any first-type device, without limitation. The second terminal device does not forward data other than the first service. The first service may be any multicast or broadcast service, without limitation.

[0131] The first message may be used to indicate that the second terminal device is a first-type device of the first service or a source device of the first service. If the second terminal device is the source device of the first service, the second terminal device may send the first message once; if the second terminal device is a first-type device of the first service, the second terminal device may send the first message periodically.

[0132] When the second terminal device is a source device of the first service, the second terminal device may first send the first message in a multicast / broadcast format before sending data of the first service. When the second terminal device is a first-type device of the first service, the source device of the first service may first send the first message in a multicast / broadcast format before sending data of the first service.

[0133] In one possible implementation, the second terminal device may use the identifier of the first service to send the first message. Alternatively, the second terminal device may use the first identifier and the identifier of the first service to send the first message. The first identifier may be the identifier of the source device of the first service or the identifier of the second terminal device, without limitation.

[0134] In an embodiment of the present application, the first message may include second location information of the second terminal device, where the second location information may be used to indicate a second location area where the second terminal device is located. The second location information may be determined based on the geographic location of the second terminal device and may include the following two possible implementations.

[0135] In a first possible implementation, the geographical location information of the second terminal device may be directly used as the second location information, and the geographical location information of the second terminal device may be used to indicate the second location area where the second terminal device is located.

[0136] Specifically, the geographic location information of the second terminal device includes the longitude and latitude of the location of the second terminal device. The longitude and latitude of the location of the second terminal device can be directly used as the second location information.

[0137] In a second possible implementation, the area identifier of the area where the second terminal device is located can be determined based on the geographic location information of the second terminal device, and the area identifier of the area where the second terminal device is located can be used as the second location information. The area identifier of the area where the second terminal device is located indicates the second location area where the second terminal device is located.

[0138] Specifically, the geographic location information of the second terminal device includes the longitude and latitude of the location of the second terminal device, and the area identifier of the area where the second terminal device is located can be determined based on the longitude and latitude of the location of the second terminal device.

[0139] In one possible implementation, a first reference identifier is determined based on the longitude coordinates and the first length of the location of the second terminal device; a second reference identifier is determined based on the latitude coordinates and the first width of the location of the second terminal device; and finally, an area identifier of the area where the second terminal device is located is determined based on the first reference identifier and the second reference identifier.

[0140] Optionally, the difference between the longitude coordinate of the location of the second terminal device and the longitude reference coordinate is first used as the longitude distance corresponding to the second terminal device, and then the third reference identifier is determined based on the ratio of the longitude distance corresponding to the second terminal device to the first length. Finally, the third reference identifier is modulo the first reference value to obtain the first reference identifier.

[0141] Similarly, the difference between the latitude coordinate of the location of the second terminal device and the latitude reference coordinate is first used as the latitude distance corresponding to the second terminal device, and then the fourth reference identifier is determined based on the ratio of the latitude distance corresponding to the second terminal device to the first width. Finally, the fourth reference identifier is modulo the first reference value to obtain the second reference identifier.

[0142] Finally, the product of the second reference identifier and the first reference value is used as the first temporary value, and the sum of the first temporary value and the first reference identifier is used as the area identifier of the area where the second terminal device is located.

[0143] Accordingly, the area identifier of the area where the second terminal device is located can be determined by the following formula:

[0144] UE2_Zone ID=y1*B+x1

[0145] Among them, UE2_Zone ID represents the area identifier of the area where the second terminal device is located, x1 represents the first reference identifier, y1 represents the second reference identifier, x represents the latitude distance corresponding to the second terminal device, XLength represents the first length, y represents the longitude distance corresponding to the second terminal device, YLength represents the first width, B represents the first reference value, Floor() represents rounding down, and Mod represents the modulo operation.

[0146] For example, as shown in FIG5 , (a) in FIG5 exemplarily shows an area to be divided, and the area to be divided includes multiple terminal devices, wherein UE2 is a second terminal device, and the first reference value B is set to 64, the first length XLength is 20, and the first width YLength is 20. If the longitude and latitude coordinates of the location of UE2 are 30 and 30 respectively, the longitude reference coordinate is 0, and the latitude reference coordinate is 0, it can be determined that the longitude distance y corresponding to UE2 is 30 (i.e. 30-0=30), and the latitude distance x corresponding to UE2 is 30 (i.e. 30-0=30). Based on the above formula, it can be determined that the first reference identifier x1 of UE2 is 1 (i.e. ), the second reference identifier y1 of UE2 is 1 (i.e. ), and finally, the area identifier of the area where UE2 is located is 65 (ie, 1*64+1=65). As can be seen from the above, the terminal devices located in the same area have the same area identifier. The size of each area is determined by the first length and the first width.

[0147] In one possible implementation, the second terminal device sends the first message in a multicast / broadcast format, and at least one terminal device in the vicinity of the second terminal device can receive the first message. For ease of description, the following example uses the case where a first terminal device receives the first message from a second terminal device, where the first terminal device is any terminal device in the vicinity of the second terminal device.

[0148] In a possible implementation, the first terminal device may use the identifier of the first service to receive the first message from the second terminal device.

[0149] Similarly, the first terminal device can also determine the first location information of the first terminal device, and the first location information can be used to indicate the first location area where the first terminal device is located. The first location information can be determined based on the geographic location of the first terminal device. The method for determining the first location information is the same as the method for determining the second location information, and is not further described here.

[0150] S402: The first terminal device is determined to be a first type device or a second type device of the first service according to the first message.

[0151] In one possible implementation, the first terminal device obtains the second location information of the second terminal device from the first message, and determines whether the first terminal device is a first type device or a second type device for the first service based on the first location information of the first terminal device and the second location information of the second terminal device. The second type device is configured to receive data for the first service but not forward it; alternatively, the second type device is configured not to receive data for the first service.

[0152] The first terminal device may be determined to be a first type device for the first service through the following three possible implementations:

[0153] In a first possible implementation, if the first location information does not match the second location information, it is determined that the first terminal device is a first type device of the first service.

[0154] In a second possible implementation, if the first location information does not match the second location information and the first terminal device does not receive a third message from the third terminal device, then the first terminal device is determined to be a first-type device for the first service. The third message includes third location information of the third terminal device, the third message indicates that the third terminal device is a first-type device for the first service, and the third location information matches the first location information.

[0155] A third possible implementation is that if the first location information does not match the second location information, and the first terminal device does not receive a third message from the third terminal device within a first preset time period, the first terminal device is determined to be a first type device for the first service.

[0156] It should be understood that the starting point of the first preset time period may be the time point corresponding to when the first terminal device receives the first message, or the time point corresponding to when the first terminal device determines that the first location information does not match the second location information, which is not limited here.

[0157] The following three possible implementations may be used to determine that the first terminal device is a second-type device for the first service:

[0158] In a first possible implementation, if the first location information matches the second location information, it is determined that the first terminal device is a second type device of the first service.

[0159] In a second possible implementation, if the first location information does not match the second location information, and the first terminal device receives a third message from a third terminal device, it is determined that the first terminal device is a second type device of the first service.

[0160] A third possible implementation is that if the first location information does not match the second location information, and within a first preset time period, the first terminal device receives a third message from a third terminal device, then the first terminal device is determined to be a second type device of the first service.

[0161] In the above method, the first terminal device can determine whether to become the first type device of the first service based on the first message, and then determine whether the first terminal device forwards the data of the first service, which can effectively avoid repeated forwarding of data and reduce data storm problems.

[0162] Optionally, the first terminal device may determine whether the first location information matches the second location information by:

[0163] If the first location area indicated by the first location information is different from the second location area indicated by the second location information, the first location information and the second location information do not match; if the first location area indicated by the first location information and the second location area indicated by the second location information are the same, the first location information and the second location information match.

[0164] Optionally, when the first location information is the area identifier of the area where the first terminal device is located, and the second location information is the area identifier of the area where the second terminal device is located, if the area identifier of the area where the first terminal device is located is different from the area identifier of the area where the second terminal device is located, the first location information does not match the second location information; if the area identifier of the area where the first terminal device is located is the same as the area identifier of the area where the second terminal device is located, the first location information matches the second location information.

[0165] Optionally, when the first location information is the geographic location information of the first terminal device and the second location information is the geographic location information of the second terminal device, the area identifier of the area where the first terminal device is located can be determined based on the geographic location information of the first terminal device, and the area identifier of the area where the second terminal device is located can be determined based on the geographic location information of the second terminal device. If the area identifier of the area where the first terminal device is located is different from the area identifier of the area where the second terminal device is located, the first location information of the first terminal device does not match the second location information; if the area identifier of the area where the first terminal device is located is the same as the area identifier of the area where the second terminal device is located, the first location information of the first terminal device matches the second location information.

[0166] In one possible implementation, after receiving the first message, the first terminal device may further determine the first identifier based on the first message. It should be understood that the first identifier is the identifier used by the second terminal device to send the first message, which has been described above and will not be repeated here.

[0167] After determining that the first terminal device is a second-type device for the first service, the first terminal device does not send the second message. After determining that the first terminal device is a first-type device for the first service, the first terminal device may send a second message. The second message includes the first location information of the first terminal device, and the second message indicates that the first terminal device is a first-type device for the first service. The first terminal device may send the second message in the following two possible implementations: the first terminal device may use the identifier of the first service to send the second message. Alternatively, the first terminal device may use the first identifier and the identifier of the first service to send the second message.

[0168] The first terminal device may send the second message in a multicast / broadcast format. The first terminal device may periodically send the second message in a multicast / broadcast format, and any terminal device around the first terminal device may receive the second message.

[0169] In one possible implementation, the first terminal device may also receive data of the first service and determine the identifier of the source device of the first service based on the data of the first service. After determining that the first terminal device is a second-type device of the first service, the first terminal device may not forward the data of the first service. After determining that the first terminal device is a first-type device of the first service, the first terminal device may forward the data of the first service. Specifically, the first terminal device may apply the identifier of the source device of the first service and the identifier of the first service to forward the data of the first service. The data of the first service may come from any first-type device or the source device of the first service, and is not limited to the second terminal device.

[0170] It should be understood that when receiving data of the first service, the first terminal device can apply the identifier of the first service to receive the data of the first service.

[0171] In one possible implementation, if the data of the first service comes from the source device of the first service, the first terminal device can receive the data of the first service and the location information of the source device of the first service sent by the source device of the first service, wherein the data packet format corresponding to the data of the first service and the location information of the source device of the first service is shown in Figure 6(a).

[0172] After determining that the first terminal device is a second-type device for the first service, the first terminal device may not forward the data of the first service. After determining that the first terminal device is a first-type device for the first service, the first terminal device may forward the data of the first service, the first location information of the first terminal device, and the location information of the source device of the first service.

[0173] In one possible implementation, if the data of the first service comes from any first-type device, for ease of description, the data of the first service comes from a second terminal device as an example. The first terminal device can receive the data of the first service sent by the second terminal device, the second location information of the second terminal device, and the location information of the source device of the first service, wherein the data packet format corresponding to the data of the first service, the second location information of the second terminal device, and the location information of the source device of the first service is shown in Figure 6(b). After determining that the first terminal device is a second-type device for the first service, the first terminal device may not forward the data of the first service.

[0174] After determining that the first terminal device is a first type device of the first service, the first terminal device can determine whether to forward the data of the first service, the first location information of the first terminal device, and the location information of the source device of the first service based on the first location information, the second location information, and the location information of the source device of the first service.

[0175] Specifically, if the second location information includes the longitude and latitude of the location of the second terminal device, the location information of the source device of the first service includes the longitude and latitude of the location of the source device of the first service, the first location information includes the longitude and latitude of the location of the first terminal device, the longitude of the location of the first terminal device is between the longitude of the location of the second terminal device and the longitude of the location of the source device of the first service, and the latitude of the location of the first terminal device is between the latitude of the location of the second terminal device and the latitude of the location of the source device of the first service, then the first terminal device forwards the data of the first service, the first location information of the first terminal device, and the location information of the source device of the first service; otherwise, the first terminal device does not forward the data of the first service.

[0176] If the second location information includes the area identifier of the area where the second terminal device is located, the location information of the source device of the first service includes the area identifier of the area where the source device of the first service is located, and the first location information includes the area identifier of the area where the first terminal device is located, the first terminal device determines, based on the above area identifiers, that the area where the first terminal device is located is between the area where the second terminal device is located and the area where the source device of the first service is located, then the first terminal device forwards the data of the first service, the first location information of the first terminal device, and the location information of the source device of the first service; otherwise, the first terminal device does not forward the data of the first service.

[0177] For example, based on the area identification in (b) of Figure 5, the area identification of the area where the second terminal device is located is 134, the area identification of the area where the source device of the first service is located is 0, and the area identification of the area where the first terminal device is located is 67. Based on the above area identifications, the first terminal device can determine that the area where the first terminal device is located is between the area where the second terminal device is located and the area where the source device of the first service is located. Therefore, the first terminal device forwards the data of the first service, the first location information of the first terminal device, and the location information of the source device of the first service.

[0178] In the above method, the second terminal device forwards the data of the first service, the second location information of the second terminal device and the location information of the source device of the first service together, so that the first terminal device can determine whether to forward the data of the first service based on the first location information, the second location information and the location information of the source device of the first service, which can effectively avoid repeated forwarding of data and reduce data storm problems.

[0179] Optionally, after determining that the first terminal device is a first type device for the first service, the first terminal device may also determine whether to forward the second message and the data of the first service based on its own device parameters. The device parameters of the first terminal device may include at least one of the following: network load, remaining power, etc. If the first terminal device is determined to be a first type device for the first service, and the remaining power of the first terminal device is less than the first power threshold, the first terminal device may not forward the second message and the data of the first service. Alternatively, if the first terminal device is determined to be a first type device for the first service, and the network load of the first terminal device is greater than the first load threshold, the first terminal device may not forward the second message and the data of the first service.

[0180] In the above method, the first terminal device can dynamically adjust whether to act as a first type device according to its own device parameters, which can effectively improve flexibility.

[0181] Assume that a first terminal device is located in a first area and is a first-type device for a first service. After the first terminal device determines not to send a second message based on its own device parameters, there are no first-type devices for the first service in the first area. Other devices in the first area (i.e., second-type devices for the first service) that do not receive the second message within a second preset time period will be determined to be first-type devices for the first service. If there are multiple second-type devices in the first area, in order to prevent all of the above multiple second-type devices from becoming first-type devices for the first service in the first area, the second preset time period corresponding to each second-type device can be a different, randomly determined time period.

[0182] Optionally, each terminal device can move freely. As the terminal device moves, the geographical location information of each terminal device also changes accordingly. Thus, the area identifier of the area where each terminal device is located also changes accordingly.

[0183] Assume that a first terminal device is located in a first area and is a first-type device for a first service. After the first terminal device moves to a second area, there are no first-type devices for the first service in the first area. Other devices in the first area (i.e., second-type devices for the first service) that do not receive the second message within a second preset time period will be determined to become first-type devices for the first service. If there are multiple second-type devices in the first area, in order to prevent all of the above second-type devices from becoming first-type devices for the first service in the first area, the second preset time period corresponding to each second-type device can be a randomly determined different time period.

[0184] In addition, after the first terminal device moves to the second area, the first terminal device located in the second area can be adjusted to a second type device for the first service.

[0185] In the above method, as each terminal device continues to move, it can be ensured that the first type of device for the first service exists in each area, which can effectively ensure that the multicast / broadcast service is not interrupted.

[0186]

Implementation method 2

[0187] FIG7 shows a flow chart of a communication method provided in an embodiment of the present application.

[0188] S701: A first terminal device receives data of at least one service.

[0189] In one possible implementation, a first terminal device may receive data for at least one service sent by a source device, or may receive data for at least one service sent by a first-type device. The source device of the at least one service may generate and send data for the at least one service, and the first-type device may receive and forward data for the at least one service. Each of the at least one service may be a multicast or broadcast service, without limitation.

[0190] In a possible implementation, the first terminal device may respectively apply the identifier of each service in the at least one service to receive data of each service in the at least one service.

[0191] After receiving data for at least one service, the first terminal device determines whether it has received a first message from the second terminal device. Based on the first message, the first terminal device can determine whether it is a first-type device or a second-type device. A second-type device is configured to receive data for at least one service and not forward it; alternatively, a second-type device is configured not to receive data for at least one service. It should be understood that the second terminal device can be any first-type device, without limitation.

[0192] In one possible implementation, if the second terminal device is a first-type device, the second terminal device may periodically send a first message, and the second terminal device may periodically send the first message in a multicast / broadcast format, where the first message may be used to indicate that the second terminal device is a first-type device. If the first terminal device does not receive the first message from the second terminal device, it is determined that the first terminal device is a first-type device.

[0193] In one possible implementation, the second terminal device may use the first identifier to send the first message. Alternatively, the second terminal device may use the identifier of the second terminal device and the first identifier to send the first message. The first identifier is used to identify the indication type of the first message.

[0194] In an embodiment of the present application, the first message may include second location information of the second terminal device, where the second location information may be used to indicate a second location area where the second terminal device is located. The second location information may be determined based on the geographic location of the second terminal device and may include the following two possible implementations.

[0195] In a first possible implementation, the geographical location information of the second terminal device may be directly used as the second location information. The geographical location information of the second terminal device may be used to indicate the second location area where the second terminal device is located.

[0196] In a second possible implementation, the area identifier of the area where the second terminal device is located can be determined based on the geographic location information of the second terminal device, and the area identifier of the area where the second terminal device is located can be used as the second location information. The area identifier of the area where the second terminal device is located can be used to indicate the second location area where the second terminal device is located.

[0197] Specifically, the method for determining the second position information in the second implementation is the same as the method for determining the second position information in the first implementation, and is not described in detail here.

[0198] Similarly, the first terminal device can also determine the first location information of the first terminal device, and the first location information can be used to indicate the first location area where the first terminal device is located. The first location information can be determined based on the geographic location of the first terminal device. The method for determining the first location information is the same as the method for determining the second location information, and is not further described here.

[0199] S702: The second terminal device sends a first message.

[0200] Correspondingly, the first terminal device receives the first message from the second terminal device.

[0201] In an embodiment of the present application, the first terminal device can use the first identifier to receive the first message from the second terminal device.

[0202] S703: The first terminal device is determined to be a first type device or a second type device according to the first message.

[0203] In one possible implementation, the first terminal device obtains the second location information of the second terminal device from the first message, and determines whether the first terminal device is a first type device or a second type device based on the first location information and the second location information of the first terminal device.

[0204] The first terminal device may be determined to be a first type device through the following three possible implementations:

[0205] In a first possible implementation, if the first location information does not match the second location information, it is determined that the first terminal device is a first type of device.

[0206] In a second possible implementation, if the first location information does not match the second location information and the first terminal device does not receive a third message from the third terminal device, then the first terminal device is determined to be a first-type device. The third message includes third location information of the third terminal device, the third message indicates that the third terminal device is a first-type device, and the third location information matches the first location information.

[0207] In a third possible implementation, if the first location information does not match the second location information, and the first terminal device does not receive a third message from the third terminal device within a first preset time period, the first terminal device is determined to be a first type device.

[0208] It should be understood that the starting point of the first preset time period may be the time point corresponding to when the first terminal device receives the first message, or the time point corresponding to when the first terminal device determines that the first location information does not match the second location information, which is not limited here.

[0209] The following three possible implementations may be used to determine that the first terminal device is a second type device:

[0210] In a first possible implementation, if the first location information matches the second location information, it is determined that the first terminal device is a second type of device.

[0211] In a second possible implementation, if the first location information does not match the second location information, and the first terminal device receives a third message from a third terminal device, it is determined that the first terminal device is a second type of device.

[0212] In a third possible implementation, if the first location information does not match the second location information, and within a first preset time period, the first terminal device receives a third message from a third terminal device, then the first terminal device is determined to be a second type device.

[0213] In the above method, the first terminal device can determine whether to become the first type device of the first service based on the first message, and then determine whether the first terminal device forwards the data of the first service, which can effectively avoid repeated forwarding of data and reduce data storm problems.

[0214] Optionally, the first terminal device may determine whether the first location information matches the second location information by:

[0215] If the first location area indicated by the first location information is different from the second location area indicated by the second location information, the first location information and the second location information do not match; if the first location area indicated by the first location information is the same as the second location area indicated by the second location information, the first location information of the first terminal device matches the second location information.

[0216] Optionally, when the first location information is the area identifier of the area where the first terminal device is located, and the second location information is the area identifier of the area where the second terminal device is located, if the area identifier of the area where the first terminal device is located is different from the area identifier of the area where the second terminal device is located, the first location information of the first terminal device does not match the second location information; if the area identifier of the area where the first terminal device is located is the same as the area identifier of the area where the second terminal device is located, the first location information of the first terminal device matches the second location information.

[0217] Optionally, when the first location information is the geographic location information of the first terminal device and the second location information is the geographic location information of the second terminal device, the area identifier of the area where the first terminal device is located can be determined based on the geographic location information of the first terminal device, and the area identifier of the area where the second terminal device is located can be determined based on the geographic location information of the second terminal device. If the area identifier of the area where the first terminal device is located is different from the area identifier of the area where the second terminal device is located, the first location information of the first terminal device does not match the second location information; if the area identifier of the area where the first terminal device is located is the same as the area identifier of the area where the second terminal device is located, the first location information of the first terminal device matches the second location information.

[0218] In one possible implementation, after determining that the first terminal device is a second-type device, the first terminal device does not send a second message. After determining that the first terminal device is a first-type device, the first terminal device may send a second message. The second message includes the first location information of the first terminal device, and the second message indicates that the first terminal device is a first-type device. The first terminal device may send the second message in the following two possible implementations: the first terminal device may use the first identifier to send the second message. Alternatively, the first terminal device may use the first terminal device identifier and the first identifier to send the second message.

[0219] The first terminal device may send the second message in a multicast / broadcast format. The first terminal device may periodically send the second message in a multicast / broadcast format, and any terminal device around the first terminal device may receive the second message.

[0220] In one possible implementation, after receiving data of at least one service, the first terminal device may determine the identifier of the source device corresponding to the at least one service based on the data of the at least one service. After determining that the first terminal device is a second-type device for the first service, the first terminal device may not forward the data of the first service. After determining that the first terminal device is a first-type device, the first terminal device may forward the data of at least one service. Specifically, the first terminal device may apply the identifier of the source device corresponding to the at least one service and the identifier corresponding to the at least one service to forward the data of the at least one service. The data of the at least one service may come from any first-type device or source device, and is not limited to the second terminal device.

[0221] It should be understood that when receiving data of the first service, the first terminal device may apply the identifier of at least one service to receive data of the at least one service.

[0222] In one possible implementation, if the data of at least one service comes from a source device, the first terminal device can receive the data of at least one service and the location information of the source device sent by the source device of the at least one service, wherein the data packet format corresponding to the data of at least one service and the location information of the source device is shown in Figure 8(a).

[0223] After determining that the first terminal device is a second type device, the first terminal device may not forward data of at least one service. After determining that the first terminal device is a first type device, the first terminal device may forward data of at least one service, the first location information of the first terminal device, and the location information of the source device.

[0224] In one possible implementation, if the data for at least one service originates from any first-type device, for ease of description, the example of the case where the data for at least one service originates from a second terminal device is used. The first terminal device may receive the data for at least one service, the second location information of the second terminal device, and the location information of the source device sent by the second terminal device. The data packet format corresponding to the data for at least one service, the second location information of the second terminal device, and the location information of the source device is shown in FIG8(b).

[0225] After determining that the first terminal device is a second-type device, the first terminal device may not forward data for the at least one service. After determining that the first terminal device is a first-type device, the first terminal device may determine whether to forward data for the at least one service, the first location information of the first terminal device, and the location information of the source device based on the first location information, the second location information, and the location information of the source device.

[0226] Specifically, if the second location information includes the longitude and latitude of the location of the second terminal device, the location information of the source device includes the longitude and latitude of the location of the source device, the first location information includes the longitude and latitude of the location of the first terminal device, the longitude of the location of the first terminal device is between the longitude of the location of the second terminal device and the longitude of the location of the source device, and the latitude of the location of the first terminal device is between the latitude of the location of the second terminal device and the latitude of the location of the source device, then the first terminal device forwards the data of at least one service, the first location information of the first terminal device, and the location information of the source device; otherwise, the first terminal device does not forward the data of at least one service.

[0227] If the second location information includes the area identifier of the area where the second terminal device is located, the location information of the source device includes the area identifier of the area where the source device is located, and the first location information includes the area identifier of the area where the first terminal device is located, the first terminal device determines, based on the above area identifiers, that the area where the first terminal device is located is between the area where the second terminal device is located and the area where the source device is located, then the first terminal device forwards the data of at least one service, the first location information of the first terminal device, and the location information of the source device; otherwise, the first terminal device does not forward the data of at least one service.

[0228] For example, based on the area identifier in (b) of Figure 5, the area identifier of the area where the second terminal device is located is 134, the area identifier of the area where the source device is located is 0, and the area identifier of the area where the first terminal device is located is 67. Based on the above area identifiers, the first terminal device can determine that the area where the first terminal device is located is between the area where the second terminal device is located and the area where the source device is located. Therefore, the first terminal device forwards data of at least one service, the first location information of the first terminal device, and the location information of the source device.

[0229] In the above method, the second terminal device forwards the data of at least one service, the second location information of the second terminal device and the location information of the source device together, so that the first terminal device can determine whether to forward the data of at least one service based on the first location information, the second location information and the location information of the source device, which can effectively avoid repeated forwarding of data and reduce data storm problems.

[0230] Optionally, after determining that the first terminal device is a first type device, the first terminal device may also determine whether to forward the second message and the data of at least one service based on its own device parameters. The device parameters of the first terminal device may include at least one of the following: network load, remaining power, etc. If the first terminal device is determined to be a first type device and the remaining power of the first terminal device is less than a first power threshold, the first terminal device may not forward the second message and the data of at least one service. Alternatively, if the first terminal device is determined to be a first type device for a first service and the network load of the first terminal device is greater than the first load threshold, the first terminal device may not forward the second message and the data of the first service.

[0231] In the above method, the first terminal device can dynamically adjust whether to act as a first type device according to its own device parameters, which can effectively improve flexibility.

[0232] Assuming that a first terminal device is located in a first area and is a first type device, and that the first terminal device determines not to send a second message based on its own device parameters, no first type devices exist in the first area. Other devices in the first area (i.e., second type devices) that do not receive the second message within a second preset time period will be determined to be first type devices. If there are multiple second type devices in the first area, in order to prevent all of the above second type devices from becoming first type devices in the first area, the second preset time period corresponding to each second type device can be a randomly determined different time period.

[0233] Optionally, each terminal device can move freely. As the terminal device moves, the geographical location information of each terminal device also changes accordingly. Thus, the area identifier of the area where each terminal device is located also changes accordingly.

[0234] Assume that a first terminal device is located in a first area and is a first type device. After the first terminal device moves to a second area, there are no first type devices in the first area. Other devices in the first area (i.e., second type devices) that do not receive the second message within a second preset time period will be determined to be first type devices. If there are multiple second type devices in the first area, in order to prevent all of the above second type devices from becoming first type devices in the first area, the second preset time period corresponding to each second type device can be a randomly determined different time period.

[0235] In addition, after the first terminal device moves to the second area, the first terminal device located in the second area can be adjusted to a second type of device.

[0236] In the above method, as each terminal device continues to move, it can be ensured that the first type of device for the first service exists in each area, which can effectively ensure that the multicast / broadcast service is not interrupted.

[0237]

Implementation method three

[0238] FIG9 shows a flow chart of a communication method provided in an embodiment of the present application.

[0239] S901, the first terminal device sends a first discovery message.

[0240] In an embodiment of the present application, the first terminal device may be a source device for a first service, where the source device for the first service may be configured to generate and send data for the first service. The first terminal device may also be a first-type device for the first service, where the first-type device for the first service is configured to receive and forward data for the first service. The first service may be any multicast or broadcast service, without limitation herein.

[0241] The first discovery message is used for a first type of device requesting a first service. The first terminal device may send the first discovery message in a multicast / broadcast format, and at least one terminal device around the first terminal device may receive the first discovery message.

[0242] Optionally, the first discovery message includes at least one of the following: relay indication information corresponding to the first service, an identifier corresponding to the first service, location information of the source device of the first service, an identifier of the source device of the first service, the maximum number of relay hops corresponding to the first service, and the number of relay hops corresponding to the first terminal device.

[0243] The relay indication information corresponding to the first service in the first discovery message may be used to request the terminal device receiving the first discovery message to provide a relay service.

[0244] S902: The second terminal device sends a first confirmation message to the first terminal device.

[0245] In the embodiment of the present application, at least one terminal device around the first terminal device may send a first confirmation message after receiving the first discovery message. For ease of description, the second terminal device is taken as any terminal device around the first terminal device as an example for explanation.

[0246] After receiving the first discovery message, the second terminal device may determine, based on its own device parameters, whether to send a first confirmation message to the first terminal device. If the second terminal device determines, based on its own device parameters, that it can be a candidate relay device for the first service, the second terminal device sends the first confirmation message to the first terminal device, wherein the first confirmation message may be used to indicate that the second terminal device is a candidate relay device for the first service.

[0247] The device parameters of the second terminal device may include at least one of the following: network load, remaining power, etc.

[0248] Specifically, if the network load of the second terminal device is greater than the first load threshold, or the remaining power of the second terminal device is less than the first power threshold, the second terminal device is determined to be a candidate relay device for the first service, and the second terminal device sends a first confirmation message to the first terminal device.

[0249] The first confirmation message may include at least one of the following: location information of the second terminal device, and the number of relay hops corresponding to the second terminal device.

[0250] S903: The first terminal device determines, based on the first confirmation message, that the second terminal device is a first type device of the first service.

[0251] In an embodiment of the present application, a first terminal device may receive a first confirmation message sent by at least one surrounding terminal device and, based on the first confirmation message, determine whether the at least one surrounding terminal device is a first-type device for the first service. The first terminal device may determine one or more first-type devices for the first service from the at least one surrounding terminal device.

[0252] For the convenience of description, the second terminal device is taken as any terminal device around the first terminal device as an example for explanation.

[0253] If the first confirmation message meets the first condition, the second terminal device is determined to be a first-type device of the first service; otherwise, the second terminal device is determined to be a second-type device of the first service, wherein the second-type device of the first service is used to receive data of the first service and does not forward data of the first service; or, the second-type device of the first service is used not to receive data of the first service.

[0254] Optionally, the first condition may include at least one of the following:

[0255] In a first possible implementation manner, the signal quality of the first confirmation message is greater than a first preset value.

[0256] In a second possible implementation, the distance between the second terminal device and the first terminal device is less than a second preset value, wherein the distance between the second terminal device and the first terminal device is determined based on location information of the second terminal device and location information of the first terminal device.

[0257] In a third possible implementation, the number of relay hops corresponding to the second terminal device is less than a third preset value.

[0258] After the first terminal device determines that the second terminal device is a first type device of the first service, the first terminal device establishes a first unicast link with the second terminal device, wherein the first unicast link can be used to transmit interaction information between the first terminal device and the second terminal device.

[0259] The first terminal device may also send data of the first service. Specifically, the first terminal device may use the identifier of the source device of the first service and the identifier of the first service to send the data of the first service. The first terminal device may send the data of the first service in a multicast / broadcast format.

[0260] If the second terminal device successfully receives the data of the first service, it sends a confirmation response message to the first terminal device; if the second terminal device fails to receive the data of the first service, it sends a negative response message to the first terminal device; if the second terminal device does not receive the data of the first service, it does not provide any feedback.

[0261] In the above method, the first terminal device can determine whether the second terminal device becomes the first type device of the first service based on the first confirmation message. After the second terminal device receives the data of the first service, if the second terminal device is the first type device of the first service, the second terminal device forwards the data of the first service; otherwise, the data of the first service is not forwarded. Therefore, repeated forwarding of data can be effectively avoided and the data storm problem can be reduced.

[0262]

Implementation method 4

[0263] FIG10 shows a flow chart of a communication method provided in an embodiment of the present application.

[0264] S1001, the second terminal device sends a first discovery message.

[0265] In an embodiment of the present application, the second terminal device sends the first discovery message in a multicast / broadcast format, and at least one terminal device surrounding the second terminal device can receive the first discovery message. For ease of description, the following description takes the first terminal device as an example, where the first terminal device is any terminal device surrounding the second terminal device.

[0266] The first discovery message indicates that the second terminal device is a candidate relay device for the first service, and the first service is a multicast or broadcast service.

[0267] The first discovery message includes the location information of the second terminal device, the number of relay hops corresponding to the second terminal device, and the first information of other terminal devices that the second terminal device can monitor. The first information includes at least one of the following: the identification of the services supported by other terminal devices; the location information of other terminal devices; and the relay capability information of other terminal devices.

[0268] S1002: The first terminal device determines, based on the first discovery message, that the second terminal device is a first-type device of the first service, wherein the first-type device of the first service is used to receive and forward data of the first service.

[0269] If the first confirmation message satisfies the first condition, the second terminal device is determined to be a first-type device for the first service; otherwise, the second terminal device is determined to be a second-type device for the first service, wherein the first-type device for the first service is configured to receive and forward data of the first service. The second-type device for the first service is configured to receive data of the first service but not forward data of the first service; or, the second-type device for the first service is configured not to receive data of the first service.

[0270] Optionally, the first condition includes at least one of the following:

[0271] In a first possible implementation manner, the signal quality of the first discovery message is greater than a first preset value.

[0272] In a second possible implementation, the distance between the second terminal device and the first terminal device is less than a second preset value, wherein the distance between the second terminal device and the first terminal device is determined based on location information of the second terminal device and location information of the first terminal device.

[0273] In a third possible implementation, the number of relay hops corresponding to the second terminal device is less than a third preset value.

[0274] Optionally, the first terminal device may also determine whether the second terminal device is a first type device of the first service based on the first information in the first discovery message, which is not elaborated here.

[0275] After the first terminal device determines that the second terminal device is a first type device of the first service, the first terminal device establishes a first unicast link with the second terminal device, wherein the first unicast link can be used to transmit interaction information between the first terminal device and the second terminal device.

[0276] The first terminal device may also send data of the first service. Specifically, the first terminal device may use the identifier of the source device of the first service and the identifier of the first service to send the data of the first service. The first terminal device may send the data of the first service in a multicast / broadcast format.

[0277] If the second terminal device successfully receives the data of the first service, it sends a confirmation response message to the first terminal device; if the second terminal device fails to receive the data of the first service, it sends a negative response message to the first terminal device; if the second terminal device does not receive the data of the first service, it does not provide any feedback.

[0278] In the above method, the first terminal device can determine whether the second terminal device becomes the first type device of the first service based on the first discovery message. After the second terminal device receives the data of the first service, if the second terminal device is the first type device of the first service, the second terminal device forwards the data of the first service; otherwise, the data of the first service is not forwarded. Therefore, repeated forwarding of data can be effectively avoided and the data storm problem can be reduced.

[0279]

Implementation method 5

[0280] FIG11 shows a flow chart of a communication method provided in an embodiment of the present application.

[0281] S1101: A second terminal device sends data of a first service. Correspondingly, a first terminal device receives the data of the first service.

[0282] In an embodiment of the present application, the second terminal device may send data of the first service in a multicast / broadcast format. The second terminal device may use an identifier of a source device of the first service and an identifier of the first service to send data of the first service. The first service is a multicast or broadcast service.

[0283] At least one terminal device around the second terminal device can receive the first discovery message. For ease of description, the following description is made by taking the first terminal device as an example, where the first terminal device is any terminal device around the second terminal device.

[0284] In addition, the second terminal device may also send the maximum number of relay hops, the number of relay hops corresponding to the second terminal device, and the location information of the source device of the first service in a multicast / broadcast format.

[0285] S1102, the first forwarding probability corresponding to the first terminal device meets the first condition, and the first terminal device forwards data of the first service.

[0286] In an embodiment of the present application, if the first forwarding probability corresponding to the first terminal device is greater than a first preset value, the first terminal device sends data of the first service; otherwise, the first terminal device does not send data of the first service.

[0287] The first forwarding probability corresponding to the first terminal device can be determined based on at least one of the maximum number of relay hops, the number of relay hops corresponding to the second terminal device, the location information of the source terminal device, and the location information of the first terminal device.

[0288] In one possible implementation, the first terminal device determines a first distance between the first terminal device and the source terminal device based on the location information of the first terminal device and the location information of the source terminal device. The larger the first distance, the smaller the first forwarding probability.

[0289] In one possible implementation, the first terminal device first determines the relay hop count corresponding to the first terminal device based on the relay hop count corresponding to the second terminal device. Specifically, the relay hop count corresponding to the first terminal device is equal to the sum of the relay hop count corresponding to the second terminal device and 1. The first terminal device uses the difference between the maximum relay hop count and the relay hop count corresponding to the first terminal device as the first remaining hop count. The larger the first remaining hop count, the greater the first forwarding probability.

[0290] In the above method, after receiving the data of the first service, the first terminal device determines whether to forward the data of the first service based on the first forwarding probability corresponding to the first terminal device, which can effectively avoid repeated forwarding of data and reduce data storm problems.

[0291] Regarding the above implementation methods 1 to 5, it should be noted that:

[0292] (1) The above-mentioned implementation methods 1 to 5 can be implemented separately or in combination, without any specific limitation.

[0293] (2) The above description focuses on the differences between Implementation Methods 1 to 5. Except for the differences, Implementation Methods 1 to 5 can refer to each other.

[0294] (3) The step numbers in the flowcharts described in Implementations 1 to 5 are merely examples of the execution process and do not limit the order in which the steps are executed. The steps in the embodiments of this application do not have a time dependency on each other, and there is no strict execution order between them. Furthermore, not all of the steps shown in the flowcharts are mandatory steps, and steps may be added or deleted based on actual needs.

[0295] In the embodiments of the present application, the functional units of the device can be divided according to the above method examples. For example, each functional unit can be divided according to each function, or two or more functions can be integrated into one unit. The above integrated unit can be implemented in the form of hardware or software functional units.

[0296] In the case of an integrated unit, Figure 12 shows a possible exemplary block diagram of a communication device involved in an embodiment of the present application. As shown in Figure 12, the communication device 1200 may include: a transceiver unit 1201 and a processing unit 1202. The processing unit 1202 is used to control and manage the operations of the communication device 1200. The transceiver unit 1201 is used to support communication between the communication device 1200 and other devices. Optionally, the communication device 1200 may also include a storage unit 1203 for storing program code and / or data of the communication device 1200.

[0297] The processing unit 1202 may support the communication device 1200 in executing the actions of the first terminal device in each of the above method examples. Alternatively, the processing unit 1202 may primarily execute internal actions of the first terminal device in the method examples. The transceiver unit 1201 may support communication between the communication device 1200 and other devices.

[0298] For example, the communication apparatus 1200 may be the first terminal device in each of the foregoing embodiments, or may also be a component (such as a chip) of the first terminal device in each of the foregoing embodiments.

[0299] The transceiver unit 1201 is configured to receive a first message from a second terminal device, where the first message indicates that the second terminal device is a first type device of a first service or a source device of the first service; the first service is a multicast or broadcast service; the first type device is configured to receive and forward data of the first service, and the source device of the first service is configured to generate and send data of the first service;

[0300] The processing unit 1202 is configured to determine, according to the first message, a first type device or a second type device of the first service, where the second type device is configured to receive data of the first service.

[0301] In a possible implementation, the transceiver unit 1201 is configured to apply an identifier of the first service to receive a first message from the second terminal device.

[0302] In a possible implementation, the processing unit 1202 is configured to determine a first identifier based on the first message, where the first identifier is an identifier used by the second terminal device to send the first message.

[0303] In a possible implementation, the transceiver unit 1201 is further configured to receive data of the first service.

[0304] In a possible implementation, the transceiver unit 1201 is configured to apply an identifier of the first service and receive data of the first service.

[0305] In a possible implementation, the processing unit 1202 is further configured to determine an identifier of a source device of the first service based on the data of the first service.

[0306] In one possible implementation, the first message includes second location information of the second terminal device; the first location information of the first terminal device does not match the second location information, and the processing unit 1202 is used to determine that the first terminal device is a first type device of the first service.

[0307] In a possible implementation, the transceiver unit 1201 is further configured to send a second message, where the second message includes the first location information, and the second message indicates that the first terminal device is a first type device of the first service.

[0308] In a possible implementation, the transceiver unit 1201 is configured to apply the identifier of the first service to send the second message.

[0309] In a possible implementation, the processing unit 1202 is configured to use the first identifier and the identifier of the first service to send the second message.

[0310] In a possible implementation, the transceiver unit 1201 is further configured to forward data of the first service.

[0311] In a possible implementation, the transceiver unit 1201 is further configured to apply an identifier of a source device of the first service and an identifier of the first service to forward data of the first service.

[0312] In a possible implementation, the first message includes second location information of the second terminal device; the first location information of the first terminal device matches the second location information, and the processing unit 1202 is used to determine that the first terminal device is a second type device of the first service.

[0313] In a possible implementation, the second location information indicates a second location area where the second terminal device is located, and the first location information indicates a first location area where the first terminal device is located.

[0314] In a possible implementation, the first location area indicated by the first location information is different from the second location area indicated by the second location information. The first location area indicated by the first location information is the same as the second location area indicated by the second location information.

[0315] In a possible implementation, the first location information is determined based on the geographical location of the first terminal device; and the second location information is determined based on the geographical location of the second terminal device.

[0316] In a possible implementation, the transceiver unit 1201 is configured to receive data of a first service and location information of a source device of the first service.

[0317] In a possible implementation, the transceiver unit 1201 is configured to forward data of the first service, the first location information, and the location information of the source device of the first service.

[0318] In a possible implementation, the transceiver unit 1201 is configured to receive data of a first service, second location information, and location information of a source device of the first service.

[0319] In a possible implementation, the processing unit 1202 is configured to determine to forward the data of the first service, the first location information, and the location information of the source device of the first service based on the first location information, the second location information, and the location information of the source device of the first service.

[0320] For another example, the communication device 1200 may be the first terminal device in each of the foregoing embodiments, or may also be a component (such as a chip) of the first terminal device in each of the foregoing embodiments.

[0321] The transceiver unit 1201 is used to receive a first message from a second terminal device, where the first message indicates that the second terminal device is a first type device; the first type device is used to receive and forward data of at least one service; at least one service is a multicast or broadcast service.

[0322] The processing unit 1202 is configured to determine, based on the first message, whether the device is a first type device or a second type device, where the second type device is configured to receive data of at least one service.

[0323] In a possible implementation, the first message includes second location information of the second terminal device; the first location information of the first terminal device does not match the second location information, and the processing unit 1202 is used to determine that the first terminal device is a first type of device.

[0324] In a possible implementation, the transceiver unit 1201 is further configured to send a second message, where the second message includes first location information of the first terminal device, and the second message indicates that the first terminal device is a first type of device.

[0325] In a possible implementation, the first message includes second location information of the second terminal device; the first location information of the first terminal device matches the second location information, and the processing unit 1202 is used to determine that the first terminal device is a second type of device.

[0326] For another example, the communication device 1200 may be the first terminal device in each of the foregoing embodiments, or may also be a component (such as a chip) of the first terminal device in each of the foregoing embodiments.

[0327] The transceiver unit 1201 is used to send a first discovery message, where the first discovery message is used to request a first type of device for a first service, where the first service is a multicast or broadcast service; the first type of device for the first service is used to receive and forward data of the first service.

[0328] The processing unit 1202 is configured to receive a first confirmation message from the second terminal device, where the first confirmation message indicates that the second terminal device is a candidate relay device for the first service;

[0329] The processing unit 1202 is configured to determine, based on the first confirmation message, that the second terminal device is a first type device of the first service.

[0330] In a possible implementation, the first confirmation message satisfies the first condition, and the processing unit 1202 is configured to determine that the second terminal device is a first type device of the first service.

[0331] In one possible embodiment, the first discovery message includes at least one of the following: relay indication information corresponding to the first service, an identifier corresponding to the first service, location information of the source device of the first service, an identifier of the source device of the first service, a maximum number of relay hops corresponding to the first service, and a number of relay hops corresponding to the first terminal device.

[0332] In a possible implementation, the first confirmation message includes at least one of the following: location information of the second terminal device, and the number of relay hops corresponding to the second terminal device.

[0333] In one possible embodiment, the first condition includes at least one of the following: the signal quality of the first confirmation message is greater than a first preset value, or the distance between the second terminal device and the first terminal device is less than a second preset value, the distance between the second terminal device and the first terminal device is determined based on the location information of the second terminal device and the location information of the first terminal device, or the number of relay hops corresponding to the second terminal device is less than a third preset value.

[0334] For another example, the communication device 1200 may be the first terminal device in each of the foregoing embodiments, or may also be a component (such as a chip) of the first terminal device in each of the foregoing embodiments.

[0335] The transceiver unit 1201 is configured to receive a first discovery message from a second terminal device, where the first discovery message indicates that the second terminal device is a candidate relay device for the first service.

[0336] The processing unit 1202 is used to determine, based on the first discovery message, that the second terminal device is a first type device of the first service, and the first type device of the first service is used to receive and forward data of the first service.

[0337] In a possible implementation, the first discovery message satisfies the first condition, and the processing unit 1202 is configured to determine that the second terminal device is a first type device of the first service.

[0338] In a possible implementation, the first discovery message includes at least one of the following: location information of the second terminal device, and the number of relay hops corresponding to the second terminal device.

[0339] In one possible embodiment, the first condition includes at least one of the following: the signal quality of the first discovery message is greater than a first preset value, or the distance between the second terminal device and the first terminal device is less than a second preset value, the distance between the second terminal device and the first terminal device is determined based on the location information of the second terminal device and the location information of the first terminal device, or the number of relay hops corresponding to the second terminal device is less than a third preset value.

[0340] In a possible implementation, the first discovery message also includes first information of other terminal devices that can be monitored by the second terminal device, and the first information includes at least one of the following: identification of services supported by other terminal devices; location information of other terminal devices; and relay capability information of other terminal devices.

[0341] For another example, the communication device 1200 may be the first terminal device in each of the foregoing embodiments, or may also be a component (such as a chip) of the first terminal device in each of the foregoing embodiments.

[0342] The transceiver unit 1201 is configured to receive data of a first service from a second terminal device;

[0343] The first forwarding probability corresponding to the first terminal device meets the first condition, and the processing unit 1202 is used to forward data of the first service.

[0344] In a possible implementation, the first terminal device further receives the maximum number of relay hops, the number of relay hops corresponding to the second terminal device, and the location information of the source device of the first service from the second terminal device.

[0345] In a possible implementation, the first forwarding probability corresponding to the first terminal device is determined based on at least one of the maximum number of relay hops, the number of relay hops corresponding to the second terminal device, the location information of the source terminal device, and the location information of the first terminal device.

[0346] It should be understood that the division of units in the above device is merely a division of logical functions. In actual implementation, they can be fully or partially integrated into one physical entity, or physically separated. Moreover, the units in the device can all be implemented in the form of software called through processing elements; or all be implemented in the form of hardware; or some units can be implemented in the form of software called through processing elements, and some units can be implemented in the form of hardware. For example, each unit can be a separately established processing element, or it can be integrated into a certain chip of the device. In addition, it can also be stored in the form of a program in a memory, called by a certain processing element of the device and execute the function of the unit. In addition, all or part of these units can be integrated together, or they can be implemented independently. The processing element here can also be a processor, which can be an integrated circuit with signal processing capabilities. In the implementation process, each operation of the above method or each unit above can be implemented by the integrated logic circuit of the hardware in the processor element or by software called through the processing element.

[0347] In one example, the unit in any of the above devices may be one or more integrated circuits configured to implement the above method, such as one or more application specific integrated circuits (ASICs), one or more digital singnal processors (DSPs), one or more field programmable gate arrays (FPGAs), or a combination of at least two of these integrated circuit forms. For another example, when the unit in the device can be implemented in the form of a processing element scheduler, the processing element can be a processor, such as a general-purpose central processing unit (CPU), or other processor that can call a program. For another example, these units can be integrated together and implemented in the form of a system-on-a-chip (SOC).

[0348] The above-mentioned receiving unit is an interface circuit of the device, which is used to receive signals from other devices. For example, when the device is implemented as a chip, the receiving unit is the interface circuit of the chip used to receive signals from other chips or devices. The above-mentioned sending unit is an interface circuit of the device, which is used to send signals to other devices. For example, when the device is implemented as a chip, the sending unit is the interface circuit of the chip used to send signals to other chips or devices.

[0349] Please refer to Figure 13, which is a schematic diagram of a communication device provided in an embodiment of the present application, for implementing the operations of the first terminal device, second terminal device, or access network device in each of the above embodiments. The communication device 1300 includes: a processor 1310 and an interface 1330. Optionally, the communication device 1300 also includes a memory 1320. The interface 1330 is used to implement communication with other devices.

[0350] In the above embodiments, the method executed by the first terminal device can be implemented by the processor 1310 calling a program stored in a memory (which can be the memory 1320 in the first terminal device or an external memory). That is, the communication device 1300 for implementing the functions of the first terminal device may include a processor 1310, which executes the method executed by the first terminal device in the above method embodiment by calling the program in the memory. The processor here can be an integrated circuit with signal processing capabilities, such as a CPU.

[0351] When the communication device 1300 is used for the above method, the processor 1310 is used to implement the functions of the above processing unit 1202 , and the interface 1330 is used to implement the functions of the above transceiver unit 1201 .

[0352] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When software is used for implementation, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website, computer, server or data center to another website, computer, server or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrations. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)).

[0353] The various illustrative logic units and circuits described in the embodiments of the present application can be implemented or operated by a general-purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic, a discrete hardware component, or any combination thereof. The general-purpose processor can be a microprocessor, alternatively, the general-purpose processor can also be any traditional processor, controller, microcontroller or state machine. The processor can also be implemented by a combination of computing devices, such as a digital signal processor and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a digital signal processor core, or any other similar configuration to implement.

[0354] The steps of the methods or algorithms described in the embodiments of the present application can be directly embedded in hardware, software units executed by a processor, or a combination of the two. The software unit can be stored in a random access memory (RAM), flash memory, read-only memory (ROM), EPROM memory, EEPROM memory, register, hard disk, removable disk, CD-ROM, or other storage media in any form known in the art. Exemplarily, the storage medium can be connected to the processor so that the processor can read information from the storage medium and can write information to the storage medium. Alternatively, the storage medium can also be integrated into the processor. The processor and storage medium can be provided in an ASIC.

[0355] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0356] In one or more exemplary implementations, the above functions described in the embodiments of the present application can be implemented in hardware, software, firmware, or any combination of the three. If implemented in software, these functions can be stored on a computer-readable medium, or transmitted in the form of one or more instructions or codes on a computer-readable medium. Computer-readable media include computer storage media and communication media that facilitate the transfer of computer programs from one place to another. The storage medium can be any available medium that can be accessed by a general or special computer. For example, such computer-readable media can include but is not limited to RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store program codes in the form of instructions or data structures and other forms that can be read by general or special computers, or general or special processors. In addition, any connection can be appropriately defined as a computer-readable medium. For example, if the software is transmitted from a website, server or other remote resource via a coaxial cable, fiber optic computer, twisted pair, digital subscriber line (DSL) or wirelessly, such as infrared, wireless and microwave, it is also included in the defined computer-readable medium. Disks and discs include compact disks, laser discs, optical discs, digital versatile discs (DVDs), floppy disks, and Blu-ray discs. Disks typically reproduce data magnetically, while discs typically reproduce data optically using lasers. Combinations of the above may also be included in computer-readable media.

[0357] Those skilled in the art will appreciate that in one or more of the above examples, the functions described in the embodiments of the present application can be implemented using hardware, software, firmware, or any combination thereof. When implemented using software, these functions can be stored in a computer-readable medium or transmitted as one or more instructions or codes on a computer-readable medium. Computer-readable media include computer storage media and communication media, wherein communication media include any media that facilitates the transmission of computer programs from one place to another. The storage medium can be any available medium that can be accessed by a general-purpose or special-purpose computer.

[0358] The specific implementation methods described above further describe the purpose, technical solutions and beneficial effects of the embodiments of the present application in detail. It should be understood that the above is only the specific implementation method of the embodiments of the present application and is not intended to limit the scope of protection of the embodiments of the present application. Any modifications, equivalent replacements, improvements, etc. made on the basis of the technical solutions of the embodiments of the present application should be included in the scope of protection of the embodiments of the present application. The above description of the specification of this application can make any technical field that can utilize or implement the contents of the embodiments of the present application. Any modification based on the disclosed content should be considered obvious in the art. The basic principles described in the embodiments of the present application can be applied to other variations without departing from the inventive essence and scope of the present application. Therefore, the contents disclosed in the embodiments of the present application are not limited to the described embodiments and implementations, but can also be extended to the maximum scope consistent with the principles of the present application and the disclosed new features.

[0359] Although the present application has been described in conjunction with specific features and embodiments thereof, it is obvious that various modifications and combinations may be made thereto without departing from the spirit and scope of the embodiments of the present application. Accordingly, this specification and the drawings are merely illustrative of the present application as defined by the appended claims, and are deemed to have covered any and all modifications, variations, combinations or equivalents within the scope of the present application. Obviously, those skilled in the art may make various changes and modifications to the present application without departing from the scope of the present application. Thus, if these modifications and variations of the embodiments of the present application fall within the scope of the claims of the present application and their equivalents, the embodiments of the present application are also intended to include these modifications and variations.

Claims

1. A communication method, characterized in that: The method is applied to a first terminal device, and the method includes: receiving a first message from a second terminal device, wherein the first message indicates that the second terminal device is a first type device of a first service or a source device of the first service; the first service is a multicast or broadcast service; the first type device is used to receive and forward data of the first service, and the source device of the first service is used to generate and send data of the first service; According to the first message, a first type device or a second type device of the first service is determined, and the second type device is used to receive data of the first service.

2. The method according to claim 1, characterized in that The receiving a first message from a second terminal device includes: Apply the identifier of the first service and receive the first message from the second terminal device.

3. The method according to claim 1 or 2, characterized in that Also includes: Based on the first message, the first identifier is determined, where the first identifier is the identifier used by the second terminal device to send the first message.

4. The method according to any one of claims 1 to 3, characterized in that: Also includes: Receive data of the first service.

5. The method according to claim 4, characterized in that The receiving the data of the first service includes: The identifier of the first service is applied, and data of the first service is received.

6. The method according to claim 5, characterized in that Also includes: An identifier of a source device of the first service is determined based on the data of the first service.

7. The method according to claim 1, characterized in that The first message includes second location information of the second terminal device; The determining, according to the first message, that the first type of device or the second type of device for the first service includes: The first location information of the first terminal device does not match the second location information, and is determined to be a first type device for the first service.

8. The method according to claim 7, characterized in that Also includes: A second message is sent, where the second message includes the first location information, and the second message indicates that the first terminal device is a first type device of the first service.

9. The method according to claim 8, characterized in that The sending of the second message comprises: Apply the identifier of the first service and send the second message.

10. The method according to claim 9, characterized in that The applying the identifier of the first service and sending the second message includes: The second message is sent by using the first identifier and the identifier of the first service.

11. The method according to any one of claims 7 to 10, characterized in that: Also includes: Forwarding data of the first service.

12. The method according to claim 11, characterized in that The forwarding of the data of the first service includes: The identifier of the source device of the first service and the identifier of the first service are applied to forward the data of the first service.

13. The method according to claim 1, characterized in that The first message includes second location information of the second terminal device; The determining, according to the first message, that the first type of device or the second type of device for the first service includes: The first location information of the first terminal device matches the second location information and is determined to be a second type device of the first service.

14. The method according to any one of claims 7 to 13, characterized in that: The second location information indicates a second location area where the second terminal device is located, and the first location information indicates a first location area where the first terminal device is located.

15. The method according to claim 7 or 13, characterized in that The first location information of the first terminal device does not match the second location information, including: The first location area indicated by the first location information is different from the second location area indicated by the second location information; The first location information of the first terminal device matches the second location information, including: The first location area indicated by the first location information is the same as the second location area indicated by the second location information.

16. The method according to any one of claims 7 to 13, characterized in that: The first location information is determined based on the geographical location of the first terminal device; the second location information is determined based on the geographical location of the second terminal device.

17. The method according to claim 4, characterized in that The receiving the data of the first service includes: Receive data of the first service and location information of a source device of the first service.

18. The method according to claim 11, characterized in that The forwarding of the data of the first service includes: Forward the data of the first service, the first location information, and the location information of the source device of the first service.

19. The method according to claim 4, characterized in that The receiving the data of the first service includes: Receive data of the first service, the second location information, and location information of a source device of the first service.

20. The method of claim 11, wherein: The forwarding of the data of the first service includes: Based on the first location information, the second location information, and the location information of the source device of the first service, it is determined to forward the data of the first service, the first location information, and the location information of the source device of the first service.

21. A communication method, characterized in that: The method is applied to a first terminal device, and the method includes: Receiving a first discovery message from a second terminal device, where the first discovery message indicates that the second terminal device is a candidate relay device for a first service; According to the first discovery message, it is determined that the second terminal device is a first type device of the first service, and the first type device of the first service is used to receive and forward data of the first service.

22. The method according to claim 21, characterized in that The determining, according to the first discovery message, that the second terminal device is a first type device of the first service includes: The first discovery message satisfies a first condition, determining that the second terminal device is a first type device of the first service.

23. The method according to claim 21 or 22, characterized in that The first discovery message includes at least one of the following: The location information of the second terminal device and the number of relay hops corresponding to the second terminal device.

24. The method of claim 22, wherein: The first condition includes at least one of the following: The signal quality of the first discovery message is greater than a first preset value, or, The distance between the second terminal device and the first terminal device is less than a second preset value, and the distance between the second terminal device and the first terminal device is determined based on location information of the second terminal device and location information of the first terminal device, or, The number of relay hops corresponding to the second terminal device is less than the third preset value.

25. The method according to any one of claims 21 to 24, characterized in that: The first discovery message also includes first information of other terminal devices that can be monitored by the second terminal device, and the first information includes at least one of the following: Identification of the services supported by the other terminal devices; The location information of the other terminal devices; The relay capability information of the other terminal devices.

26. A communication device, characterized in that: comprising a memory, and one or more processors, the memory being coupled to the one or more processors; The memory is used to store a computer program or an instruction. When the computer program or the instruction is executed by the one or more processors, the communication device executes the method according to any one of claims 1 to 25.

27. A chip, characterized in that: The chip comprises a processor, which is coupled to a memory and is used to execute a computer program or instruction stored in the memory, so that the chip executes the method according to any one of claims 1 to 25.

28. A computer-readable storage medium, characterized in that: The method comprises computer program instructions, and when the computer program instructions are executed by a computer, the processor performs the method according to any one of claims 1 to 25.

29. A computer program product, characterized in that The computer program product comprises a computer program, and when the computer program is run on a computer, the computer is caused to perform the method according to any one of claims 1 to 25.

Citation Information

Patent Citations

  • Relay discovery and relay forwarding method and device, and storage medium

    CN108809897A

  • Information processing method and device and readable storage medium

    CN116367263A

  • Data transmission method, first terminal device and second terminal device

    WO2023092295A1

  • Coordination information forwarding for sidelink positioning

    WO2023158900A1