Communication method, apparatus and system

By calibrating the data timestamps and using a preset model to consider the physical parameters of the communication equipment, the problem of data time synchronization between different nodes is solved, improving communication quality and reducing power consumption and computing power requirements. It is applicable to a variety of communication systems.

WO2026091640A1PCT designated stage Publication Date: 2026-05-07HUAWEI TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2025-06-30
Publication Date
2026-05-07

Smart Images

  • Figure CN2025105708_07052026_PF_FP_ABST
    Figure CN2025105708_07052026_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of communications. Disclosed are a communication method, apparatus and system. The method comprises: a first communication device receiving first data and a timestamp of the first data, wherein the timestamp of the first data is used for indicating the time at which a second communication device sends the first data, the time of the second communication device is asynchronous with the time of the first communication device, the timestamp of the first data is a first timestamp, and the first timestamp is a timestamp that has not undergone time synchronization processing; and on the basis of the first timestamp and a first offset, updating the timestamp of the first data to a second timestamp, wherein the first offset is an offset between the time of the second communication device and the time of the first communication device. In this way, a first communication device can calibrate a timestamp of first data from a second communication device, such that the times at which data is transmitted between the first communication device and the second communication device are synchronized, thereby ensuring the communication quality.
Need to check novelty before this filing date? Find Prior Art

Description

A communication method, apparatus and system

[0001] Cross-references to related applications

[0002] This application claims priority to Chinese Patent Application No. 202411565487.8, filed on November 4, 2024, entitled "A Communication Method, Apparatus and System", the entire contents of which are incorporated herein by reference. Technical Field

[0003] This application relates to the field of communication technology, and in particular to a communication method, apparatus and system. Background Technology

[0004] With the reduction in computing and storage costs, and the emergence of numerous low-latency services and local area applications, computing and storage, as well as the intelligent algorithms that rely on them, tend to be deployed closer to the network edge, closer to the data source, thus forming a data-centric network architecture. The basic function of mobile communication networks will also begin to shift from information transmission channels to data management platforms. Therefore, future communication systems are data-oriented systems. Multidimensional, heterogeneous, and massive real-time data will be carried through data channels composed of functions such as collection, processing, transmission, storage, analysis, and privacy protection. The data plane of future communication systems needs to support "on-the-path computing" and "arbitrary topology."

[0005] To ensure communication quality, time synchronization of data between different nodes in the data pipeline is necessary. However, how to achieve time synchronization of data between different nodes in the data pipeline has become a pressing technical problem to be solved. Summary of the Invention

[0006] This application provides a communication method, apparatus, and system for calibrating the timestamps of data so that the time of data transmitted between the first communication device and the second communication device is synchronized even when the time of the first communication device is not synchronized with the time of the second communication device, thereby facilitating communication quality assurance.

