This disclosure relates to the field of communication technologies, and in particular, to an electronic apparatus, a control circuit, and a transmission control method.
With rapid development of electronic technologies, various electronic apparatuses and applications based on the electronic apparatuses are increasingly rich. Various applications on the electronic apparatus may transmit service data to another electronic apparatus based on an actual service requirement.
After the service data is generated, an application may transmit the service data to another electronic apparatus over a wireless communication protocol preconfigured based on a service type of the service data. When a plurality of wireless communication protocols is supported for communication between the electronic apparatus and the other electronic apparatus, wireless communication resources between the electronic apparatuses are not properly used.
This disclosure provides an electronic apparatus, a control circuit, and a transmission control method, to improve satisfaction of a service requirement.
Embodiments of this disclosure provide an electronic apparatus and a control circuit that support a wireless connectivity adaptive bus architecture (CABA), and a transmission control method that is performed based on an electronic apparatus that supports the CABA or a control circuit that supports the CABA.
According to a first aspect, an electronic apparatus is provided, including the control circuit and at least two communication circuits, where the control circuit is configured to obtain first service data, and selectively distribute the first service data to at least one of the at least two communication circuits, and any one of the at least two communication circuits supports one wireless communication protocol.
In a possible implementation, the at least two communication circuits support different wireless communication protocols.
In a possible implementation, the electronic apparatus further includes an application processor, the application processor is configured to generate the first service data, the control circuit is a bus, and the application processor and the at least two communication circuits are separately connected to the bus.
In a possible implementation, the electronic apparatus includes an application processor, the control circuit is a circuit integrated in the application processor, the application processor further includes an application circuit, where the application circuit is configured to generate the first service data, and the control circuit is configured to obtain the first service data from the application circuit.
In a possible implementation, the electronic apparatus includes at least one communication chip, each of the at least two communication circuits is a circuit in the at least one communication chip, and each of the at least one communication chip includes at least one of the at least two communication circuits.
In a possible implementation, the electronic apparatus is a communication chip, and the control circuit and the at least two communication circuits are circuits integrated in the communication chip.
In a possible implementation, the wireless communication protocols supported by the at least two communication circuits include at least two of the following: a BLUETOOTH protocol, a WI-FI protocol, an ultra-wide band (UWB) protocol, a global navigation satellite system (GNSS) protocol, a ZIGBEE protocol, a near-field communication (NFC) protocol, a home internet of things (IoT) communication protocol technology (Thread) protocol, and an infrared protocol.
In a possible implementation, each of the at least two communication circuits includes a media access control (MAC) unit corresponding to a wireless communication protocol supported by each communication circuit or a MAC layer processing unit corresponding to a wireless communication protocol supported by each communication circuit.
In a possible implementation, a MAC module corresponding to the BLUETOOTH protocol includes a BLUETOOTH host (BTH) and BLUETOOTH control (BTC), a MAC unit corresponding to the WI-FI protocol is WI-FI MAC (WMAC), a MAC unit corresponding to each of the UWB protocol, the ZIGBEE protocol, the NFC protocol, the Thread protocol, and the infrared protocol is universal operation and automation controller MAC (UMAC), and a MAC unit corresponding to the GNSS protocol is position velocity temperature (PVT).
In a possible implementation, a MAC layer processing unit corresponding to the BLUETOOTH protocol includes the BTC, a MAC layer processing unit corresponding to the WI-FI protocol is device MAC (DMAC), a MAC layer processing unit corresponding to each of the UWB protocol, the ZIGBEE protocol, the NFC protocol, the Thread protocol, and the infrared protocol is the DMAC, and a MAC layer processing unit corresponding to the GNSS protocol is the PVT.
In a possible implementation, the application processor includes a circuit configured to implement a logical function of at least one of the following modules an application module, a high-layer transmission protocol module, and a host module corresponding to at least one wireless communication protocol, a host module corresponding to the BLUETOOTH protocol includes the BTH, a host module corresponding to the WI-FI protocol is the WMAC, a host module corresponding to each of the UWB protocol, the ZIGBEE protocol, the NFC protocol, the Thread protocol, and the infrared protocol is a host MAC (HMAC), and a host module corresponding to the GNSS protocol is a location based service (LBS).
In a possible implementation, the control circuit is further configured to screen the at least two communication circuits, and determine that a first communication circuit is a communication circuit configured to transmit the first service data to a second electronic apparatus E2, and is configured to indicate the first communication circuit to transmit the first service data to the second electronic apparatus E2.
In a possible implementation, the control circuit is further configured to obtain second service data, and when the first service data and the second service data meet a combination transmission condition, determine that a second communication circuit is a communication circuit configured to transmit the first service data and the second service data, and indicate the second communication circuit to transmit the first service data and the second service data.
In a possible implementation, the first communication circuit is configured to, after the control circuit indicates the first communication circuit to transmit the first service data, establish, based on a first communication protocol supported by the first communication circuit, a first communication connection used to transmit the first service data, and is configured to release the first communication link when the control circuit indicates the second communication circuit to transmit the first service data and the second service data.
In a possible implementation, the control circuit is further configured to obtain the first service data from a second communication circuit of the at least two communication circuits, is further configured to determine, from the at least two communication circuits, that a first communication circuit is a communication circuit configured to transmit the first service data to a second electronic apparatus E2, and is further configured to indicate the first communication circuit to transmit the first service data to the E2.
According to a second aspect, a control circuit is provided, including a transceiver module configured to obtain first service data, and a processing module configured to selectively distribute the first service data to at least one of at least two communication circuits in an electronic apparatus, where any one of the at least two communication circuits supports one wireless communication protocol.
According to a third aspect, a transmission control method is provided, applied to a control circuit in a first electronic apparatus E1. The method includes obtaining first service data, and selectively distributing the first service data to at least one of at least two communication circuits in the E1, where any one of the at least two communication circuits supports one wireless communication protocol.
In a possible implementation, the method further includes obtaining second service data, when the first service data and the second service data meet a combination transmission condition, determining that a second communication circuit is a communication circuit configured to transmit the first service data and the second service data, and indicating the second communication circuit to transmit the first service data and the second service data.
In a possible implementation, after the control circuit indicates the first communication circuit to transmit the first service data, the method further includes indicating the first communication circuit to establish, based on a first communication protocol supported by the first communication circuit, a first communication connection used to transmit the first service data, and indicating the first communication circuit to release the first communication link when the second communication circuit is indicated to transmit the first service data and the second service data.
In a possible implementation, the method further includes determining, when global environment information of the E1 meets a switching condition, that a second communication module is a communication module configured to transmit the first service data, and sending a switching indication to the second communication module, where the switching indication indicates the second communication module to transmit the first service data to the E2.
In a possible implementation, the method further includes determining to forward the first service data to the E2 through a third electronic apparatus E3 when global environment information of the E1 meets a relay condition, screening at least two communication modules supported by the E1, and determining that a second communication module is a communication module configured to forward the first service data to the E2 through the E3, and sending a relay indication to the second communication module, where the relay indication indicates the second communication module to forward the first service data to the E2 through the E3.
In a possible implementation, the relay condition includes the following. The E1 detects the E3, and/or the E2 detects the E3.
In a possible implementation, screening at least two communication modules supported by the E1 includes screening the at least two communication modules based on the global environment information of the E1, where the global environment information includes signal status information between the E1 and another electronic apparatus detected by the at least two communication modules.
In a possible implementation, the method further includes receiving environment reports sent by the at least two communication modules, where each environment report includes the signal status information between the E1 and the other electronic apparatus detected by a communication module that sends the environment information, and updating the global environment information of the E1 based on the environment reports sent by the at least two communication modules.
According to a fourth aspect, embodiments of this disclosure provide a control method, applied to a first electronic apparatus E1. The method includes receiving a first transmission request, where the first transmission request is used to request to transmit first service data to a second electronic apparatus E2, screening at least two communication modules supported by the E1, and determining that a first communication module is a communication module configured to transmit the first service data, and sending the first transmission request to the first communication module, where the at least two communication modules correspond to different communication protocols.
In a possible implementation, the first transmission request is sent by an application in the E1. In other words, receiving a first transmission request includes receiving the first service request sent by the application in the E1.
In this manner, workload caused by selecting the communication module and subsequently maintaining a communication link by the application may be avoided, and a load of the application may be reduced.
In another possible implementation, the first transmission request is sent by a second communication module in the E1. In other words, receiving a first transmission request includes receiving a first relay request sent by the second communication module in the E1, where the first relay request is used to request to forward the first service data to the E2 through the E1.
In this manner, the application on the electronic apparatus used as a relay may not be required in a forwarding process, which may fundamentally reduce the workload of the application.
In a possible implementation, when the first transmission request is a first service request sent by an application in the E1, the E1 is a mobile phone, and the E2 is a wearable device, or the E1 is a wearable device, and the E2 is a mobile phone.
In a possible implementation, when the first transmission request is a first relay request sent by the second communication module in the E1, the E1 is a router.
In a possible implementation of the fourth aspect, after receiving the first service request sent by the application in the E1, the method further includes receiving a second service request sent by the application, where the second service request is used to request to transmit second service data to the E2, when the first service data and the second service data meet a combination condition, determining that a second communication module is a communication module configured to transmit the first service data and the second service data, and sending a combination indication to the second communication module, where the combination indication indicates the second communication module to transmit the first service data and the second service data to the E2, and the combination condition includes the following. The first service data and the second service data are allowed to use a communication module with a same communication protocol.
In a possible implementation, the application includes a first application and a second application, and the first service request is sent by the first application, and the second service is sent by the second application.
In a possible implementation of the fourth aspect, the first communication module is configured to, after receiving the first service request, establish a first communication connection between the E1 and the E2, and transmit the first service data to the E2 based on the first communication connection, the second communication module is further configured to, after receiving the combination indication, establish a second communication connection between the E1 and the E2, and transmit the first service data and the second service data to the E2 based on the second communication connection, and the method further includes sending a release indication to the first communication module, where the release indication indicates the first communication module to release the first communication connection.
In a possible implementation of the fourth aspect, the combination condition further includes the following. The electronic apparatus receiving the first service data and the electronic apparatus receiving the second service data are the same.
In a possible implementation, the combination condition further includes a performance indicator of transmitting the first service data by using the second communication module is less than a performance indicator of transmitting the first service data by using the first communication module, where the performance indicator includes at least one of the following: power consumption, a delay, and a bit error rate.
In a possible implementation of the fourth aspect, the method further includes determining, when global environment information of the E1 meets a switching condition, that a second communication module is a communication module configured to transmit the first service data, and sending a switching indication to the second communication module, where the switching indication indicates the second communication module to transmit the first service data to the E2.
In a possible implementation of the fourth aspect, the method further includes determining to forward the first service data to the E2 through a third electronic apparatus E3 when global environment information of the E1 meets a relay condition, screening at least two communication modules supported by the E1, and determining that a second communication module is a communication module configured to forward the first service data to the E2 through the E3, and sending a relay indication to the second communication module, where the relay indication indicates the second communication module to forward the first service data to the E2 through the E3.
In a possible implementation of the fourth aspect, the relay condition includes the following. The E1 detects the E3, and/or the E2 detects the E3.
In a possible implementation, after establishing the first communication connection, the control module may receive, through the first communication module, the environment report sent by the E2, where the environment report may include signal status information of another electronic apparatus detected by the E2. The control module may also send, through the first communication module, the environment report to the E2, where the environment report may include the signal status information of the other electronic apparatus detected by the E1.
In a possible implementation of the fourth aspect, screening at least two communication modules supported by the E1 includes screening the at least two communication modules based on the global environment information of the E1, where the global environment information includes signal status information between the E1 and another electronic apparatus detected by the at least two communication modules.
In a possible implementation of the fourth aspect, the method further includes receiving environment reports sent by the at least two communication modules, where each environment report includes the signal status information between the E1 and the other electronic apparatus detected by a communication module that sends the environment information, and updating the global environment information of the E1 based on the environment reports sent by the at least two communication modules.
In a possible implementation, each environment report includes transmission status information of at least one communication connection established by a communication module that sends the environment report and detected signal status information of the other electronic apparatus.
In a possible implementation, the combination condition includes the following. The first service data is a standby service, and the second service is a data transmission service, and a same communication protocol allowed to be used for the first service data and the second service data is BLUETOOTH.
In a possible implementation, the first service request is used to request to transmit the first service data to the application on the E2.
According to a fifth aspect, a control method is provided, applied to a second electronic apparatus E2. The method includes receiving a first service request received by a first communication module in the E2 from a first electronic apparatus E1, where the first service request is used to request to transmit first service data to an application in the E2, and sending the first service request to the application when it is determined that a receiving end of the first service request is an application in the E2.
In a possible implementation of the fifth aspect, the method further includes receiving a second service request sent by the application, where the second transmission request is used to request to transmit second service data to the E1, when the first service data and the second service data meet a combination condition, determining that a second communication module in the E2 is a communication module configured to transmit the first service data and the second service data, and sending a combination indication to the second communication module, where the combination indication indicates the second communication module to transmit the first service data and the second service data to the E2, and the combination condition includes the following. The first service data and the second service data are allowed to use a communication module with a same communication protocol.
In a possible implementation of the fifth aspect, the first communication module is configured to transmit the first service data through a first communication connection between the E1 and the E2, the second communication module is further configured to, after the combination indication is received, establish a second communication connection between the E1 and the E2, and transmit the first service data and the second service data to the E2 based on the second communication connection, and the method further includes sending a release indication to the first communication module, where the release indication indicates the first communication module to release the first communication connection.
In a possible implementation of the fifth aspect, the method further includes determining that a second communication module in the E2 is a communication module configured to transmit the first service data when global environment information of the E2 meets a switching condition, and sending a switching indication to the second communication module, where the switching indication indicates the second communication module to transmit the first service data to the E2.
In a possible implementation of the fifth aspect, the method further includes determining to forward the first service data to the E1 through a third electronic apparatus E3 when global environment information of the E2 meets a relay condition, screening at least two communication modules supported by the E2, and determining that a second communication module in the E2 is a communication module configured to forward the first service data to the E1 through the E3, and sending a relay indication to the second communication module, where the relay indication indicates the second communication module to forward the first service data to the E1 through the E3.
In a possible implementation of the fifth aspect, the method further includes receiving environment reports sent by the at least two communication modules supported by the E2, where each environment report includes signal status information between the E2 and the other electronic apparatus detected by a communication module that sends the environment information, and updating the global environment information of the E2 based on the environment reports sent by the at least two communication modules.
According to a sixth aspect, a method for controlling data transmission between devices is provided, applied to a third electronic apparatus E3. The method includes receiving a first relay request sent by a first communication module in the E3, where the first relay request is used to request to transmit first service data to a target application in a second electronic apparatus E2, screening at least two communication modules supported by the E3, and determining that a second communication module is a communication module configured to transmit the first service data, and sending a relay indication to the second communication module, where the at least two communication modules correspond to different communication protocols, and the E3 does not include the target application, or the E3 does not forward the first relay request or the first service data to the target application in the E3.
According to a seventh aspect, a control apparatus is provided, including a processor and a memory. The memory is configured to store instructions, and the processor is configured to execute the instructions to implement the method according to any possible implementation of the first aspect to the sixth aspect.
According to an eighth aspect, an electronic apparatus is provided, including at least two communication modules and a control module, where communication protocols supported by the at least two communication modules are different, and the control module is configured to perform the method according to any possible implementation of the first aspect to the sixth aspect.
In a possible implementation, the apparatus further includes an application, where the application is configured to send a first service request to the control module.
In a possible implementation, the electronic apparatus is a router.
In a possible implementation, the electronic apparatus is a mobile phone or a wearable device.
According to still another aspect, embodiments of this disclosure provide a control apparatus. The apparatus includes a processing module and a transceiver module. The processing unit executes instructions to control the apparatus to perform the method in the first aspect or any possible design of the first aspect.
In a possible implementation, the apparatus may further include a storage module.
In a possible implementation, the apparatus may be a first node, or may be a chip in a first node.
When the apparatus is the first node, the processing module may be a processor, and the transceiver module may be a transceiver. If a storage module is further included, the storage module may be a memory.
When the apparatus is the chip in the first node, the processing module may be a processor, and the transceiver module may be an input/output interface, a pin, a circuit, or the like. If the storage module is further included, the storage module may be a storage module (for example, a register, a cache, or the like) in the chip, or may be a storage module (for example, a read-only memory (ROM), a random-access memory (RAM), or the like) outside the chip.
The processor mentioned anywhere above may be a general purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to control program execution of the spatial multiplexing methods in the foregoing aspects.
According to another aspect, this disclosure provides a computer-readable storage medium. The computer-readable storage medium stores instructions, and the instructions may be executed by one or more processors on a processing circuit. When the instructions are run on a computer, the computer is enabled to perform the method according to any one of the foregoing aspects or any possible implementation of the foregoing aspects.
According to still another aspect, a computer program product including instructions is provided. When the computer program product runs on a computer, the computer is enabled to perform the method in any one of the foregoing aspects or any possible implementation of any one of the foregoing aspects.
To describe some of the technical solutions in this disclosure more clearly, the following briefly describes the accompanying drawings for describing the embodiments. The accompanying drawings in the following description show some embodiments of this disclosure, and a person of ordinary skill in the art may still derive other drawings from these accompanying drawings without creative efforts.
Terms used in embodiments of this disclosure are only used to explain specific embodiments of this disclosure, but are not intended to limit this disclosure.
In embodiments of this disclosure, several parts such as a structure of an electronic apparatus that supports a wireless CABA and an application transmission control method of the electronic apparatus are described, and the technical solutions provided in embodiments of this disclosure are described.
In embodiments of this disclosure, the CABA may help the electronic apparatus perform, between an application layer and a communication layer, a control operation such as selection, switching, and combination on a communication module corresponding to a wireless communication protocol used to transmit service data. In addition, in a scenario in which the electronic apparatus is used as a relay device to forward the service data, data forwarding without using an application layer may be further implemented. In an example, the electronic apparatus supporting the CABA may obtain, at a control layer between the application layer and the communication layer, communication statuses of communication connections corresponding to all wireless communication protocols corresponding to device identifiers of other electronic apparatuses, and perform control operations such as selection, switching, combination, and relay. In addition, a wireless communication protocol used for transmitting the service data may be adaptively selected based on global environment information of communication connections corresponding to a plurality of wireless communication protocols. Based on this, for an application in the electronic apparatus supporting the CABA, it is not necessary to consider which wireless communication protocol is used to transmit the service data. Details are described below.
The following first describes an example of an application scenario related to embodiments of this disclosure.
In an example, the E1 may be a data sending end, or may be referred to as an initiating device, and the E2 may be a data receiving end, or may be referred to as a bearing device. In an example, the electronic apparatus involved in the technical solutions provided in embodiments of this disclosure may be an electronic device that supports wireless communication, such as a mobile phone, a tablet computer, a smart watch, a headset, a router, or the like.
In another example, any electronic apparatus in embodiments of this disclosure may also be a communication chip that supports at least one wireless communication protocol. In embodiments of this disclosure, the communication chip that supports the wireless communication protocol may be located in any electronic device mentioned in embodiments of this disclosure. In other embodiments of this disclosure, a structure and a function of the electronic apparatus when the electronic apparatus is a communication chip are described in detail.
The electronic apparatus in embodiments of this disclosure may use a brand new system architecture.
An example in which the electronic apparatus is an electronic device is used for description below.
In embodiments of this disclosure, as shown in
As shown in
In embodiments of this disclosure, in an example, the application module may be a service APP or a high-layer protocol module. The application layer may be configured to obtain one or more service requests, and a plurality of service requests may be triggered by one module in the application layer, or may be triggered by a plurality of modules in the application layer. The service request may be used to request to transmit an instruction and data that are related to a service. For example, the module in the application layer may trigger a plurality of service requests such as audio transmission, voice call, video transmission, high-layer protocol data transmission, positioning, standby holding, and the like. The application layer may send a service request to a control layer to transmit an instruction and/or data related to the service.
As shown in
In embodiments of this disclosure, the control module may be configured to, after receiving the service request from the application layer, determine, from a communication module at a communication layer, a communication module suitable for transmitting the service data that is requested to be transmitted by the service request. Then, the control layer is further configured to indicate the communication module to establish a communication connection and transmit, based on the communication connection, a service-related indication and/or data. In embodiments of this disclosure, the control layer may select a proper communication module based on a function requirement, a performance requirement, a multi-service combination transmission requirement, global environment information of the device, and the like that correspond to the service request. Details are described in embodiments of this disclosure.
As shown in
In embodiments of this disclosure, each communication module may support a low-layer communication protocol. In an example, the communication module in the communication layer may be one or more of communication modules such as a WI-FI module, a BLUETOOTH (BT) module, a GNSS module, a UWB module, a ZIGBEE module, an NFC module, a Thread module, an infrared module, or a Global Positioning System (GPS) module.
The WI-FI module may support a basic WI-FI protocol and a WI-FI fine timing measurement (FTM) protocol. The BLUETOOTH module may support a basic BT protocol, a BT angle of arrival (AoA) protocol, and a BT high accuracy distance measurement (HADM) protocol.
In actual application, in an example, the WI-FI protocol may be a related protocol or standard in 802.11. In another example, the BLUETOOTH protocol may be a related protocol or standard in 802.15.
It should be noted that in embodiments of this disclosure, the foregoing protocol may alternatively use another alternative protocol. For example, the BLUETOOTH protocol may use a green tooth protocol in a Sparklink protocol as an alternative, or the foregoing protocol may use another protocol in the Sparklink protocol as an alternative. This is not limited in embodiments of this disclosure.
In embodiments of this disclosure, each communication module may establish, switch, or release a communication connection between a local device and another device based on an indication of the control layer. In addition, each communication module may further report, to the control layer, link status information related to each established communication connection, and detected signal status information related to another device. In an example, the link status information and the signal status information may be used to determine global environment information of the device.
In embodiments of this disclosure, in an optional implementation, each communication protocol may correspond to one MAC layer module. In an optional implementation, the MAC layer module may include a MAC layer control unit and a MAC layer processing unit. Table 1 is a schematic diagram of a communication protocol and a corresponding MAC module.
In embodiments of this disclosure, in an optional implementation, a subsystem corresponding to each communication protocol may include a MAC module. The MAC module in each subsystem includes a MAC layer control unit and a MAC layer processing unit. A CABA control module may distribute data between an application and a subsystem including a MAC layer control unit.
In another optional implementation, a subsystem corresponding to each communication protocol may include the MAC layer processing unit. The CABA control module may also distribute data between the application and the subsystem including the MAC layer processing unit.
It should be noted that when forwarding the service data sent by the application to a subsystem corresponding to a selected communication protocol, the CABA may encapsulate a source module address and a destination module address before the service data. In an example, the source module address may be an application address, and the destination module address may be an identifier of the MAC layer control unit. In another example, the source module address may be an identifier of the MAC layer control unit, and the destination module address may be an identifier of the MAC layer processing unit.
It should be further noted that after receiving data from the MAC layer control unit or the CABA, the MAC layer processing unit re-encapsulates to-be-transmitted service data, adds a MAC layer address packet header corresponding to the communication protocol, and continues to forward the data to a baseband processing unit.
In embodiments of this disclosure, the MAC layer control unit may be referred to as a MAC layer control module or a host module, and meanings of the MAC processing unit, the MAC layer processing unit, the MAC layer processing module, and the MAC processing module are the same.
In embodiments of this disclosure, a CABA control module may be located on a communication module corresponding to each low-layer communication protocol. Each communication module may support different low-layer communication protocols. In embodiments of this disclosure, implementations of each communication module include but are not limited to the following two implementations.
As shown in
For example, referring to
In another optional implementation, the MAC layer modules corresponding to the communication protocols may be further classified into a MAC layer control module and a MAC layer processing module. Each communication module may include a MAC layer processing module, a baseband, and a radio frequency in each communication subsystem, and the CABA control module may also be located between the MAC layer control module and the MAC layer processing module.
For example, referring to
In embodiments of this disclosure, in an electronic apparatus using a CABA architecture, there may be a plurality of implementations for a communication manner between a service APP in an application layer of the electronic apparatus and the CABA control module.
In an optional implementation, referring to a right side in
In an example, the service APPs that support the CABA architecture may send, to the CABA control module, a transmission request for requesting to transmit the service data, without paying attention to a low-layer communication protocol used for transmitting the service data. In actual application, the transmission request sent by the service APPs that support the CABA may not include information related to the communication module. It should be noted that the service APP supporting the CABA may transmit a plurality of pieces of service data such as audio, data, a positioning service, and a standby service. A type of service data that the service APP supporting the CABA architecture requests to transmit is not limited in embodiments of this disclosure.
In another example, the transmission request sent by the service APP that does not support the CABA architecture may be sent to a communication module corresponding to the selected low-layer communication protocol, or the transmission request sent by the service APP that does not support the CABA architecture may include a communication module corresponding to the selected low-layer communication protocol. For the first case, the CABA control module may be configured to redirect, on a system bus, a message sent by the application layer to the communication layer to the CABA control module. In the second case, the CABA control module may ignore the communication module specified in the transmission request, and select a proper communication module based on current global environment information of the electronic apparatus. In actual application, the CABA control module may also be set to allow the communication module carried in the transmission request to be preferentially selected.
In still another optional implementation, referring to service APPs such as an audio APP, a data APP, and a positioning APP shown on a left side in
It should be noted that the service APP using this implementation may not need to support the CABA architecture.
In an example, the audio APP may be an APP that does not support the CABA architecture, and a low-layer communication protocol selected by the audio APP may be BT. The service APP that does not support the CABA architecture may send a transmission request for requesting to transmit the service data to the host module of the low-layer communication protocol. For example, the host module of the BLUETOOTH module may be a BTH module.
In another example, the data APP may be an APP that does not support the CABA architecture. The data APP may determine, based on a data transmission requirement of the data APP, that a high-layer communication protocol for transmitting the service data is Transmission Control Protocol (TCP)/Internet Protocol (IP). The data APP may send, to a TCP/IP module, a transmission request for requesting to transmit the service data. The TCP/IP module may send, to the CABA control module, the transmission request for transmitting the service data without paying attention to transmitting the service data by using the low-layer communication protocol.
In still another example, the positioning APP may be an APP that does not support the CABA architecture, and a communication control module corresponding to a low-layer communication protocol selected by the positioning APP may be an LBS module. The positioning APP that does not support the CABA architecture may send, to the LBS module, a transmission request for requesting to transmit the service data. It should be noted that the LBS module may be a communication control module corresponding to the BT AoA, WI-FI FTM, or GPS protocol. In other embodiments of this disclosure, detailed descriptions are provided, and details are not described herein again.
It should be noted that referring to
It should be further noted that both the communication control module and the protocol module may be located at the control layer in the foregoing embodiments.
In embodiments of this disclosure, in the electronic apparatus using the CABA architecture, installation of an APP that does not support the CABA may be allowed, and installation of an APP that supports the CABA may also be allowed. This enables the electronic apparatus using the CABA architecture to have good compatibility.
It should be noted that for the APP that does not support the CABA, in a downlink direction, a message sent by the APP that does not support the CABA to a protocol module corresponding to the high-layer communication protocol or the high-layer communication control module of each low-layer communication protocol, each high-layer protocol module or communication module may directly forward the message sent by the APP to the CABA control module. In an uplink direction, the message sent by the CABA control module to the APP that does not support the CABA may be forwarded to the APP that does not support the CABA through the protocol module that is passed through in the downlink direction along an original path. In the following embodiments, the service APP supporting the CABA is used as an example for description.
In actual application, the CABA control module may be located at a MAC layer. Different from performing data distribution and handover at an application layer or a network layer, the CABA control module may implement functions such as distribution and handover at the MAC layer, and implement conversion and distribution of “inter-system (such as BT, WI-FI, UWB, and the like)” data at the MAC layer.
In embodiments of this disclosure,
Each of the at least two communication circuits may include a MAC unit corresponding to a wireless communication protocol supported by each communication circuit or a MAC layer processing unit corresponding to a wireless communication protocol supported by each communication circuit.
It should be noted that the CABA control module may include at least one of the following modules: an application module, a high-layer transmission protocol module, and a host module corresponding to at least one wireless communication protocol.
In embodiments of this disclosure,
It should be noted that
When the CABA control module distributes the service data transmitted from a module located above the CABA control module to a low-layer communication module, the CABA control module may encapsulate the service data. For example, when the service data received from the BTC is to be forwarded to DMAC corresponding to the WI-FI protocol, the CABA control module may encapsulate a packet header before the service data received from the BTC, for example, the packet header may be information that is required by the DMAC and that is added according to a rule of adding a packet header when an HMAC module corresponding to the WI-FI protocol forwards the service data to the DMAC corresponding to the WI-FI protocol. In addition, the packet header may further include a BTC identifier, namely, a source module identifier, and a DMAC identifier corresponding to the WI-FI protocol, namely, a destination module identifier. In an example, the CABA control module may encapsulate, based on a received packet header required by the MAC unit or the MAC layer processing unit in the communication module, the service data that needs to be distributed. When receiving, from the low-layer communication module, the service data in which the packet header is encapsulated, the CABA control module may forward the decapsulated service data to the BTC based on the source module identifier added to the packet header. It should be noted that for a positioning service, a peer end may also be a GPS that does not support the CABA architecture. In other words, in some scenarios, processing performed by a sending end and a receiving end may also be unequal. For details, refer to related descriptions in other embodiments of this disclosure. Details are not described herein again.
In embodiments of this disclosure, in an optional implementation, data may be forwarded between an initiating device and a bearing device through a relay device.
In an example, a control layer and a communication layer in the E3 and the E4 may use the implementation shown in the foregoing embodiments. It should be noted that in an example, the relay device configured to forward data may not include an application layer.
For example, modules included in each device in embodiments of this disclosure may be shown in Table 2-1 and Table 2-2. Table 2-1 and Table 2-2 show a group of schematic diagrams of modules and corresponding identifiers included in each device.
It should be noted that a quantity of communication modules in each device may be one or more. In an example, in each device, the first communication module may be a BLUETOOTH module, and the second communication module may be a WI-FI module. A quantity of application modules in each device may also be one or more. In an example, each device may include a system application module, an application module configured to make a call, an application module configured to play audio and video, and the like.
It should be further noted that the application module in each device may be a service APP in an application layer, or may be a protocol module corresponding to a high-layer communication protocol. The application module may be an application module that supports the CABA or an application module that does not support the CABA.
In embodiments of this disclosure, the control module in the control layer may be implemented through software or hardware.
In an example, when the control module is implemented in a hardware manner, the control module may be a chip.
In an example, when the control module is implemented in a software manner, the control module may be a component generated by a control program in an operating system, and the component may be configured to control data forwarding in a system bus.
In embodiments of this disclosure, there are a plurality of implementations of a connection manner between the control module and another module.
Referring to
Referring to
Embodiments of this disclosure further provide a schematic diagram of a structure of an electronic apparatus.
The processor may be configured to execute an application program to implement a function in an application layer.
The control bus may be configured to distribute service data between the processor and the communication subsystem. The control bus may select, based on the service data, a communication subsystem corresponding to a communication protocol that meets a transmission requirement of the service data.
Any communication subsystem may be configured to forward the service data received from the control bus to another electronic apparatus based on the communication protocol corresponding to the communication subsystem, or receive service data from another electronic apparatus and forward the service data to the control bus.
In an example, the processor 601 may also be referred to as an application processor.
It should be noted that in embodiments of this disclosure, steps performed by the application layer or any module or unit in the application layer may be performed by the processor. In embodiments of this disclosure, all steps performed by the control layer or the control module may be performed by the control bus. In embodiments of this disclosure, all steps performed by a communication module or a communication circuit may be performed by the communication subsystem.
In an example, in an electronic apparatus used as a data sending end, the processor may be configured to execute an application program to generate the service data. The service data may include address information of a data receiving end, for example, an address of a bearing device and an identifier of an application program in the bearing device. The control bus may be configured to receive the service data, and selectively distribute the service data to at least one communication subsystem of at least two communication subsystems. The communication subsystem may be configured to receive the service data distributed to the communication subsystem, encapsulate the service data according to a communication protocol corresponding to the communication subsystem, and then send the encapsulated service data to the data receiving end through a communication connection established based on the communication protocol corresponding to the communication subsystem.
In another example, in an electronic apparatus used as the data receiving end, the communication subsystem may decapsulate the encapsulated service data received from the data sending end, and send the decapsulated service data to the control bus. The control bus may distribute, based on address information that is of the data receiving end and that is carried in the service data, the service data to an application program indicated by the address information. The processor is further configured to, when executing the application program, receive the service data and complete a service function requested by the service data.
It should be further noted that in embodiments of this disclosure, each communication subsystem has a plurality of implementations, and based on a function corresponding to the communication subsystem, there are also a plurality of implementations for processing performed by the control bus when the control bus distributes the service data.
In an optional implementation, if the control bus receives the service data from a MAC layer control module, the control bus may forward the service data to a MAC layer processing module corresponding to one or more communication protocols.
In an optional implementation, if the control bus receives service data from an application or a high-layer communication protocol module, the control bus may also forward the service data to a MAC control module corresponding to one or more communication protocols.
In actual application of embodiments of this disclosure, the electronic apparatus has a plurality of implementations. For example, the electronic apparatus may be an electronic device, or may be a chip or a chip set.
In embodiments of this disclosure, there are a plurality of implementations of a position of a control circuit in the electronic apparatus.
As shown in
As shown in
As shown in
As shown in
The following describes the method provided in embodiments of this disclosure by using an example in which an initiating device is E1 and a receiving device is E2. It should be noted that a control module in any device in embodiments of this disclosure may perform a method performed by a control module in another device in embodiments of this disclosure.
Embodiments of this disclosure provide a method for controlling data transmission between devices, which may be applied to an initiating device and a bearing device.
S101: An APP 11 sends a first service request to a CABA 1, where the first service request is used to request to transmit first service data to an APP 21 in E2.
In embodiments of this disclosure, there may be a plurality of service types of the first service data. For example, a positioning service, a phone service, an SMS messages service, an audio transmission service, a data transmission service, a payment service, or the like.
S102: The CABA 1 determines, from a communication module supported by E1, that a communication module configured to transmit the first service data is COMM 11.
In an example, the CABA 1 may determine, based on a communication protocol corresponding to a service type of the first service data, the communication module that transmits the first service data. In an example, the CABA 1 may store a communication protocol corresponding to a service type of each type of service data. When no other service data is transmitted between the E1 and the E2, the CABA 1 may determine a communication module corresponding to a communication protocol corresponding to the service type of the first service data as the communication module configured to transmit the first service data. Table 3 is a group of schematic diagrams of a communication protocol corresponding to a service type of service data.
In an example, the CABA 1 may determine a communication module corresponding to a default communication protocol as a communication module configured to transmit the service data. In another example, the CABA 1 may also set a selection rule to determine, from an optional communication protocol, a communication module suitable for transmitting the first service data.
It should be noted that there is a plurality of implementations in which the CABA 1 determines, from the communication module supported by the E1, the communication module configured to transmit the first service data. This is described in other embodiments of this disclosure.
In embodiments of this disclosure, after determining that the communication module configured to transmit the first service data is COMM 11, the CABA 1 may record the association information. Table 4 is a group of schematic diagrams of association information recorded by the CABA 1.
In an example, the association information may indicate the APP 11 to send the first service data to the COMM 11, and indicate the COMM 11 to transmit the first service data to the E2.
In embodiments of this disclosure, after S102, the CABA 1 may send peer end information corresponding to the first service data to the APP 11 and/or the COMM 11.
In a first optional implementation of sending the peer end information, the CABA 1 may send a sending port of the APP 11 to the COMM 11. Then, the COMM 11 may receive the first service data from the sending port of the APP 11. In an example, the CABA 1 may add the sending port of the APP 11 to a first service request, and send the first service request obtained after adding the APP 11 to the COMM 11.
In a second optional implementation of sending the peer end information, the CABA 1 may send a receiving port of the COMM 11 to the APP 11. Then, the APP 11 may send the first service data to the receiving port of the COMM 11. In an example, the CABA 1 may add the receiving port of the COMM 11 to a first service response, and send the first service response obtained after adding the COMM 11 to the APP 11.
In a third optional implementation of sending the peer end information, the CABA 1 may configure a first logical port presented to the APP 11 when the COMM 11 is used to transmit the first service data. For example, a mapping relationship between the receiving port of the COMM 11 and the first logical port may be set, it may be set that data sent to the first logical port is forwarded to the receiving port of the COMM 11, and data sent by the receiving port of the COMM 11 is sent through the first logical port. Then, the CABA 1 may send the first logical port to the APP 11. Then, the APP 11 may send the first service data to the first logical port. In an example, the CABA 1 may add the first logical port to the first service response, and send the first service response obtained after adding the first service response to the APP 11.
In this manner, when a transmission environment between the E1 and the E2 changes, the CABA 1 may change a communication module that transmits the first service data, reset a mapping rule, and forward the service data sent to the first logical port to a receiving port of another communication module. The APP 11 does not perceive this change.
It should be noted that the CABA 1 may also send the peer end information by using a message.
The following steps in embodiments of this disclosure are described by using an example in which the third optional implementation is used to send the peer end information. Embodiments of this disclosure is not limited thereto.
S103: The CABA 1 sends a first service request to the COMM 11.
After receiving the first service request, the COMM 11 may determine that the COMM 11 is determined as a communication module configured to transmit the first service data.
S104: The COMM 11 and COMM 21 establish a first communication connection between the E1 and the E2 based on a first communication protocol.
The COMM 21 and the COMM 11 in the E2 correspond to a same communication protocol.
In embodiments of this disclosure, in an example, after S104, the method may further include the following steps.
S105: The COMM 11 sends a first service request to the COMM 21.
The first service request may include destination address information of the first service data, for example, the E2 and the APP 21.
S106: The COMM 21 sends a first service request to the CABA 2.
S107: The CABA 2 determines that a receiver of the first service request is the APP 21 in the E2.
The CABA 2 may determine, based on the destination address information, that the first service request is sent to the APP 21 in the electronic apparatus to which the CABA 2 belongs.
S108: The CABA 2 sends a first service request to the APP 21.
S109: The APP 21 sends a first service response to the CABA 2.
S110: The CABA 21 sends a first service response to the COMM 21.
S111: The COMM 21 sends a first service response to the COMM 11.
S112: The COMM 11 sends a first service response to the CABA 1.
In embodiments of this disclosure, in an example, after S102, the method may further include the following steps.
S113: The CABA 1 sends a first service response to the APP 1.
The first service response may indicate an APP 1 to send the first service data.
S114: The APP 11 sends the first service data.
S115: The COMM 11 receives the first service data sent by the APP 11.
S116: The COMM 11 transmits the first service data sent by the APP 11 to the COMM 21.
S117: The COMM 21 sends the first service data received from the COMM 11 to the APP 21.
In an optional implementation, in S113, the CABA 1 may send a first service response including a first logical port to the APP 1. The first logical port is set to be that all data sent to the first logical port is sent to a receiving port of the COMM 11, and all data sent by the receiving port of the COMM 11 is sent through the first logical port.
It should be noted that a first internal channel through which the first service data sent by a sending port of the APP 11 arrives at the receiving port of the COMM 11 may pass through the CABA 1, or may not pass through the CABA 1. In an example, the first logical port may be a first port for communication between the CABA 1 and the APP 11, and the CABA 1 may forward, through a second port for communication with the COMM 11, the first service data received from the first port to the receiving port of the COMM 11.
In an optional implementation, in S110, the CABA 2 may send a first service request including a second logical port to the APP 2. All data sent by a receiving port of the COMM 21 set to the second logical port is sent through the second logical port, and all data sent to the second logical port is sent to the receiving port of the COMM 21.
It should be noted that a second internal channel through which the first service data passes from the receiving port of the COMM 21 to the sending port of the APP 21 may pass through the CABA 2, or may not pass through the CABA 2. In an example, the second logical port may be a first port for communication between the CABA 2 and the APP 21, and the CABA 2 may send, to the sending port of the APP 21 through the first port of the CABA 2, the first service data received from a second disconnection for communication with the COMM 21.
According to the technical solution provided in embodiments of this disclosure, an application sends a service request to a control module, and the control module determines a communication module configured to transmit service data that is requested to be transmitted by the service request, so that the application may not pay attention to the communication module configured to transmit the service data. This reduces workload of the application. In addition, when the application does not need to determine which communication module to be used, the application also does not need to collect environment information collected by each communication module. This reduces an amount of data that needs to be processed by the application.
Embodiments of this disclosure further provide an optional implementation. In a processing process in which the CABA 1 determines the communication module configured to transmit the first service data in S102, when a service type of the first service data corresponds to two or more communication protocols, the CABA 1 may further select, based on global environment information, a function requirement, a performance requirement, and the like that correspond to the service type of the first service data, the communication module configured to transmit the first service data.
In an example, the CABA 1 may store a function requirement, a performance requirement, a multi-service combination transmission requirement, global environment information of the device, and the like that correspond to the service type of the first service data, to select a proper communication module.
Table 5 is a group of schematic diagrams of a selection rule for a control module to select a communication module.
In embodiments of this disclosure, the CABA 1 may update the global environment information of the E1 based on an environment report reported by each communication module in the E1.
S201: Any communication module supported by E1 sends an environment report to a CABA 1.
In an example, each environment report may include signal status information between the E1 and the other electronic apparatus detected by a communication module that sends the environment information.
S202: The CABA 1 updates global environment information.
In an example, each environment report includes transmission status information of at least one communication connection established by a communication module that sends the environment report and detected signal status information of the other electronic apparatus. In actual application, the E1 may determine, based on signal status information, information such as a distance between the E1 and another electronic apparatus, and whether the E1 is in an indoor environment or an outdoor environment.
It should be noted that step S201 may be performed for a plurality of times, and may be performed before or after any step shown in
Embodiments of this disclosure provide a method for obtaining global environment information by a control module.
In embodiments of this disclosure, in an example, the multi-service combination condition may include but is not limited to the following condition. A communication module that can support transmission of both the first service data and the second service data exists in the communication module supported by E1.
In an example, if there are a plurality of communication modules that support transmission of the first service data and the second service data in the E1, the CABA 1 may select, with reference to global environment information, a communication module suitable for a current scenario from the plurality of communication modules.
For example, the E1 may be a mobile phone, and the E2 may be a smart watch. Compared with a schematic diagram of a data flow when the mobile phone and the smart watch do not use a combined connection manner shown in
S403: The CABA 1 sends a combination indication to the COMM 11.
The combination indication may indicate that the COMM 21 is determined as a communication module configured to transmit the first service request and the second service request.
S404: The COMM 12 establishes a second communication connection between E1 and the E2 based on a second communication protocol.
S405: The CABA 1 reconfigures a first logical port, and sets a mapping relationship between the first logical port and a receiving port of the COMM 12.
The APP 11 may not perceive the reconfiguration process.
S406: The CABA 1 sends a second service response to the APP 11, where the second service response indicates the APP 11 to send the second service data.
S407: The APP 11 sends the first service data and the second service data to the E2 through the COMM 12.
The APP 11 may send the first service data and the second service data to the first logical port.
S408: The CABA 1 sends an interruption indication to the COMM 11.
S409: The COMM 11 releases a first communication connection.
It should be noted that releasing the first communication connection may reduce energy consumption.
For details and technical effects of other technical solutions in this disclosure, refer to descriptions in other embodiments of this disclosure.
Embodiments of this disclosure further provide an optional implementation. The implementation may be applied to the relay device in the system shown in
Referring to
When the E2 and the E1 are located in the living room, a first communication connection is established between the E1 and the E2 based on a first communication protocol. In an example, the first communication protocol may be a BLUETOOTH protocol, and a second communication protocol may be a WI-FI protocol. For a process of establishing the first communication connection, refer to related descriptions in the foregoing embodiments.
In a first phase, when the E2 moves to a vicinity of the bedroom 1, a signal of the first communication connection established between the E1 and the E2 based on the BLUETOOTH protocol becomes worse. When a relay condition is met, the E1 and the E2 separately switch to establish a communication connection to the E3. The E1 and the E3 may establish a second communication connection based on the second communication protocol, and the E2 and the E3 may establish a third communication connection based on the first communication protocol. In a second phase, when the E2 moves to the bedroom 2, when a relay condition is met, the E2 and the E3 separately switch to establish a communication connection to the E4. The E3 and the E4 may establish a fourth communication connection based on the second communication protocol, and the E4 and the E2 may establish a fifth communication connection based on the first communication protocol. When the E2 arrives at the bedroom 2, data transmission may be performed between the E1 and the E2 through the third communication connection (a link A shown in
S501: A CABA 1 receives environment reports sent by COMM 11 and COMM 12.
S502: The CABA 1 updates global environment information.
S503: When the global environment information meets a relay condition, the CABA 1 determines to transmit first service data to E2 through E3.
In an example, the relay condition may include the following. The COMM 11 detects that a signal of the E2 is weak, and the COMM 12 detects that a signal of the E3 is normal.
It should be noted that the step of determining whether the relay condition is met may also be performed by the CABA 2 in the E2.
S504: The CABA 1 determines that the COMM 12 is a communication module configured to transmit the first service data through the E3.
S505: The CABA 1 sends a first relay request to the COMM 12, to request to forward the first service data to the E2 through the E3.
S506: The COMM 12 and COMM 32 establish a second communication connection between the E1 and the E3 based on a second communication protocol.
S507: The COMM 12 sends the first relay request to the COMM 32.
S508: The COMM 32 sends the first relay request to the CABA 3.
S509: CABA 3 determines that the first service data is data sent to the E2, and determines that COMM 31 is a communication module configured to forward the first service data to the E2.
S510: The CABA 3 sends the first relay request to the COMM 31.
S511: The COMM 31 establishes a third communication connection between the E2 and the E3 based on a first communication protocol.
S512: The COMM 31 sends a first relay response to the CABA 3.
S513: The CABA 3 sends a first relay response to the COMM 32.
S514: The COMM 32 sends a first relay response to the COMM 12.
S515: The COMM 12 sends a first relay response to the CABA 1.
S516: The COMM 12 transmits first service data received from an APP 11 to the COMM 32.
S517: The COMM 32 transmits the first service data sent by the E1 to the COMM 31.
S518: The COMM 31 transmits the received first service data to the E2 through a fourth communication connection.
S519: The CABA 1 indicates the COMM 11 to release a first communication connection.
In an optional implementation, the CABA 3 may add peer end information of an internal transmission path between the COMM 31 and the COMM 32 to the first relay request in S510 or the first relay response in S513. For example, a first relay port of the COMM 31 may be added to the first relay request in S510, and a second relay port of the COMM 32 may be added to the first relay response in S513.
Referring to
When the relay device does not use the CABA architecture, and when the relay device forwards the data flow, a communication module (BTC shown on a left side of the figure is a BLUETOOTH module) of a second communication protocol needs to transmit the data flow to an APP through an interface between modules at an upper layer, and then the data flow is forwarded by the APP to a communication module (a DMAC on a right side of the figure is a WI-FI module) of a first communication protocol. A processing delay in a forwarding process of the APP is long.
In an example, an inter-module interface at an upper layer may be an intra-chip interface or an inter-chip interface. In an example, the inter-chip interface may be a universal asynchronous receiver/transmitter (UART) or Peripheral Component Interconnect Express (PCIE), and a processing delay is greater and processing efficiency is lower in a forwarding process of the inter-chip interface.
When the relay device uses the CABA architecture, and when the relay device forwards the data flow, the communication module of the second communication protocol only needs to forward the data flow to the communication module of the second communication protocol through an inter-module interface between intermediate layers, and does not need to pass through the inter-module interface to the upper layer. Therefore, a processing delay is small and processing efficiency is high in a forwarding process. In an example, an inter-module interface between intermediate layers may be an intra-chip interface, and the intra-chip interface may be transmitted through an intra-chip bus. Therefore, a delay is obviously small, and forwarding efficiency is high.
In addition, the CABA 3 determines a communication module that needs to be used in a relay forwarding scenario, and the E3 may not need to deploy an upper-layer application that supports parsing of the first service data. For example, a router using the CABA architecture may support some scenarios in which forwarding may be implemented only by deploying a smart gateway device of the upper-layer application.
In embodiments of this disclosure, the relay device may also determine whether the global environment information meets the relay condition.
S601: A CABA 3 receives environment reports sent by COMM 31 and COMM 32.
S602: The CABA 3 updates global environment information.
S603: When the global environment information meets a relay condition, the CABA 3 determines to transmit first service data to E2 through E4.
In an example, the relay condition may include the following. The COMM 31 detects that a signal of the E2 is weak, and the COMM 32 detects that a signal of the E4 is normal.
In an example, a step of determining whether the relay condition is met may also be performed by the CABA2 in the E2.
S604: The CABA 3 determines that the COMM 32 is a communication module configured to transmit the first service data through the E4.
S605: The CABA 3 sends a second relay request to the COMM 32, to request to forward the first service data to the E2 through the E4.
S606: The COMM 32 and COMM 42 establish a fourth communication connection between the E3 and the E4 based on a second communication protocol.
S607: The COMM 32 sends a second relay request to the COMM 42.
S608: The COMM 42 sends a second relay request to the CABA 4.
S609: A CABA 4 determines, from the COMM 42, that the first service data is data sent to the E2, and determines that COMM 41 is a communication module configured to forward the first service data to the E2.
It should be noted that when the CABA 4 determines a communication module that needs to be used in a relay forwarding scenario, the E4 may not need to deploy an upper-layer application that supports parsing of the first service data.
S610: The CABA 4 sends a second relay request to the COMM 41.
S611: The COMM 41 and COMM 21 establish a fifth communication connection between the E2 and the E4 based on a first communication protocol.
S612: The COMM 41 sends a second relay response to the CABA 4.
S613: The CABA 4 sends a second relay response to the COMM 42.
S614: The COMM 42 sends a second relay response to the COMM 32.
S615: The COMM 32 sends a second relay response to the CABA 3.
S616: The COMM 32 transmits, through the fourth communication connection, the first service data received from the second communication connection to the COMM 42.
S617: The COMM 42 transmits the first service data received from the E3 to the COMM 41.
It should be noted that the E4 does not need to forward data through the upper-layer application. This avoids a delay generated by forwarding processing of the upper-layer application.
S618: The COMM 41 transmits the received first service data to the E2 through the fifth communication connection.
S619: The CABA 3 indicates the COMM 31 to release a fourth communication connection.
It should be noted that the release of the fourth connection may also be initiated by the E2.
As shown in
For other technical details and technical effects of embodiments of this disclosure, refer to descriptions in other embodiments of this disclosure.
The technical solutions provided in embodiments of this disclosure may bring many technical effects.
First, the control module selects, based on real-time, accurate, and comprehensive global environment information, a more proper wireless communication module or physical layer channel, to complete a service requirement. The comprehensively selected wireless communication number or physical layer channel has low power consumption, good transmission performance (for example, actual transmission and positioning precision), and a low delay.
Second, because data forwarding and distribution may not need to wake up an application layer APP or a main processor AP, power consumption in a data transmission process is lower.
Third, because seamless switching is performed on a bottom layer, to be specific, switching does not need to be performed on the application layer, a complex procedure of the application layer is avoided, and a switching delay in a data forwarding process is low.
Fourth, because application layer determining and distribution do not need to be performed on the relay device in a data forwarding process, for example, an internal bus, a board-level interface, and multi-process at an application layer do not need to be scheduled by an operating system between, a forwarding process may achieve a very small transmission delay. For example, the application layer and the physical layer may be two chips. If a non-CABA solution is used, processing needs to be performed on the other chip through board-level interconnection. After the CABA is used, the data does not need to be forwarded through the board-level interconnection.
Fifth, the CABA control module provides a unified application/IP layer interface for the bottom-layer communication module, and resources occupied when the control module sets the control policy and performs data flow management are significantly reduced. This avoids a problem that the bottom-layer communication module is indicated to repeatedly collect statistics when the application layer sets a control policy and performs data flow management, which causes repeated resource allocation, repeated calculation, and determining.
Sixth, the application may be decoupled in a communication manner. The application layer may be only responsible for sending the service requirement/data to the CABA control module, and does not need to pay attention to which wireless module is further configured to implement the function.
Seventh, the data flow may be invisible to the application. For the relay device, the CABA may complete direct interaction and forwarding of a data path at an IP layer or a MAC layer, and does not need to wake up the application layer to participate in determining and data forwarding.
Eighth, the CABA control module makes a decision. For a service requirement delivered by the application, the CABA dynamically and adaptively selects an optimal bottom-layer communication module, and a specific application does not need to participate in determining.
Ninth, compared with an architecture in which a plurality of wireless communication modules are disposed in a same device and are separately mounted on a bus in the non-CABA solution, to provide a service for an application, the CABA control module (Controller) normalizes an interface from the MAC layer (thickened physical layer) to the application layer, and is mounted on the system bus as one unified module. Based on this, the application may be only responsible for delivering a service requirement, and the application may be invisible to each module of the CABA Controller for service execution, data distribution and forwarding, selection of a specific wireless communication module, a direction of a data flow, and the like.
Tenth, in actual application, through a feature that an existing router may cover a communication range of a home scenario, and through features such as a low delay, low power consumption, and fast switching of the CABA, a service that may be provided is extended from an original WI-FI network access to a continuous service for all mobile phones and wearable devices. In this way, a service scope of the router is not only internet access, but also data forwarding of services such as phone, local music, and a message notification.
Embodiments of this disclosure further provide a communication apparatus. In embodiments of this disclosure, the control apparatus may alternatively be a control circuit. The control apparatus or the control circuit may be configured to implement steps related to a control module, a CABA control module, and a CABA control circuit in the foregoing embodiments.
As shown in
In a first optional implementation, the control apparatus may be applied to a first electronic apparatus, where a transceiver unit is configured to obtain first service data, a processing unit is configured to selectively distribute the first service data to at least one of at least two communication circuits, where any one of the at least two communication circuits supports one wireless communication protocol.
In a possible implementation, the at least two communication circuits support different wireless communication protocols.
In a possible implementation, the electronic apparatus further includes an application processor, the application processor is configured to generate the first service data, the control apparatus may be a bus, and the application processor and the at least two communication circuits are separately connected to the bus.
In a possible implementation, the electronic apparatus includes an application processor, the control circuit is a circuit integrated in the application processor, the application processor further includes an application circuit, where the application circuit is configured to generate the first service data, and the transceiver unit is configured to obtain the first service data from the application circuit.
In a possible implementation, the electronic apparatus includes at least one communication chip, each of the at least two communication circuits is a circuit in the at least one communication chip, and each of the at least one communication chip includes at least one of the at least two communication circuits.
In a possible implementation, the electronic apparatus is a communication chip, and the control circuit and the at least two communication circuits are circuits integrated in the communication chip.
In a possible implementation, the wireless communication protocols supported by the at least two communication circuits include at least two of the following: a BLUETOOTH protocol, a WI-FI protocol, a UWB protocol, a GNSS protocol, a ZIGBEE protocol, an NFC protocol, a home IoT communication protocol technology Thread protocol, or an infrared protocol.
In a possible implementation, each of the at least two communication circuits includes a MAC unit corresponding to a wireless communication protocol supported by each communication circuit or a MAC layer processing unit corresponding to a wireless communication protocol supported by each communication circuit.
Communication circuits corresponding to different wireless communication protocols may include any one of a MAC unit and a MAC layer processing unit.
In a possible implementation, a MAC module corresponding to the BLUETOOTH protocol includes a BTH and BTC, a MAC unit corresponding to the WI-FI protocol is WMAC, a MAC unit corresponding to each of the UWB protocol, the ZIGBEE protocol, the NFC protocol, the Thread protocol, and the infrared protocol is universal operation and automation controller UMAC, and a MAC unit corresponding to the GNSS protocol is PVT.
In a possible implementation, a MAC layer processing unit corresponding to the BLUETOOTH protocol includes the BTC, a MAC layer processing unit corresponding to the WI-FI protocol is device DMAC, a MAC layer processing unit corresponding to each of the UWB protocol, the ZIGBEE protocol, the NFC protocol, the Thread protocol, and the infrared protocol is the DMAC, and a MAC layer processing unit corresponding to the GNSS protocol is the PVT.
In a possible implementation, the application processor includes a circuit configured to implement a logical function of at least one of the following modules: an application module, a high-layer transmission protocol module, and a host module corresponding to at least one wireless communication protocol, a host module corresponding to the BLUETOOTH protocol includes the BTH, a host module corresponding to the WI-FI protocol is the WMAC, a host module corresponding to each of the UWB protocol, the ZIGBEE protocol, the NFC protocol, the Thread protocol, and the infrared protocol is the HMAC, and a host module corresponding to the GNSS protocol is an LBS.
In a possible implementation, the control circuit is further configured to screen the at least two communication circuits, and determine that a first communication circuit is a communication circuit configured to transmit the first service data to a second electronic apparatus E2, and is configured to indicate the first communication circuit to transmit the first service data to the second electronic apparatus E2.
In a possible implementation, the control circuit is further configured to obtain second service data, and when the first service data and the second service data meet a combination transmission condition, determine that a second communication circuit is a communication circuit configured to transmit the first service data and the second service data, and indicate the second communication circuit to transmit the first service data and the second service data.
In a possible implementation, the first communication circuit is configured to, after the control circuit indicates the first communication circuit to transmit the first service data, establish, based on a first communication protocol supported by the first communication circuit, a first communication connection used to transmit the first service data, and is configured to release the first communication link when the control circuit indicates the second communication circuit to transmit the first service data and the second service data.
In a possible implementation, the control circuit is further configured to obtain the first service data from a second communication circuit of the at least two communication circuits, is further configured to determine, from the at least two communication circuits, that a first communication circuit is a communication circuit configured to transmit the first service data to a second electronic apparatus E2, and is further configured to indicate the first communication circuit to transmit the first service data to the E2.
In a second optional implementation, the control apparatus may be applied to a first electronic apparatus, where a transceiver unit may be configured to receive a first transmission request sent by an application in the E1, where the first transmission request is used to request to transmit first service data to a second electronic apparatus E2, a processing unit may be configured to screen at least two communication modules supported by the E1, and determine that a first communication module is a communication module configured to transmit the first service data, and the transceiver unit may be further configured to send the first transmission request to the first communication module, where the at least two communication modules correspond to different communication protocols.
In a possible implementation, when the first transmission request is a first service request sent by an application in the E1, the E1 is a mobile phone, and the E2 is a wearable device, or the E1 is a wearable device, and the E2 is a mobile phone.
In a possible implementation, the transceiver unit may be further configured to, after the receiving the first service request sent by the application in the E1, receive a second service request sent by the application, where the second service request is used to request to transmit second service data to the E2, the processing unit may be further configured to, when the first service data and the second service data meet a combination condition, determine that a second communication module is a communication module configured to transmit the first service data and the second service data, and the transceiver unit may be further configured to send a combination indication to the second communication module, where the combination indication indicates the second communication module to transmit the first service data and the second service data to the E2, and the combination condition includes the following. The first service data and the second service data are allowed to use a communication module with a same communication protocol.
In a possible implementation, the application includes a first application and a second application, and the first service request is sent by the first application, and the second service is sent by the second application.
In a possible implementation of the fourth aspect, the first communication module is configured to, after the first service request is received, establish a first communication connection between the E1 and the E2, and transmit the first service data to the E2 based on the first communication connection, the second communication module may be further configured to, after the combination indication is received, establish a second communication connection between the E1 and the E2, and transmit the first service data and the second service data to the E2 based on the second communication connection, and the transceiver unit may be further configured to send a release indication to the first communication module, where the release indication indicates the first communication module to release the first communication connection.
In a possible implementation, the combination condition may include the following. The electronic apparatus receiving the first service data and the electronic apparatus receiving the second service data are the same.
In a possible implementation, the combination condition further includes a performance indicator of transmitting the first service data by using the second communication module is less than a performance indicator of transmitting the first service data by using the first communication module, where the performance indicator includes at least one of the following: power consumption, a delay, and a bit error rate.
In a possible implementation, the processing unit may be further configured to determine, when global environment information of the E1 meets a switching condition, that a second communication module is a communication module configured to transmit the first service data, and the transceiver unit may be further configured to send a switching indication to the second communication module, where the switching indication indicates the second communication module to transmit the first service data to the E2.
In a possible implementation, the processing unit may be further configured to determine to forward the first service data to the E2 through a third electronic apparatus E3 when global environment information of the E1 meets a relay condition, and screen at least two communication modules supported by the E1, and determine that a second communication module is a communication module configured to forward the first service data to the E2 through the E3, and the transceiver unit may be further configured to send a relay indication to the second communication module, where the relay indication indicates the second communication module to forward the first service data to the E2 through the E3.
In a possible implementation, the relay condition includes the following. The E1 detects the E3, and/or the E2 detects the E3.
In a possible implementation, the transceiver unit may be further configured to, after establishing the first communication connection, receive, through the first communication module, the environment report sent by the E2, where the environment report may include signal status information of another electronic apparatus detected by the E2. In a possible implementation, the transceiver unit may further send, through the first communication module, the environment report to the E2, where the environment report may include the signal status information of the other electronic apparatus detected by the E1.
In a possible implementation, the processing unit may be further configured to screen the at least two communication modules based on the global environment information of the E1, where the global environment information includes signal status information between the E1 and another electronic apparatus detected by the at least two communication modules.
In a possible implementation, the transceiver unit may be further configured to receive environment reports sent by the at least two communication modules, where each environment report includes signal status information between the E1 and the other electronic apparatus detected by a communication module that sends the environment information, and the transceiver unit may be further configured to update the global environment information of the E1 based on the environment reports sent by the at least two communication modules.
In a third optional implementation, the control apparatus may be applied to the second electronic apparatus E2, where a transceiver unit may be configured to receive a first service request received by a first communication module in the E2 from a first electronic apparatus E1, where the first service request is used to request to transmit first service data to an application on the E2, and a processing unit may be configured to send the first service request to the application when it is determined that a receiving end of the first service request is an application in the E2.
In a possible implementation of a third optional implementation, the method further includes the transceiver unit, further configured to receive a second service request sent by the application, where the second transmission request is used to request to transmit second service data to the E1, the processing unit, further configured to, when the first service data and the second service data meet a combination condition, determine that a second communication module in the E2 is a communication module configured to transmit the first service data and the second service data, and the transceiver unit, further configured to send a combination indication to the second communication module, where the combination indication indicates the second communication module to transmit the first service data and the second service data to the E2, and the combination condition includes the following. The first service data and the second service data are allowed to use a communication module with a same communication protocol.
In a possible implementation of a third optional implementation, the first communication module is configured to transmit the first service data through a first communication connection between the E1 and the E2, the second communication module is further configured to, after the combination indication is received, establish a second communication connection between the E1 and the E2, and transmit the first service data and the second service data to the E2 based on the second communication connection, and the transceiver unit is further configured to send a release indication to the first communication module, where the release indication indicates the first communication module to release the first communication connection.
In a possible implementation of a third optional implementation, the method further includes the processing unit, further configured to determine that a second communication module in the E2 is a communication module configured to transmit the first service data when global environment information of the E2 meets a switching condition, and the transceiver unit, further configured to send a switching indication to the second communication module, where the switching indication indicates the second communication module to transmit the first service data to the E2.
In a possible implementation of a third optional implementation, the method further includes the processing unit, further configured to determine to forward the first service data to the E1 through a third electronic apparatus E3 when global environment information of the E2 meets a relay condition, the processing unit, further configured to screen at least two communication modules supported by the E2, and determine that a second communication module in the E2 is a communication module configured to forward the first service data to the E1 through the E3, and the transceiver unit, further configured to send a relay indication to the second communication module, where the relay indication indicates the second communication module to forward the first service data to the E1 through the E3.
In a possible implementation of a third optional implementation, the method further includes the transceiver unit, further configured to receive environment reports sent by the at least two communication modules supported by the E2, where each environment report includes signal status information between the E2 and the other electronic apparatus detected by a communication module that sends the environment information, and the processing unit, further configured to update the global environment information of the E2 based on the environment reports sent by the at least two communication modules.
In a fourth optional implementation, the control apparatus may be applied to the third electronic apparatus E3, where a transceiver unit may be configured to receive a first relay request sent by a first communication module in the E3, where the first relay request is used to request to transmit first service data to a target application in a second electronic apparatus E2, a processing unit is configured to screen at least two communication modules supported by the E3, and determine that a second communication module is a communication module configured to transmit the first service data, and a transceiver unit is configured to send a relay indication to the second communication module, where the at least two communication modules correspond to different communication protocols, and the E3 does not include the target application, or the E3 does not forward the first relay request or the first service data to the target application in the E3.
As shown in
In a possible implementation, the apparatus may further include a memory 1630. The apparatus may further include a system bus 1660 configured to connect components in the apparatus.
In a possible implementation, the apparatus may be an electronic apparatus, or may be a chip in an electronic apparatus.
When the apparatus is an electronic apparatus, the processor may be configured to implement a function of the processing unit in the foregoing embodiments, and the transceiver may be configured to implement a function of the transceiver unit in the foregoing embodiments, and the memory may be configured to implement a function of the storage unit in the foregoing embodiments.
When the apparatus is the chip in the electronic apparatus, the transceiver may be an input/output interface, a pin, a circuit, or the like, and may be configured to implement a function of the transceiver unit in the foregoing embodiments. The memory may be a storage module (for example, a register, a cache, or the like) in the chip, or may be a storage module (for example, a ROM, a RAM, or the like) outside the chip, and may be configured to implement a function of the storage unit in the foregoing embodiments.
The processor mentioned anywhere above may be a general purpose CPU, a microprocessor, an ASIC, or one or more integrated circuits configured to control program execution of the spatial multiplexing methods in the foregoing aspects.
Embodiments of this disclosure further provide an electronic apparatus, including at least two communication modules and a control module. The at least two communication modules support different communication protocols. The control module is configured to perform the method in any one of the foregoing embodiments.
In a possible implementation, the apparatus further includes an application, where the application is configured to send a first service request to the control module.
In a possible implementation, the electronic apparatus is a router.
In a possible implementation, the electronic apparatus is a mobile phone or a wearable device.
According to another aspect, this disclosure provides a computer-readable storage medium. The computer-readable storage medium stores instructions, and the instructions may be executed by one or more processors on a processing circuit. When the instructions are run on a computer, the computer is enabled to perform the method in the first aspect or any possible implementation of the first aspect.
According to another aspect, a computer program product including instructions is provided. When the computer program product runs on a computer, the computer is enabled to perform the method according to the first aspect or any possible implementation of the first aspect.
All or some of the foregoing embodiments may be implemented by using software, hardware, firmware, or any combination thereof. When software is used to implement the embodiments, all or a part of the embodiments may be implemented in a form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the computer, the procedure or functions according to this disclosure are all or partially generated. The computer may be a general-purpose computer, a dedicated computer, a computer network, or other programmable apparatuses. The computer instructions may be stored in a computer-readable storage medium, or may be transmitted from a computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center to another website, computer, server, or data center in a wired (for example, a coaxial cable, an optical fiber, or a digital subscriber line) or wireless (for example, infrared, radio, or microwave) manner. The computer-readable storage medium may be any usable medium accessible by the computer, or a data storage device, for example, a server or a data center, integrating one or more usable media. The usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (for example, a DIGITAL VERSATILE DISC (DVD)), a semiconductor medium (for example, a solid-state disk), or the like.
This is a continuation of International Patent Application No. PCT/CN2021/109947 filed on Jul. 31, 2021, which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2021/109947 | Jul 2021 | US |
Child | 18427181 | US |