[0007] In a first aspect, embodiments of this application provide a communication method, which can be executed by a first communication device. The "first communication device" in this application can refer to a first communication equipment, a component within the first communication equipment (e.g., a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the first communication equipment. For example, in the method provided in the first aspect, the first communication device receives first data and a timestamp of the first data. The timestamp of the first data is used to indicate the time when a second communication device sends the first data, and the time of the second communication device is not synchronized with the time of the first communication device. The timestamp of the first data is a first timestamp, which is a timestamp without time synchronization processing. Based on the first timestamp and a first offset, the timestamp of the first data is updated to a second timestamp, where the first offset is the offset between the time of the second communication device and the time of the first communication device.

[0008] Using the above method, the first communication device can calibrate the timestamp of the first data from the second communication device, so that even if the time of the first communication device and the time of the second communication device are not synchronized, the time of the data transmitted between the first communication device and the second communication device is synchronized, which helps to ensure communication quality.

[0009] In one possible design, the method further includes: determining the first offset based on the first timestamp and the third timestamp, wherein the third timestamp is used to indicate the time when the first communication device receives the first data.

[0010] In other words, each time the first communication device receives data, it can determine the offset used to calibrate the sending timestamp based on the sending timestamp and receiving timestamp of the data.

[0011] In one possible design, determining the first offset based on the first timestamp and the third timestamp includes: inputting the first timestamp and the third timestamp into a preset model and outputting the first offset.

[0012] In one possible design, the preset model is obtained based on the physical parameters of the second communication device, including the frequency of the crystal oscillator.

[0013] Typically, time synchronization models or algorithms do not take into account the characteristics of the communication device itself (such as the Cristian algorithm and GPS synchronization algorithm described in specific embodiments), while the preset model in this application takes into account the physical parameters of the second communication device, thereby making the first offset obtained according to the preset model more accurate.

[0014] In one possible design, the method further includes: determining a second offset based on the first timestamp and a third timestamp, the third timestamp indicating the time when the first communication device receives the first data; and determining the first offset based on the second offset and the offset of the second communication device.

[0015] In other words, each time the first communication device receives data, it can determine an offset (such as a second offset) based on the data's sending and receiving timestamps. Then, by combining the second offset with the offset of the second communication device, the first offset can be determined, which helps to improve the accuracy of the first offset.

[0016] In one possible design, the method further includes updating the offset of the second communication device to the first offset.

[0017] In one possible design, determining the first offset based on the second offset and the offset of the second communication device includes: determining the maximum offset between the second offset and the offset of the second communication device as the first offset.

[0018] In one possible design, the method further includes: processing the first data according to the second timestamp; or sending the first data and the second timestamp to a third communication device.

[0019] In one possible design, the time of the third communication device is synchronized with the time of the first communication device.

[0020] In one possible design, the first communication device is a Time Synchronization Function (TSF) network element, and the second communication device is a third-party device; or, the first communication device is a network device, and the second communication device is a terminal device accessing the network device; or, the first communication device is a Data Processing Function (DPF) network element, and the second communication device is the network device or the terminal device; or, the first communication device is a Data Communication Proxy (DCP) network element, and the second communication device is the network device or the terminal device.

[0021] Secondly, embodiments of this application provide a communication method, which can be executed by a second communication device. The "second communication device" in this application can refer to a second communication equipment, a component within the second communication equipment (e.g., a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the second communication equipment. For example, in the method provided in this second aspect, the second communication device acquires first data and sends the first data and a timestamp of the first data to a first communication device. The timestamp of the first data indicates the time when the second communication device sent the first data, and the time of the second communication device is not synchronized with the time of the first communication device. The timestamp of the first data is a first timestamp, which is a timestamp that has not undergone time synchronization processing.

[0022] In this way, when the second communication device sends the first data, there is no need to perform time synchronization processing on the first timestamp of the first data. Subsequently, the first communication device calibrates the first timestamp of the first data, so that even if the time of the first communication device is not synchronized with the time of the second communication device, the time of the data transmitted between the first communication device and the second communication device is synchronized, which helps to ensure communication quality.

[0023] In one possible design, the first communication device is a Time Synchronization Function (TSF) network element, and the second communication device is a third-party device; or, the first communication device is a network device, and the second communication device is a terminal device accessing the network device; or, the first communication device is a Data Processing Function (DPF) network element, and the second communication device is the network device or the terminal device; or, the first communication device is a Data Communication Proxy (DCP) network element, and the second communication device is the network device or the terminal device.

[0024] Thirdly, this application provides a communication device that has the functions involved in the first or second aspect above. For example, the communication device includes modules, units, or means corresponding to the operations involved in the first or second aspect above. The functions, units, or means can be implemented by software, or by hardware, or by hardware executing corresponding software.

[0025] In one possible design, the communication device includes a processing unit and a communication unit, wherein the communication unit can be used to transmit and receive signals to enable communication between the communication device and other devices; the processing unit can be used to perform some internal operations of the communication device. The functions performed by the processing unit and the communication unit can correspond to the operations involved in the first or second aspect described above.

[0026] In one possible design, the communication device includes a processor that can be coupled to a memory. The memory can store necessary computer programs or instructions for implementing the functions described in the first or second aspect above. The processor can execute the computer programs or instructions stored in the memory, causing the communication device to implement the methods in any possible design or implementation of the first or second aspect above, when executed.

[0027] In one possible design, the communication device includes a processor and a memory, the memory of which may store necessary computer programs or instructions for implementing the functions involved in the first or second aspect described above. The processor may execute the computer programs or instructions stored in the memory, and when the computer programs or instructions are executed, cause the communication device to implement the methods in any possible design or implementation of the first or second aspect described above.

[0028] In one possible design, the communication device includes a processor and an interface circuit, wherein the processor is configured to communicate with other devices via the interface circuit and execute the methods in any possible design or implementation of the first or second aspect described above.

[0029] Understandably, in the third aspect described above, the processor can be implemented in hardware or software. When implemented in hardware, the processor can be a logic circuit, integrated circuit, etc.; when implemented in software, the processor can be a general-purpose processor that reads software code stored in memory. Furthermore, there can be one or more processors, and one or more memories. The memory can be integrated with the processor or separated from it. In specific implementations, the memory can be integrated with the processor on the same chip or disposed on different chips. This application does not limit the type of memory or the arrangement of the memory and processor.

[0030] Fourthly, this application provides a communication system, which may include a first communication device and a second communication device; wherein the first communication device is used to perform the method described in the first aspect, and the second communication device is used to perform the method described in the second aspect.

[0031] Fifthly, this application provides a computer-readable storage medium storing a computer program (or computer-readable instructions) in which, when a computer reads and executes some or all of the computer-readable instructions, the method in any of the possible designs of the first or second aspect described above is executed.

[0032] For example, a computer-readable storage medium can be any available medium that a computer can access. This includes, but is not limited to, non-transient computer-readable media, random-access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), CD-ROM or other optical disc storage, magnetic disk storage media, or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer.

[0033] Sixthly, this application provides a computer program product that, when read and executed by a computer, causes the method in any of the possible designs of the first or second aspect to be performed.

[0034] In a seventh aspect, this application provides a chip (or chip system) including a processor coupled to a memory storing a computer program; the processor is configured to invoke part or all of the computer program in the memory, such that the method in any of the possible designs of the first or second aspect described above is executed. Attached Figure Description

[0035] Figure 1 is a schematic diagram of the network architecture of a communication system;

[0036] Figure 2 is a schematic diagram of a data plane architecture for a future communication system;

[0037] Figure 3 is a schematic diagram of a data pipeline;

[0038] Figure 4 is a schematic diagram of the time synchronization process;

[0039] Figure 5 is a schematic diagram of a network architecture applicable to an embodiment of this application;

[0040] Figure 6 is a flowchart illustrating the communication method provided in the embodiments of this application;

[0041] Figure 7 is an exemplary block diagram of the apparatus involved in the embodiments of this application;

[0042] Figure 8 is a schematic diagram of the structure of a communication device provided in an embodiment of this application. Detailed Implementation

[0043] The technical solutions in the embodiments of this application will now be described with reference to the accompanying drawings. This application will focus on various aspects, embodiments, or features of a system that may include multiple devices, components, modules, etc. It should be understood and appreciated that each system may include additional devices, components, modules, etc., and / or may not include all the devices, components, modules, etc. discussed in conjunction with the accompanying drawings. Furthermore, combinations of these solutions may also be used.

[0044] First, the relevant technologies involved in the embodiments of this application will be explained. Unless otherwise specified, these explanations are intended to make the embodiments of this application easier to understand, and should not be regarded as a strict limitation on the scope of protection claimed in this application.

[0045] I. Network Architecture of the Communication System

[0046] Figure 1 is a schematic diagram of a network architecture for a communication system provided in an embodiment of this application. This network architecture can be a 5G communication system network architecture. The network architecture includes four components: terminal equipment, access network (AN), core network (CN), and data network (DN). The access network can be a radio access network (RAN). The terminal equipment, access network, and core network are the main components of the above network architecture. Logically, they can be divided into user plane and control plane. The control plane is responsible for the management of the mobile network, and the user plane is responsible for the transmission of service data.

[0047] (1) Terminal equipment

[0048] A terminal device is a device that provides voice and / or data connectivity to a user. Terminal devices may also be referred to as user equipment (UE), terminal, access terminal, terminal unit, terminal station, mobile station (MS), remote station, remote terminal, mobile terminal (MT), wireless communication equipment, terminal agent, or terminal equipment, etc.

[0049] For example, the terminal device can be a handheld device with wireless connectivity, or a vehicle with communication capabilities, such as in-vehicle equipment (e.g., in-vehicle communication device, in-vehicle communication chip). Examples of current terminal devices include: mobile phones, cordless phones, session initiation protocol (SIP) phones, wireless local loop (WLL) stations, personal digital assistant (PDA) devices, handheld devices with wireless communication capabilities, computing devices or other processing devices connected to a wireless modem, tablet computers, computers with wireless transceiver capabilities, laptops, handheld computers, mobile internet devices (MIDs), wearable devices, virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals in industrial control, wireless terminals in self-driving vehicles, wireless terminals in remote medical surgery, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, and wireless terminals in smart homes.

[0050] Terminal devices can be deployed on land, including indoors or outdoors, handheld, wearable, or vehicle-mounted; they can also be deployed on water (such as ships); and they can also be deployed in the air (such as airplanes, balloons, and satellites). This application does not limit the specific technologies, device forms, application scenarios, or names used in the terminal devices.

[0051] (2) Access Network

[0052] The access network is deployed close to the terminal equipment, providing network access functionality for authorized users in a specific area. It can determine different quality transmission tunnels to transmit user data based on user level, service requirements, and other factors. The access network manages and utilizes its own resources efficiently, providing access services to terminal equipment on demand, and is responsible for forwarding control signals and service data between the terminal equipment and the core network.

[0053] The access network can be the access network in the 3rd generation partnership project (3GPP). The RAN can also be an open RAN (O-RAN or ORAN), a cloud radio access network (CRAN), or a communication network of two or more of the above.

[0054] The access network deploys network equipment to connect terminal devices to the wireless network. Network equipment is typically connected to the core network via wired links (such as fiber optic cables). Network equipment can also be called access network equipment or RAN equipment / nodes. Network equipment can be base stations, evolved NodeBs (eNodeBs), transmission reception points (TRPs), next-generation NodeBs (gNBs) in 5G mobile communication systems, and base stations in future mobile communication systems, etc.

[0055] Network equipment can also be modules or units that perform some of the functions of a base station. For example, it can be a central unit (CU), a distributed unit (DU), or a radio unit (RU). Here, the CU performs the functions of the radio resource control (RRC) and PDCP protocols of the base station, and can also perform the functions of the service data adaptation protocol (SDAP). The CU can be further divided into a CU control plane (CP) (i.e., CU-CP) and a CU user plane (UP) (i.e., CU-UP). The DU performs the functions of the RLC and MA layers of the base station, and can also perform some or all of the physical layer functions. For specific descriptions of the above protocol layers, please refer to the relevant 3GPP technical specifications. The CU and DU can be set up separately, or they can be included in the same network element, such as in the baseband unit (BBU). The RU can be included in radio frequency equipment or radio frequency units, such as in a remote radio unit (RRU), an active antenna unit (AAU), or a remote radio head (RRH). In different systems, CU, DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, in an ORAN system, CU can also be called O-CU (open CU), DU can also be called O-DU, and RU can also be called O-RU. Any of the units among CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through software modules, hardware modules, or a combination of software and hardware modules. RA equipment can be a macro base station, a micro base station, an indoor station, a relay node, or a donor node, etc. The embodiments of this application do not limit the specific technology or specific equipment form used in the network equipment.

[0056] (3) Core Network

[0057] The core network is responsible for maintaining the subscription data of the mobile network, managing the network elements of the mobile network, and providing terminal devices with functions such as session management, mobility management, policy management, and security authentication.

[0058] The core network user plane includes user plane function (UPF) network elements. The core network control plane includes, but is not limited to: access and mobility management function (AMF) network elements, session management function (SMF) network elements, authentication server function (AUSF) network elements, network exposure function (NEF) network elements, network function repository function (NRF) network elements, policy control function (PCF) network elements, unified data management (UDM) network elements, and application function (AF) network elements.

[0059] UPF network elements are primarily responsible for connecting to external networks and executing user data packet forwarding according to the routing rules of SMF network elements. For example, uplink data is sent to the data network or other UPF network elements, and downlink data is sent to other UPF network elements or access network devices.

[0060] AMF network elements are mainly responsible for the access management and mobility management of terminal devices, such as the status maintenance of terminal devices, the reachability management of terminal devices, the forwarding of non-access-stratum (MM NAS) messages, and the forwarding of session management (SM) N2 messages.

[0061] SMF (Service Provider Function) network elements are primarily responsible for session management in mobile networks, including establishing sessions for terminal devices, allocating and releasing resources for sessions, such as session quality of service (QoS), session paths, and forwarding rules. For example, they may allocate Internet Protocol (IP) addresses to terminal devices and select UPF (User Provider Function) network elements that provide packet forwarding functions.

[0062] The AUSF network element is primarily responsible for performing security authentication of terminal devices.

[0063] NEF network elements are used to connect other internal network elements of the core network with external devices (such as application servers) of the core network to provide network capability information to external devices, or to provide information from external devices to core network elements.

[0064] The NRF network element is primarily responsible for providing other network elements with the functions of storing and selecting network function entity information.

[0065] The PCF network element is mainly responsible for user policy management, including policy authorization, quality of service and generation of billing rules, and distributing the corresponding rules to the UPF network element through the SMF network element to complete the installation of the corresponding policies and rules.

[0066] UDM network elements are primarily responsible for data management and control. For example, UDM network elements can manage user subscription information, including obtaining subscription information and providing it to other network elements (such as AMF network elements); generating 3GPP authentication credentials for terminal devices; and registering and maintaining the network elements currently serving the terminal devices (for example, the AMF represented by AMF ID1 is the current serving AMF of the terminal device, i.e., the serving AMF).

[0067] The AF (Area Function) network element is mainly responsible for providing various application service data to the control plane network elements of the operator's communication network, or obtaining network data and control information from the control plane network elements of the communication network.

[0068] Although not shown, the core network may include other possible network elements, without any specific limitations.

[0069] (4) Data Network

[0070] A data network, also known as a packet data network (PDN), is a network located outside of the carrier's network. A carrier's network can connect to multiple data networks. These data networks can deploy application servers for various services (such as application servers for XR services), providing a variety of possible services to terminal devices. Data networks can be private networks, such as local area networks (LANs), external networks not controlled by the carrier, such as the Internet, or dedicated networks jointly deployed by carriers; the specific type is not limited.

[0071] It is understood that the following description will use the network element names in a 5G communication system as an example, and the network element names in this application embodiment are not limited. Figure 1 illustrates a service-oriented architecture for the core network control plane. In this architecture, each control plane network element is connected to a service bus, and the interaction between control plane network elements adopts a service call method, that is, the control plane network element will open services to other control plane network elements for them to call. In other possible implementations, the core network control plane can also adopt a point-to-point communication method. In point-to-point communication, there will be a specific set of messages for the communication interface between control plane network elements. Of course, in future communication systems, the names of these interfaces may remain unchanged, or they may be replaced with other names, and this application is not limited in this regard. In future communication systems, the above-mentioned network elements or devices can still use their names in 4G or 5G communication systems, or have other names; the functions of the above-mentioned network elements or devices can be completed by an independent network element, or by several network elements together, and this application embodiment is not limited in this regard.

[0072] The network elements / functional entities in the various possible network architectures described above can be network components in hardware devices, software functions running on dedicated hardware, or virtualized functions instantiated on a platform (e.g., a cloud platform). Optionally, the aforementioned network elements or functional entities can be implemented by a single device, multiple devices working together, or different functional modules within a single device; this application embodiment does not specifically limit this. In actual deployment, the aforementioned network elements can be co-located. For example, the access and mobility management function network element can be co-located with the session management function network element; the session management function network element can be co-located with the user plane function network element. When two network elements are co-located, the interaction between these two network elements provided in this application embodiment becomes an internal operation of the co-located network element or can be omitted.

[0073] II. Data plane of future communication systems

[0074] Based on the network architecture of the 5G communication system shown in Figure 1, the current 5G user plane is used to carry session data and cannot meet the requirements of "in-the-path computing" and "arbitrary topology." Therefore, the 5G user plane cannot carry data from future communication systems. Table 1 compares the differences between 5G user plane transmission and future communication system data plane transmission from the perspectives of function, data start and end points, data forwarding device behavior, data forwarding principles, and topology. The 5G user plane session connection enables information interaction between two communication devices, specifically through a PDU session providing an end-to-end user plane connection between the terminal device and the network. In contrast, the data plane transmission of future communication systems consists of functions such as data acquisition, processing, forwarding, storage, and analysis. 5G user plane sessions only transmit data packets, while future communication system data plane transmission requires in-the-path computing. In the data pipeline, data is transformed and optimized to achieve the state required for data analysis and intelligent applications. Regarding data forwarding behavior, session data packets are forwarded based on the destination address; while in the data plane of future communication systems, data packets are forwarded based on data services and data pipeline identifiers. Data forwarding based on 5G user plane sessions belongs to the TCP / IP layer, while data forwarding on the data plane of future communication systems belongs to the application layer. Furthermore, session-based topology is a point-to-point connection, while the data plane of future communication systems needs to support arbitrary topology structures (such as tree structures required for data distribution and aggregation).

[0075] Table 1: Comparison of User Plane Data Bearing in 5G Communication Systems and Data Plane Data Bearing in Future Communication Systems

[0076] To systematically address the challenges of data services and resolve the issue that the existing 5G user plane cannot support the data of future communication systems, an independent data plane has been introduced for future communication systems. Figure 2 is a schematic diagram of the data plane architecture of a future communication system provided in an embodiment of this application. As shown in Figure 2, the data plane architecture includes: a data orchestrator (DO) (and a data controller (DC)), a data agent (DA), and a data storage function (DSF). Optionally, it also includes a data communication proxy (DCP) and / or a data processing function (DPF).

[0077] (1) DO: Supports data service request translation, transforming data service requests into the construction of data bearers, and orchestrating programmable data pipelines to provide the data service. For example, the DO obtains global information about the DA logical network based on the data service capabilities reported by the DA and the logical connection status between DAs; then, the DO selects a suitable DA based on the received data service request, orchestrates the data pipeline, and calculates and constructs the data forwarding path to form the data bearer. The DO sends data forwarding information to the DA through the data forwarding control protocol (DFCP) and updates and deletes data forwarding information as needed.

[0078] DO can be a newly added network element in the core network. For example, the newly added DO can communicate with other network elements in the core network through a service interface, or it can communicate with other network elements in the core network through point-to-point communication. Alternatively, DO can be built into an existing network element (such as an AMF network element or an SMF network element). That is, DO can be an SMF network element or an AMF network element with added data orchestration function.

[0079] In other examples, based on the real-time requirements and cross-domain nature of the data service tasks, the data orchestrator can be subdivided into DO and DC. DO is responsible for coarse-grained, non-real-time data orchestration, while DC is responsible for fine-grained, real-time data orchestration. In this application, "DO" will be used as the example for description.

[0080] (2) DA: Performs data services such as data acquisition, data processing, data storage, data analysis, and data sharing as assigned by the orchestration. For example, a DA can implement a variety of data processing functions, which are reported to the DO as capabilities of the DA during the DA registration period, and capability updates can be reported in a timely manner.

[0081] DA can be built into existing devices (such as terminal devices, network devices) or network elements (such as AMF network elements, SMF network elements), or it can be deployed independently, without any specific limitations.

[0082] (3) DSF: A storage extension component for DA when large-scale data storage or long-term storage is required. DSF can be built into existing devices or network elements, or it can be deployed independently, without any specific limitation.

[0083] (4) DCP: Provides an efficient data transmission mechanism, decoupling data producers (i.e., data collectors) and data consumers. Data consumers can be third-party applications, etc., without specific limitations. DCP can be built into existing equipment or network elements, or it can be deployed independently, without specific limitations.

[0084] (5) DPF: A special type of DA that performs data analysis and processing functions. DPF can be built into existing devices or network elements, or it can be deployed independently, with no specific limitation.

[0085] Figure 2 illustrates only one possible data pipeline, whose nodes include: DA (Data Acquisition), DA (Data Forwarding), and DPF (Data Processing). After acquiring data, the DA sends the data to the next DA in the data pipeline, which then forwards the data to the DPF. The DPF processes the data and sends the result to the data consumer (such as a third-party application). Other data pipelines may also be shown in Figure 2, without specific limitations.

[0086] The nodes in the data pipeline may include one or more Data Controllers (DAs); optionally, they may also include one or more Data Processing Controllers (DCPs), and / or one or more Data Processing Controllers (DPFs). Figure 3 illustrates the nodes that may be included in the data pipeline. This application embodiment does not limit the type or number of nodes included in data management.

[0087] Based on the data plane architecture shown in Figure 2, a possible implementation process includes the following steps:

[0088] Step 1: Each DA registers with the DO and reports its data service capabilities.

[0089] Step 2: The third-party application sends a network data-related service request to DO.

[0090] Step 3: The DO maps the requirements in the network data-related service requests to data service requirements, and selects the corresponding DA based on the data service capabilities reported by each DA, and assigns data service functions to each DA.

[0091] Step 4: The DO distributes the relevant function settings to each DA and feeds back the address of the selected DA that interacts directly with the third-party application to the third-party application so that the third-party application can establish direct interaction with the DA.

[0092] Step 5: Each DA performs data collection, processing, storage, and analysis operations according to its assigned data service function to form a data service flow.

[0093] Step 6: The DA, which interacts directly with the third-party application, feeds back the final processed or analyzed data to the third-party application.

[0094] III. Time Synchronization of Different Nodes

[0095] Time synchronization across different nodes means that the time of different nodes is synchronized, for example, the time of the first node is synchronized with the time of the second node. In the embodiments of this application, "node" can refer to "device" or "network element", and there is no specific limitation.

[0096] In communication systems, many operations rely on precise time synchronization. To achieve time synchronization between different nodes (or devices / network elements), current time synchronization technologies include the Cristian Algorithm and its variants, as well as some related protocols (such as the Network Time Protocol, NTP). In data service architectures, time synchronization based on the Global Positioning System (GPS) is more common.

[0097] This section introduces the Cristian algorithm: The core objective of the Cristian algorithm is to synchronize time between the client and the time server to ensure that the time of all nodes in a distributed system remains consistent. The NTP protocol uses a similar idea. Figure 4 shows a possible flowchart of the Cristian algorithm, which includes:

[0098] S401, the first node (such as a client) sends data packet 1 to the second node (such as a time server). Data packet 1 carries timestamp 1, which is used to indicate the time t1 when data packet 1 was sent.

[0099] S402, after the second node receives data packet 1, it records timestamp 2, which indicates the time t2 when data packet 1 is received, and sends data packet 2 to the first node. Data packet 2 carries timestamp 3, which indicates the time t3 when data packet 2 is sent.

[0100] In addition, the second node can also send timestamp 2 to the first node.

[0101] S403, the first node receives data packet 2 and records timestamp 4. Timestamp 4 is used to indicate the time t4 when data packet 2 was received.

[0102] S404, the first node calculates the one-way transmission delay between the first node and the second node.

[0103] For example, the first node calculates the one-way transmission delay Delay between the first node and the second node using the following formula: Delay = [(T4-T1)-(T3-T2)] / 2

[0104] S405, the first node calculates the offset between the first node and the second node, and corrects its own time (or clock) according to the calculated offset, so as to synchronize the time of the first node and the second node.

[0105] For example, the first node calculates the offset between the first node and the second node using the following formula: Offset = T3 + Delay - T4 = [(T2 - T1) + (T3 - T4)] / 2

[0106] As shown in Figure 4, the Cristian algorithm is an active synchronization mechanism based on round-trip measurements. It requires nodes to actively synchronize and interact with the time server. Furthermore, this algorithm is significantly affected by transmission latency; large transmission delays can lead to poor time synchronization.

[0107] IV. Time synchronization of data between different nodes

[0108] Time synchronization of data between different nodes means that the time of data transmitted between different nodes is synchronized.

[0109] When different nodes are time-synchronized, the time of data transmitted between them is also synchronized. For example, if the time of the first node and the time of the second node are synchronized (assuming the second node's clock is a reference clock), the first node sends data 'a' and a timestamp of data 'a' to the second node. This timestamp indicates the time the first node sent data 'a'. Assuming the time of data 'a' sent by the first node is time t0 based on the reference clock, since the time of the first node and the time of the second node are synchronized, the timestamp generated by the first node also indicates time t0. Accordingly, after receiving data 'a' and its timestamp, the second node determines that the time the first node sent data 'a' is time t0 based on the timestamp, meaning the time of data transmitted between the first node and the second node is synchronized.

[0110] When the times of different nodes are not synchronized, the data transmitted between them will be out of sync. For example, the times of the first node and the second node are out of sync (assuming the second node's clock is the reference clock). The first node sends data 'a' and a timestamp of data 'a' to the second node. This timestamp indicates when the first node sent data 'a'. Assuming the time when the first node sent data 'a' is t0 based on the reference clock, since the times of the first node and the second node are out of sync, the timestamp generated by the first node indicates time t1 (different from time t0). Accordingly, after receiving data 'a' and its timestamp, the second node determines that the first node sent data 'a' at time t1 based on the timestamp (but the actual time the first node sent data 'a' is t0). In other words, the data transmitted between the first node and the second node is out of sync.

[0111] Based on the above description of the data plane architecture of future communication systems, it is clear that data transmitted between different nodes in the data pipeline requires time synchronization. Especially in perception scenarios, the timing information of sensor data acquisition is crucial for correctly obtaining the final perception result. Examples include data fusion scenarios that require projecting sensor data onto a unified coordinate system (wireless sensor networks, collaborative perception, multi-sensor robots, intelligent vehicles, vehicle-to-everything (V2X) communication, heterogeneous sensor fusion, etc.). These scenarios have relatively high requirements for time synchronization; poor synchronization directly affects the data fusion capability, and in some cases, can even lead to unexpected results. For instance, a robot moving at a speed of 1 meter per second will have a 10-millisecond synchronization error, resulting in a movement distance error of 15.7 centimeters.

[0112] As mentioned above, when different nodes synchronize their times, the data transmitted between them is also synchronized in time. Therefore, to achieve time synchronization between different nodes, one possible approach is to synchronize them using the Cristian algorithm and GPS synchronization algorithm described above. However, the Cristian algorithm and GPS synchronization algorithm have limitations. For example, the Cristian algorithm is greatly affected by transmission latency, while the GPS synchronization algorithm has high power consumption, high cost, and computational requirements exceeding the computational power of some sensing nodes, such as passive sensors. For some sensors, these sensors are often not designed with or provide clock synchronization mechanisms. Furthermore, the clock design of these sensors is relatively simple, with low crystal oscillator accuracy (e.g., 40 ppm, meaning a difference of 0.144 seconds per hour). During use, there is significant clock drift, which cannot be corrected by algorithms due to insufficient computational power. Therefore, these sensors can be considered weak nodes. However, due to their low cost and ease of deployment, these sensors can become important, or even primary, data sources in some scenarios.

[0113] Based on this, embodiments of this application provide a communication method, apparatus, and system for calibrating data timestamps to ensure that the time of data transmitted between different nodes in a data pipeline is synchronized even when their times are not synchronized, thus facilitating communication quality. It should be noted that the communication method provided in this application synchronizes the time of data transmitted between different nodes by calibrating the data timestamps, not by calibrating the node clocks. In this application, "time synchronization" can refer to synchronization errors being within an acceptable range.

[0114] First, the network architecture to which the embodiments of this application are adapted will be introduced. The technical solutions in the embodiments of this application can be applied to various communication systems, such as Universal Mobile Telecommunications System (UMTS), Wireless Local Area Network (WLAN), Wireless Fidelity (Wi-Fi) system, 4th generation (4G) mobile communication system (such as Long Term Evolution (LTE) system), 5th generation (5G) mobile communication system (such as New Radio (NR) system), Future Communication System, or other similar communication systems, etc., without limitation.

[0115] Figure 5 is a schematic diagram of a network architecture applicable to an embodiment of this application. As shown in Figure 5, the network architecture may include a first communication device, a second communication device, and optionally, a third communication device. The first communication device can receive data and a timestamp from the second communication device, calibrate the timestamp, and then send the data and the calibrated timestamp to the third communication device.

[0116] The first communication device has the function of calibrating the timestamp of the received data. For example, the first communication device can be an independently deployed time synchronous function (TSF) network element, or it can be a network device, DA, DPF network element, DCP network element, or DO with the time synchronous function added (i.e., the TSF network element is deployed on the network device, DA, DPF, DCP, or DO).

[0117] The second communication device can be a device with data acquisition capabilities. For example, the second communication device can be a stand-alone DA (Data Acquisition Device), or it can be a terminal device or network device with added DA functionality, or it can be a sensor (i.e., a weak node).

[0118] The third communication device can be a device with data forwarding or data processing functions. For example, the third communication device can be a DA, DPF network element, DCP network element, or DO.

[0119] It is understood that the network architecture shown in Figure 5 may also include other possible devices / network elements, and no specific limitations are imposed. The network architecture shown in Figure 5 is only one possible example. The network architecture and business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of communication system architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.

[0120] Based on the network architecture shown in Figure 5, the communication method provided in this application is described below with reference to specific embodiments. The communication method provided in this application involves the interaction between multiple communication devices, such as a first communication device, a second communication device, and a third communication device. The first communication device is a first communication equipment or a component of the first communication equipment, such as a chip or chip system disposed in the first communication equipment; the second communication device is a second communication equipment or a component of the second communication equipment, such as a chip or chip system disposed in the second communication equipment; the third communication device is a third communication equipment or a component of the third communication equipment, such as a chip or chip system disposed in the third communication equipment. In this application embodiment, the example of "the first communication device is the first communication equipment, the second communication device is the second communication equipment, and the third communication device is the third communication equipment" is used for description.

[0121] It is understood that in the embodiments of this application, "send" and "receive" indicate the direction of signal transmission. For example, "send information to XX" can be understood as the destination of the information being XX, and "send information" can include direct sending or indirect sending through other communication devices, communication apparatuses, units, or modules. "Receive information from YY" can be understood as the source of the information being YY, and "receive information" can include receiving directly from YY or receiving indirectly from YY through other communication devices, communication apparatuses, units, or modules. In addition, "send" can also be understood as the "output" of the chip interface, and "receive" can also be understood as the "input" of the chip interface. In other words, "send" or "receive" can be performed between devices, such as between access network devices and terminal devices through an air interface, or "send" or "receive" can be performed within a device, such as between components, modules, chips, software modules, or hardware modules within a device through a bus, wiring, or interface.

[0122] Figure 6 is a flowchart illustrating the communication method provided in this embodiment. As shown in Figure 6, the process may include:

[0123] S601, the second communication device acquires the first data.

[0124] For example, the second communication device acquiring the first data can be replaced by the second communication device collecting the first data, or the second communication device determining the first data, or the second communication device generating the first data. The data (such as the first data) in the embodiments of this application can be understood as data in a broad sense. For example, the first data can be data collected by the second communication device from a data source, such as raw sensing data, or it can be other possible data; no specific limitation is made.

[0125] S602, the second communication device sends first data and a timestamp of the first data to the first communication device; correspondingly, the first communication device receives the first data and the timestamp of the first data, the timestamp of the first data being used to indicate the time when the second communication device sent the first data.

[0126] The time of the second communication device is not synchronized with the time of the first communication device. The timestamp of the first data is the first timestamp, which is a timestamp generated by the second communication device without time synchronization processing.

[0127] For example, the first timestamp is used to indicate the time when the second communication device sends the first data. It can be replaced by the first timestamp being used to indicate the time when the second communication device collects the first data (for example, the second communication device collects the first data and then sends the first data, so the collection time and the sending time can be understood as the same time), or the first timestamp being used to indicate the time when the second communication device determines the first data, or the first timestamp being used to indicate the time when the second communication device generates the first data.

[0128] One possible implementation is that the second communication device sends a first data packet (or data packet, described as "data packet" in this embodiment) to the first communication device. The first data packet includes first data and a first timestamp of the first data. Optionally, the first data packet also includes at least one of the following: an identifier of the second communication device, a data pipeline identity, and a data service identity. The identifier of the second communication device can be the physical address of the second communication device, a device number, or other information used to identify the second communication device; no specific limitation is imposed.

[0129] S603, the first communication device updates the timestamp of the first data to the second timestamp based on the first timestamp and the first offset (that is, calibrates the timestamp of the first data to the second timestamp).

[0130] (1) Introduction to the first offset.

[0131] The first offset is the offset between the time of the second communication device and the time of the first communication device. For example, if the time of the second communication device is 1 second later than the time of the first communication device, the first communication device can add 1 second to the time indicated by the first timestamp to obtain the second timestamp. Or, if the time of the second communication device is 1 second earlier than the time of the first communication device, the first communication device can subtract 1 second from the time indicated by the first timestamp to obtain the second timestamp.

[0132] There are multiple ways to determine the first offset using the first communication device. The following describes two possible implementations in conjunction with implementation method 1 and implementation method 2.

[0133] ① Implementation Method 1

[0134] When the first communication device receives the first data (or the first data packet), it can record a third timestamp, which indicates the time when the first communication device received the first data. Then, the first communication device determines a first offset based on the first timestamp and the third timestamp.

[0135] One possible implementation is that the first communication device inputs a first timestamp and a third timestamp into a preset model and outputs a first offset. The preset model corresponds to the second communication device; for example, the preset model is obtained based on the physical parameters of the second communication device, including the crystal oscillator frequency. Typically, time synchronization models or algorithms do not consider the characteristics of the communication device itself (such as the Cristian algorithm and GPS synchronization algorithm mentioned earlier), but the preset model in this embodiment considers the physical parameters of the second communication device, thus making the first offset obtained based on the preset model more accurate.

[0136] The preset model can be generated by other devices besides the first communication device based on the physical parameters of the second communication device and pre-configured in the first communication device; or it can be generated by the first communication device based on the physical parameters of the second communication device, and there is no specific limitation.

[0137] ② Implementation Method 2

[0138] The first communication device determines a second offset based on a first timestamp and a third timestamp, where the third timestamp indicates the time when the first communication device received the first data. Then, the first communication device determines a first offset based on the second offset and the offset of the second communication device; for example, the first communication device determines the maximum offset (or average offset or minimum offset, described in this embodiment as "maximum offset") between the second offset and the offset of the second communication device as the first offset. Further, after determining the first offset, the first communication device can update the offset of the second communication device to the first offset.

[0139] The offset of the second communication device can refer to the historical offset between the time of the second communication device and the time of the first communication device. Since the offset between the time of the second communication device and the time of the first communication device may change dynamically, after the first communication device determines the second offset based on the first and third timestamps of the currently received first data, it can further combine this with the historical offset to determine a more accurate offset (i.e., the first offset). Furthermore, the first communication device updates the offset of the second communication device to the first offset so that when data is received from the second communication device next time, the timestamp of the data can be calibrated based on the updated offset of the second communication device.

[0140] One possible implementation is that the first communication device stores a correspondence table, which includes the identifier of at least one communication device and the offset of at least one communication device, as shown in Table 2.

[0141] Table 2: Correspondence Table

[0142] After receiving the first data packet, the first communication device determines the second offset based on the first timestamp and the third timestamp. Then, the first communication device can query the corresponding relationship table based on the identifier of the second communication device carried in the first data packet, which can be divided into case a and case b.

[0143] Case a: If the correspondence table includes the offset of the second communication device (i.e., offset 2), then the first communication device determines the first offset based on the second offset and the offset of the second communication device, and updates the offset of the second communication device in the correspondence table to the first offset, that is, updates the offset 2 in the correspondence table to the first offset. The updated correspondence table is shown in Table 3.

[0144] Table 3: Correspondence Table

[0145] It is understandable that since the first communication device determines the larger of the second offset and offset 2 as the first offset, offset 2 and the first offset may be the same. For example, if offset 2 is greater than the second offset, then the first offset is offset 2. Therefore, the "update" step in this embodiment is optional. When offset 2 is different from the first offset, offset 2 can be updated to the first offset. When offset 2 is the same as the first offset, no update operation is required.

[0146] Case b: If the offset of the second communication device is not included in the correspondence table (Table 2 above is an example of the correspondence table including the offset of the second communication device), then the first communication device directly uses the second offset as the first offset, and adds the identifier of the second communication device and the offset of the second communication device to the correspondence table. The offset of the second communication device is the first offset.

[0147] Furthermore, when the time of a certain communication device in the correspondence table is synchronized with the time of the first communication device, the first communication device can delete the offset of that communication device from the correspondence table.

[0148] (2) Introduce the first and second timestamps.

[0149] For example, the first and second timestamps can be timestamps of the same format. For instance, both the first and second timestamps can be Coordinated Universal Time (UTC) timestamps. A UTC timestamp represents the number of seconds (10-digit integer) that have elapsed from January 1, 1970, 00:00:00 to the specified time. In some applications, it may be accurate to the millisecond (13-digit integer), that is, adding three milliseconds to the number of seconds. For example, the timestamp "1609459200" represents January 1, 2021, 00:00:00. This number represents the number of seconds that have elapsed from January 1, 1970, 00:00:00 to January 1, 2021, 00:00:00.

[0150] Alternatively, the first and second timestamps can be timestamps in different formats. For example, the second timestamp can be a UTC timestamp; the second communication device is a weak node, and the clock design of a weak node is relatively simple. Therefore, the first timestamp can be a simple format timestamp, such as the first timestamp representing the number of seconds that have elapsed from the second communication device being powered on to a specified time (which can be an integer with fewer than 10 digits).

[0151] When the formats of the first timestamp and the second timestamp are different (for example, the second timestamp is a UTC timestamp), the first communication device can first convert the first timestamp to a UTC timestamp, and then obtain the second timestamp of the first data based on the first timestamp and the first offset. This application embodiment does not limit the internal implementation of the first communication device.

[0152] Further, alternatively, the above method may also include S604A or S604B.

[0153] S604A, the first communication device processes the first data according to the second timestamp.

[0154] There are various specific implementations for processing the first data. Taking a sensing scenario as an example, the first data consists of some raw sensing data (such as amplitude data, phase data, etc. determined based on echo signals); the first communication device processes the first data according to the second timestamp, which can mean that the first communication device performs calculations and analyses on the first data according to the second timestamp to obtain sensing results (such as the position, movement path, speed, distance, angle, orientation, acceleration, etc. of the sensed target object). This application does not limit the specific implementation of the "processing" in its embodiments.

[0155] For example, after processing the first data, the first communication device can feed back the final processed or analyzed data to a third-party application.

[0156] S604B, the first communication device sends first data and second timestamp to the third communication device; correspondingly, the third communication device receives the first data and second timestamp.

[0157] For example, after receiving the first data and the second timestamp, the third communication device can process the first data according to the second timestamp and feed back the final processed or analyzed data to a third-party application. The time of the third communication device is synchronized with the time of the first communication device. Since the first communication device calibrated the timestamp of the first data, the third communication device can process the first data according to the second timestamp. The specific implementation of the processing can be referred to the description in S604A. This application embodiment does not limit the specific implementation of time synchronization between the third and first communication devices. For example, the third and first communication devices are located in a time synchronization system, and different devices in this time synchronization system can ensure that their times are synchronized through synchronization query messages and synchronization acknowledgment responses.

[0158] By using the above method, calibrating the first timestamp of the first data from the first communication device through the first communication device enables time synchronization of data exchanged between different communication devices, thus ensuring communication quality. The above method places lower demands on the second communication device; the second communication device only needs to carry the timestamp of the first data when sending it, without needing to support a time synchronization protocol or perform any time synchronization algorithm calculations. This facilitates resolving the time offset problem caused by insufficient computing power in weak nodes.

[0159] The following describes some scenarios to which the embodiments of this application are adapted, in conjunction with scenarios 1 to 4.

[0160] Scenario 1: The first communication device is a network device with added time synchronization function, and the second communication device is a terminal device connected to the network device. That is to say, when the terminal device is unable to synchronize time with the network device for some reason (such as insufficient computing power, inconvenient interaction, failure, etc.), the network device can calibrate the first timestamp of the first data from the terminal device.

[0161] Scenario 2: The first communication device is a DPF network element with added time synchronization function, and the second communication device is a network device. That is, when the network device cannot synchronize time with the DPF network element for some reason, the DPF network element can use the method in this embodiment to calibrate the first timestamp of the first data from the network device. Alternatively, the first communication device is a DPF network element, and the second communication device is a terminal device. That is, when the terminal device cannot synchronize time with the network device for some reason, after receiving the first data and first timestamp from the terminal device, the network device can forward the first data and first timestamp to the DPF network element, which then calibrates the first timestamp of the first data.

[0162] Scenario 3: The first communication device is a DCP network element with added time synchronization function, and the second communication device is a network device or terminal device. Scenario 3 is similar to Scenario 2; please refer to the description of Scenario 2 for details.

[0163] Scenario 4: The first communication device is an independently deployed TSF network element, and the second communication device is a third-party device (such as a weak node). In this case, the third-party device sends the first data and the first timestamp to the NEF network element. Correspondingly, after receiving the first data and the first timestamp, the NEF network element forwards the first data and the first timestamp to the TSF network element, and then the TSF network element calibrates the first timestamp of the first data.

[0164] The above scenarios 1 to 4 are only some possible scenario examples. The communication method provided in this application embodiment can be applied to a variety of scenarios that require communication synchronization. As long as the two parties in the communication interact, the data time synchronization can be achieved through the method provided in this application embodiment.

[0165] Regarding the above embodiments, it is understood that:

[0166] (1) The above focuses on describing the differences between different processes. In the various processes of this application, unless otherwise specified or logically conflicting, the terminology and / or descriptions of different processes are consistent and can be referenced from each other. In addition, different implementations or different examples can also be referenced from each other.

[0167] (2) The various numerical designations used in this application are merely for descriptive convenience and are not intended to limit the scope of this application. The step numbers in the above flowcharts are only examples of the execution process and do not constitute a restriction on the order of execution of the steps. That is, the size of each step number does not imply the order of execution; the execution order of each step should be determined by its function and internal logic. Furthermore, not all steps shown in the flowcharts are mandatory steps; some steps may be added or deleted based on actual needs.

[0168] The above primarily describes the solutions provided in the embodiments of this application from the perspective of device / network element interaction. It is understood that, to achieve the above functions, the device / network element may include corresponding hardware structures and / or software modules for executing each function. Those skilled in the art should readily recognize that, in conjunction with the units and algorithm steps of the various examples described in the embodiments disclosed herein, the embodiments of this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0169] This application embodiment can divide the device / network element into functional units according to the above method example. For example, each function can be divided into a separate functional unit, or two or more functions can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0170] In the case of using integrated units, FIG7 shows a possible exemplary block diagram of the device involved in the embodiments of this application. As shown in FIG7, the device 700 may include a processing unit 702 and a communication unit 703. The processing unit 702 is used to control and manage the operation of the device 700. The communication unit 703 is used to support communication between the device 700 and other devices. Optionally, the communication unit 703 is also called a transceiver unit, and may include a receiving unit and / or a sending unit, respectively used to perform receiving and sending operations. The device 700 may also include a storage unit 701 for storing the program code and / or data of the device 700.

[0171] (1) The device 700 can be the first communication device (such as a terminal device) in the above embodiments. The processing unit 702 can support the device 700 in performing the actions of the first communication device in the above method embodiments. Alternatively, the processing unit 702 mainly performs the internal actions of the first communication device in the method embodiments, and the communication unit 703 can support communication between the device 700 and other devices.

[0172] For example, in one embodiment, the communication unit 703 is configured to: receive first data and a timestamp of the first data, wherein the timestamp of the first data is used to indicate the time when the second communication device sends the first data, and the time of the second communication device is not synchronized with the time of the first communication device; the timestamp of the first data is a first timestamp, and the first timestamp is a timestamp that has not undergone time synchronization processing; the processing unit 702 is configured to: update the timestamp of the first data to a second timestamp according to the first timestamp and a first offset, wherein the first offset is the offset between the time of the second communication device and the time of the first communication device.

[0173] In one possible design, the communication unit 703 is further configured to: determine the first offset based on the first timestamp and the third timestamp, wherein the third timestamp is used to indicate the time when the first communication device receives the first data.

[0174] In one possible design, the processing unit 702 is specifically used to: input the first timestamp and the third timestamp into a preset model, and output the first offset.

[0175] In one possible design, the preset model is obtained based on the physical parameters of the second communication device, including the frequency of the crystal oscillator.

[0176] In one possible design, the communication unit 703 is further configured to: determine a second offset based on the first timestamp and the third timestamp, the third timestamp indicating the time when the first communication device receives the first data; and determine the first offset based on the second offset and the offset of the second communication device.

[0177] In one possible design, the processing unit 702 is further configured to update the offset of the second communication device to the first offset.

[0178] In one possible design, the processing unit 702 is specifically configured to: determine the maximum offset between the second offset and the offset of the second communication device as the first offset.

[0179] In one possible design, the processing unit 702 is further configured to: process the first data according to the second timestamp; or, the communication unit 703 is further configured to: send the first data and the second timestamp to a third communication device.

[0180] In one possible design, the time of the third communication device is synchronized with the time of the first communication device.

[0181] (2) The device 700 can be the second communication device (such as the first computing node) in the above embodiments. The processing unit 702 can support the device 700 in performing the actions of the second communication device in the above method embodiments. Alternatively, the processing unit 702 mainly performs the internal actions of the second communication device in the method embodiments, and the communication unit 703 can support communication between the device 700 and other devices.

[0182] For example, in one embodiment, the processing unit 702 is used to: acquire first data, and the communication unit 703 is used to: send the first data and the timestamp of the first data to a first communication device, wherein the timestamp of the first data is used to indicate the time when the second communication device sends the first data, and the time of the second communication device is not synchronized with the time of the first communication device; the timestamp of the first data is a first timestamp, and the first timestamp is a timestamp that has not undergone time synchronization processing.

[0183] It should be understood that the division of units in the above device is merely a logical functional division. In actual implementation, they can be fully or partially integrated into a single physical entity, or they can be physically separated. Furthermore, all units in the device can be implemented entirely through software calls from processing elements; all units can be implemented entirely in hardware; or some units can be implemented through software calls from processing elements, while others are implemented in hardware. For example, each unit can be a separate processing element, or it can be integrated into a chip within the device. Alternatively, it can be stored as a program in memory, called and executed by a processing element of the device. Moreover, these units can be fully or partially integrated together, or implemented independently. The processing element here can also be called a processor, which can be an integrated circuit with signal processing capabilities. In the implementation process, the operations or units described above can be implemented through integrated logic circuits in the processor element or through software calls from processing elements.

[0184] In one example, a unit in any of the above devices can be one or more integrated circuits configured to implement the methods described above, such as: one or more application-specific integrated circuits (ASICs), or one or more digital signal processors (DSPs), or one or more field-programmable gate arrays (FPGAs), or a combination of at least two of these forms of integrated circuits. As another example, when a 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 central processing unit (CPU), or other processor capable of calling programs. Furthermore, these units can be integrated together and implemented as a System-on-a-Chip (SoC).

[0185] The receiving unit described above is an interface circuit of the device, used to receive signals from other devices. For example, when the device is implemented as a chip, the receiving unit is an interface circuit for the chip to receive signals from other chips or devices. The transmitting unit described above is an interface circuit of the device, used to transmit signals to other devices. For example, when the device is implemented as a chip, the transmitting unit is an interface circuit for the chip to transmit signals to other chips or devices.

[0186] Based on the above embodiments, this application also provides a communication device. Referring to FIG8, the communication device 800 may include a processor 801. Optionally, the communication device 800 may further include a memory 802, which may be disposed inside or outside the communication device 800. It is understood that FIG8 only shows the main components of the communication device, and the communication device may further include a transceiver (not shown in the figure).

[0187] Specifically, processor 801 can be a CPU, a network processor (NP), or a combination of a CPU and an NP. Processor 801 may further include a hardware chip. The aforementioned hardware chip can be an ASIC, a programmable logic device (PLD), or a combination thereof. The aforementioned PLD can be a complex programmable logic device (CPLD), an FPGA, generic array logic (GAL), or any combination thereof.

[0188] The processor 801 and memory 802 are interconnected. Optionally, the processor 801 and memory 802 are interconnected via bus 803; bus 803 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, only one thick line is used in Figure 8, but this does not indicate that there is only one bus or one type of bus.

[0189] In one alternative implementation, memory 802 is used to store programs, etc. Specifically, the program may include program code, which includes computer operation instructions. Memory 802 may include RAM, and may also include non-volatile memory, such as one or more disk storage devices. Processor 801 executes the application program stored in memory 802 to implement the above functions, thereby realizing the functions of communication device 800.

[0190] For example, the communication device 800 may be the first communication device, the second communication device, or the third communication device in the above embodiments.

[0191] In one embodiment, when the communication device 800 implements the functions of the first communication device in the above method embodiment, the transceiver can perform the transmit and receive operations executed by the first communication device in the above method embodiment; the processor 801 can perform other operations besides the transmit and receive operations executed by the first communication device in the above method embodiment. For specific details, please refer to the relevant descriptions in the above embodiments, which will not be elaborated here.

[0192] In one embodiment, when the communication device 800 implements the functions of the second communication device in the above method embodiment, the transceiver can perform the transmit and receive operations executed by the second communication device in the above method embodiment; the processor 801 can perform other operations besides the transmit and receive operations executed by the second communication device in the above method embodiment. Specific details can be found in the relevant descriptions in the above embodiments, and will not be elaborated upon here.

[0193] The terms "system" and "network" in this application embodiment are used interchangeably. "At least one" refers to one or more, and "multiple" refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, "at least one of A, B, and C" includes A, B, C, AB, AC, BC, or ABC. And, unless otherwise specified, the ordinal numbers such as "first" and "second" mentioned in this application embodiment are used to distinguish multiple objects and are not used to limit the order, sequence, priority, or importance of multiple objects.

[0194] In the embodiments of this application, words such as "exemplarily" and "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design scheme described as an "example" in this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of the term "example" is intended to present concepts in a concrete manner. In the embodiments of this application, "of," "corresponding, relevant," and "corresponding" may sometimes be used interchangeably, and it should be noted that their intended meanings are consistent unless their distinction is emphasized.

[0195] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0196] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in one or more blocks of the flowchart illustrations and / or one or more blocks of the block diagrams.

[0197] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions specified in one or more flowcharts and / or one or more block diagrams.

[0198] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions specified in one or more flowcharts and / or one or more block diagrams.

Claims

1. A communication method, characterized in that, The method is applied to a first communication device or a chip in the first communication device, and the method includes: The system receives first data and a timestamp of the first data. The timestamp of the first data is used to indicate the time when the second communication device sent the first data. The time of the second communication device is not synchronized with the time of the first communication device. The timestamp of the first data is a first timestamp, which is a timestamp that has not undergone time synchronization processing. Based on the first timestamp and the first offset, the timestamp of the first data is updated to the second timestamp, and the first offset is the offset between the time of the second communication device and the time of the first communication device.

2. The method according to claim 1, characterized in that, The method further includes: The first offset is determined based on the first timestamp and the third timestamp, wherein the third timestamp is used to indicate the time when the first communication device receives the first data.

3. The method according to claim 2, characterized in that, Determining the first offset based on the first timestamp and the third timestamp includes: Input the first timestamp and the third timestamp into the preset model, and output the first offset.

4. The method according to claim 3, characterized in that, The preset model is obtained based on the physical parameters of the second communication device, including the frequency of the crystal oscillator.

5. The method according to claim 1, characterized in that, The method further includes: A second offset is determined based on the first timestamp and the third timestamp, wherein the third timestamp is used to indicate the time when the first communication device receives the first data; The first offset is determined based on the second offset and the offset of the second communication device.

6. The method according to claim 5, characterized in that, The method further includes: Update the offset of the second communication device to the first offset.

7. The method according to claim 5 or 6, characterized in that, Determining the first offset based on the second offset and the offset of the second communication device includes: The larger of the second offset and the offset of the second communication device is determined as the first offset.

8. The method according to any one of claims 1 to 7, characterized in that, The method further includes: The first data is processed according to the second timestamp; or, the first data and the second timestamp are sent to a third communication device.

9. The method according to claim 8, characterized in that, The time of the third communication device is synchronized with the time of the first communication device.

10. The method according to any one of claims 1 to 9, characterized in that: The first communication device is a Time Synchronization Function (TSF) network element, and the second communication device is a third-party device; or... The first communication device is a network device, and the second communication device is a terminal device accessing the network device; or... The first communication device is a Data Processing Function (DPF) network element, and the second communication device is either the network device or the terminal device; or... The first communication device is a data communication proxy (DCP) network element, and the second communication device is the network device or the terminal device.

11. A communication method, characterized in that, The method is applied to a second communication device or a chip in the second communication device, and the method includes: Get the first data; The first data and its timestamp are sent to the first communication device. The timestamp of the first data is used to indicate the time when the second communication device sends the first data. The time of the second communication device is not synchronized with the time of the first communication device. The timestamp of the first data is a first timestamp, which is a timestamp that has not undergone time synchronization processing.

12. The method according to claim 11, characterized in that: The first communication device is a Time Synchronization Function (TSF) network element, and the second communication device is a third-party device; or... The first communication device is a network device, and the second communication device is a terminal device accessing the network device; or... The first communication device is a Data Processing Function (DPF) network element, and the second communication device is either the network device or the terminal device; or... The first communication device is a data communication proxy (DCP) network element, and the second communication device is the network device or the terminal device.

13. A communication device, characterized in that, Includes units for performing the method as described in any one of claims 1 to 12.

14. A communication device, characterized in that, The device includes a processor coupled to a memory in which a computer program is stored; the processor is configured to invoke part or all of the computer program in the memory such that the method as described in any one of claims 1 to 12 is executed.

15. A communication system, characterized in that, The communication system includes a first communication device and a second communication device, wherein the first communication device is used to perform the method as described in any one of claims 1 to 10, and the second communication device is used to perform the method as described in claim 11 or 12.

16. A computer-readable storage medium, characterized in that, The storage medium stores a computer program that, when some or all of the computer program is executed by a computer, causes the method described in any one of claims 1 to 12 to be performed.

17. A computer program product, characterized in that, When the computer reads and executes the computer program product, the method described in any one of claims 1 to 12 is performed.

Citation Information

Patent Citations

  • Time synchronization method and system for wireless sensor network

    CN102355319A

  • Sampling synchronization through GPS signals

    US20220322260A1

  • Synchronizing network reference time among power line components

    US20240154782A1

  • Correction of client-assigned timestamps

    US8719452B1