A resource management method and device
By centrally managing channel resources and comprehensively considering various factors to schedule channel allocation and device switching, the channel interference problem in multi-device WiFi networks is solved, improving the network's anti-interference performance and throughput.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-05-14
- Publication Date
- 2026-03-24
AI Technical Summary
In WiFi networks with multiple interconnected devices, severe channel interference can cause device service lag and limited network throughput, especially in intensive service scenarios, where existing technologies lack effective anti-interference solutions.
By managing the air interface resources of the main equipment in a unified manner, and taking into account factors such as channel interference score, service type, channel capacity and number of devices, channel allocation is scheduled to reduce mutual interference between multiple links, and devices are triggered to switch to alternative channels when necessary.
It effectively reduces channel interference between devices, improves the network's anti-interference performance and overall throughput, and ensures the stable operation of services.
Smart Images

Figure CN115348674B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a resource management method and device. Background Technology
[0002] Multiple devices typically interconnect via Wireless Fidelity (WiFi). Because WiFi operates in unlicensed frequency bands, any device conforming to radio frequency specifications can transmit or receive data on this band. To reduce collisions between devices in the network, it is stipulated that all devices in the network can communicate using a carrier sense multiple access with collision avoidance (CSMA / CA) mechanism. This means that before transmitting data, each device in the network can actively initiate a channel access procedure, and then use the CSMA / CA mechanism to monitor the channel status, i.e., determine whether the channel is idle. Only when the channel is idle will it be used to transmit data.
[0003] However, due to the use of unlicensed frequency bands and the CSMA channel contention mechanism in WiFi networking, channel interference within the network is quite severe. This is especially true in high-traffic environments such as offices, flagship stores, and exhibitions, where channel interference is particularly acute, leading to issues like device lag. In network topologies with multiple interconnected devices and numerous links, the probability of channel interference between these links is even higher when multiple services are running simultaneously, limiting the overall network throughput. Currently, there is no corresponding anti-interference solution for this problem. Summary of the Invention
[0004] This application provides a resource management method and device for uniformly managing the air interface resources of the system and reducing mutual interference between various links in the system.
[0005] Firstly, a resource management method for a distributed system is provided. This method can be used in a domain comprising a master device and multiple slave devices, wherein the interconnected devices within the domain form an island. The method is applicable to any device within the domain. Taking the execution of this method by the master device as an example, the method includes:
[0006] The master device receives channel scoring information from each slave device, generates first radio resource management (RRM) information based on the received channel scoring information and the master device's own channel scoring information, and sends the first RRM information to each slave device. Each channel scoring information indicates the degree of interference to each channel measured by the corresponding device. The first RRM information indicates the priority ranking of each channel, where a higher channel priority indicates a lower degree of interference.
[0007] In this embodiment, by acquiring the channel interference score and service type of each device in the system, and considering both the channel capacity and interference situation, the allocated channels are scheduled. This allows more device links to operate on channels with less interference, reducing mutual interference between multiple links.
[0008] It should be understood that before the master device generates the first RRM information based on the received channel scoring information and the master device's channel scoring information, the master device measures each channel to obtain the master device's channel scoring information.
[0009] In one possible implementation, the master device generates first RRM information based on the received channel scoring information and the master device's channel scoring information, including:
[0010] The master device merges channel interference information from multiple slave devices to obtain target channel interference information, and generates first RRM information based on the target interference information. This target interference information includes the channel interference score and / or interference duty cycle of each channel. In this scheme, the master device can initially prioritize each channel based on its channel interference score and / or interference duty cycle.
[0011] In one possible implementation, the master device updates the first RRM information based on one or more of the following factors: the channel interference score of each channel, the interference duty cycle of each channel, the service priority of the island corresponding to each channel, the remaining rate capacity of each channel, the total rate capacity of each channel, and the number of devices included in each island.
[0012] It should be understood that the actual service requirements of the equipment on each island differ, which will affect channel scheduling; the number of devices on each island will also affect channel scheduling; and the remaining rate capacity of the channels on each island will also affect channel scheduling. Therefore, in this scheme, in addition to considering channel interference scoring, the service priority of each channel corresponding to the island, the remaining rate capacity of each channel, the total rate capacity of each channel, and the number of devices on each island can be used to prioritize each channel. This yields a more accurate priority ranking, ensuring that the interference level of the channels allocated to each island is minimized and that the service operation on each island is not affected as much as possible.
[0013] In one possible implementation, the method further includes:
[0014] The master device determines, based on the service priority of the first island, that the remaining rate capacity of the first channel to be allocated to the first island does not meet the service requirements of the first island. Therefore, it lowers the priority of the first channel by one level and updates the first RRM information to the second RRM information. In this scheme, the remaining rate capacity of the channels to be allocated can be comprehensively considered when allocating channels to the first island. When the remaining rate capacity of the channels to be allocated is insufficient to meet the current service requirements, then to reduce the impact on the services of the first island, channels with higher interference can be allocated. That is, the priority of the channels to be allocated is lowered by one level, and the RRM information is updated. In this way, the RRM information is dynamically adjusted according to the remaining rate capacity of each channel and the actual service requirements of each island, thus allocating channels to each island more rationally.
[0015] In one possible implementation, the method further includes: if the master device determines that it meets the channel switching conditions, it sends a first notification frame to other devices on the island where the master device is located. This first notification frame is used to notify the other devices to switch to an alternative channel. The channel switching conditions include one or more of the following: service interruption, service latency exceeding a second preset threshold, or the master device's currently operating second channel being busy. In this scheme, if any device detects channel interference affecting its service, it can request the remaining devices in the system to switch to an alternative channel to maximize anti-interference performance and system capacity.
[0016] In one possible implementation, the method further includes: if the master device determines that the second slave device and the third slave device included in the second island are operating on multiple channels, the master device sends a first notification frame to the third slave device, which instructs the third slave device to switch to the channel operated by the second slave device. In this scheme, the master device discovers that different devices within an island are operating on multiple channels through the connection information of each device in the system. The master device can send a notification frame for channel switching to one or more devices within the island to ensure that the devices within the island are operating on the same channel. This avoids the possibility that some slave devices might switch to the channel of another island because they have not obtained the second RRM information.
[0017] In one possible implementation, the method further includes: if the master device determines that the third island and the fourth island are operating on the third channel, the master device sends a second notification frame to the fourth island, the second notification frame being used to instruct the fourth island to switch from the third channel to the fourth channel. In this scheme, if the master device determines that multiple islands have switched to the same channel, or that there is a channel with less interference, the master device forces each slave device to switch its current channel.
[0018] Secondly, a resource management method for a distributed system is provided. This method can be used in a domain including a master device and multiple slave devices, wherein the multiple interconnected devices within the domain form an island. The method is applicable to any device within the domain. Taking the execution of this method by a first slave device as an example, the method includes:
[0019] The first slave device sends channel scoring information to the master device and receives first RRM information from the master device. If it determines that the interference level of the currently operating first channel is greater than a first preset threshold, it switches from the first channel to the second channel based on the first RRM information. The channel scoring information indicates the degree of interference measured by the first slave device for each channel; the higher the channel priority, the lower the interference level; the interference level of the first channel is greater than that of the second channel.
[0020] In one possible implementation, the first slave device sends channel scoring information to the master device, including:
[0021] The first slave device sends channel score information to the master device when the first duration of the interference reporting timer expires. The interference reporting timer comprises multiple durations, each used for a subset of slave devices to report their respective channel interference information. This scheme, where the interference reporting timer has multiple durations, ensures that the interference information reported by each slave device is staggered as much as possible, guaranteeing transmission quality.
[0022] In one possible implementation, the difference between the interference level of the first channel and the interference level of the second channel is greater than or equal to a second preset threshold. In this scheme, the device only switches to the channel to be allocated when it determines that the interference level between the currently operating channel and the channel to be allocated is relatively high, thus avoiding unnecessary switching procedures.
[0023] In one possible implementation, the method further includes:
[0024] The first slave device determines that it meets the channel switching conditions and sends a first notification frame to other devices within the island where it is located. This first notification frame is used to notify the other devices to switch to the alternative channel. The channel switching conditions include one or more of the following: service interruption, service latency exceeding a second preset threshold, or the second channel being busy.
[0025] In one possible implementation, the method further includes:
[0026] The first slave device receives a second notification frame from the master device, which instructs the first slave device to switch to the channel where the second slave device operates. The first and second slave devices belong to the same island, but operate on different channels.
[0027] In one possible implementation, the method further includes:
[0028] The first slave device receives a third notification frame from the master device, which instructs the first slave device to switch from the fourth channel to the fifth channel. The fourth channel is a channel operated by multiple islands, and the first slave device belongs to one of these islands.
[0029] For the beneficial effects of the second aspect or any possible implementation of the second aspect, please refer to the first aspect and the beneficial effects of each possible implementation of the first aspect, which will not be repeated here.
[0030] Thirdly, an electronic device is provided, comprising a display screen, one or more processors, a memory, a transceiver, and one or more programs. The one or more programs are stored in the memory and include instructions that, when executed by the electronic device, cause the electronic device to perform the method provided by a master device in the first aspect or any possible embodiment described above, or cause the electronic device to perform the method provided by a first slave device in the second aspect or any possible embodiment described above.
[0031] For example, the transceiver can be used to receive channel scoring information from each slave device, each channel scoring information indicating the degree of interference measured by the corresponding device for each channel; the processor can be used to generate first RRM information based on the received channel scoring information and the master device's channel scoring information, the first RRM information indicating the priority order of each channel, wherein the higher the priority of the channel, the lower the degree of interference of the channel; the transceiver is also used to send the first RRM information to each slave device.
[0032] As an optional implementation, the processor is specifically used for:
[0033] By merging channel interference information from multiple slave devices, target channel interference information is obtained, which includes the channel interference score and / or interference duty cycle of each channel.
[0034] Based on the target channel interference information and one or more of the following factors, each channel is prioritized and sorted, and first RRM information is generated based on each sorted channel: channel interference score of each channel, interference duty cycle of each channel, service priority of the island corresponding to each channel, remaining rate capacity of each channel, total rate capacity of each channel, and number of devices included in each island.
[0035] As an optional implementation, the processor is further configured to: determine, based on the service priority of the first island, that the remaining rate capacity of the first channel to be allocated to the first island does not meet the service requirements of the first island, reduce the priority of the first channel by one level, and update the first RRM information to the second RRM information.
[0036] As an optional implementation, the processor is further configured to determine that the master device meets the channel switching conditions; the transceiver is further configured to send a first notification frame to other devices within the island where the master device is located, the first notification frame being used to notify the other devices to switch to the alternative channel. The channel switching conditions include one or more of the following: service interruption, service latency exceeding a second preset threshold, or the second channel currently used by the master device being busy.
[0037] As an optional implementation, the processor is further configured to determine that the second slave device and the third slave device included in the second island are operating on multiple channels; the transceiver is further configured to send a first notification frame to the third slave device, the first notification frame being used to instruct the third slave device to switch to the channel where the second slave device is operating.
[0038] As an optional implementation, the processor is further configured to determine that the third island and the fourth island are operating on the third channel; the transceiver is further configured to send a second notification frame to the fourth island, the second notification frame being used to instruct the fourth island to switch from the third channel to the fourth channel.
[0039] For example, the transceiver is used to send channel scoring information to the master device and receive first RRM information from the master device; the processor is used to switch from the first channel to a second channel based on the first RRM information when it determines that the interference level of the currently operating first channel is greater than a first preset threshold. The channel scoring information indicates the degree of interference measured by the first slave device for each channel; the higher the channel priority, the lower the interference level of the channel; the interference level of the first channel is greater than that of the second channel.
[0040] As an optional implementation, the transceiver is specifically used for:
[0041] Upon the expiration of the first duration of the interference reporting timer, channel score information is sent to the master device. The interference reporting timer comprises multiple durations, each used for a portion of the slave devices to report their respective channel interference information.
[0042] As an optional implementation, the difference between the interference level of the first channel and the interference level of the second channel is greater than or equal to a second preset threshold.
[0043] As an optional implementation, the processor is further configured to determine that the first slave device meets the channel switching conditions; the transceiver is configured to send a first notification frame to other devices within the island where the first slave device is located, the first notification frame being used to notify the other devices to switch to the alternative channel. The channel switching conditions include one or more of the following: service interruption, service latency exceeding a second preset threshold, or the second channel being busy.
[0044] As an optional implementation, the transceiver is also used for:
[0045] A second notification frame is received from the master device, which instructs the first slave device to switch to the channel in which the second slave device operates. The first and second slave devices belong to the same island, but operate on different channels.
[0046] As an optional implementation, the transceiver is also used for:
[0047] A third notification frame is received from the master device, instructing the first slave device to switch from the fourth channel to the fifth channel. The fourth channel is a channel operated by multiple islands, and the first slave device belongs to one of these islands.
[0048] Fourthly, an electronic device is provided, the electronic device including a module / unit for performing the method executed by a master device in the first aspect or any possible implementation; or, the electronic device including a module / unit for performing the method executed by a first slave device in the second aspect or any possible implementation.
[0049] Fifthly, a system is provided, comprising a first device, a second device, and a third device. Optionally, the system may also include other devices. The devices included in the system are capable of enabling distributed services, such as multi-screen collaboration. Each device can be implemented using electronic equipment from the third aspect or electronic equipment from the fourth aspect.
[0050] In a sixth aspect, a chip is provided, the chip including a processor and an interface, the interface being used to communicate with the processor and to receive information from other devices; the processor being used to perform the method described in the first aspect and any possible implementation thereof, or the processor being used to perform the method described in the second aspect and any possible implementation thereof.
[0051] In a seventh aspect, a computer-readable storage medium is provided for storing a computer program that, when run on a computer, causes the computer to perform one or more of the following methods: a method performed by a master device in the first aspect or any possible embodiment described above, or a method performed by a first slave device in the second aspect or any possible embodiment described above.
[0052] Eighthly, a computer program product comprising instructions is provided, the computer program product being used to store a computer program that, when the computer program is run on a computer, causes the computer to perform one or more of the following methods: a method executed by a master device in any of the possible embodiments of the first aspect above, or a method executed by a first slave device in any of the possible embodiments of the second aspect above. Attached Figure Description
[0053] Figure 1 This is a schematic diagram of a network architecture for a distributed system.
[0054] Figure 2 This is a schematic diagram of a network architecture for another distributed system.
[0055] Figure 3 A schematic diagram of the structure of an electronic device;
[0056] Figure 4 This is a schematic diagram of the network architecture of a distributed system provided in an embodiment of this application;
[0057] Figure 5 A flowchart illustrating the resource management method provided in an embodiment of this application;
[0058] Figure 6 A schematic diagram of an exemplary distributed system network architecture provided for embodiments of this application;
[0059] Figure 7 This is a schematic diagram illustrating the process by which a master device generates RRM information based on the channel interference information of each slave device, as provided in an embodiment of this application.
[0060] Figure 8 A schematic diagram illustrating the merging of channel interference information of various slave devices by a master device according to an embodiment of this application;
[0061] Figure 9 This application provides a schematic diagram of a network architecture for a distributed system.
[0062] Figure 10 for Figure 9 A diagram illustrating the business types and rate requirements of each island in the middle.
[0063] Figure 11 A schematic diagram illustrating the channel switching sequence of the various devices provided in the embodiments of this application;
[0064] Figure 12 This is a schematic diagram of the structure of an action frame for reporting channel interference information from a device, provided in an embodiment of this application.
[0065] Figure 13 This is a schematic diagram of the structure of an action frame for channel switching provided in an embodiment of this application;
[0066] Figure 14 This is a schematic diagram of the structure of a beacon frame provided in an embodiment of this application;
[0067] Figure 15 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0068] To make the objectives, technical solutions, and advantages of this application clearer, the application will now be described in further detail with reference to the accompanying drawings.
[0069] With the development of IoT technology, more and more businesses and applications hope to achieve collaborative work across multiple devices. For example, to improve user experience, multi-screen collaboration (or multi-device collaboration) is offered, supporting applications and businesses that enable multi-device collaboration, such as multi-screen collaboration and information sharing. For instance, under multi-screen collaboration, device 1 can project its screen onto device 2, allowing files on device 1 to be opened on device 2. For example, in multi-screen collaboration between a mobile phone and a personal computer (PC), the mobile phone's image is displayed on the PC's screen; this image can be understood as the projection interface. The user operates on the projection interface on the PC; for example, if the user selects to open file A, the PC can open file A, but file A is actually a file on the mobile phone. Since the PC's screen is larger than the mobile phone's, viewing the file on the PC enhances the user's viewing experience.
[0070] For ease of description, in the embodiments of this application, applications or services that rely on the collaborative work of multiple devices are collectively referred to as distributed services. It should be understood that supporting distributed services requires connecting multiple terminal devices such as mobile phones, tablets, PCs, and displays together to achieve one-to-one, one-to-many, or even many-to-many connections between multiple devices, i.e., multi-device interconnection, so that distributed services can run collaboratively on multiple terminal devices.
[0071] As an example, multiple devices can form a system with one-to-one or one-to-many connections. For instance, a distributed system is established based on the Wireless Fidelity (WiFi) Alliance (WFA) and its defined Wireless Fidelity Peer-to-Peer (WiFi P2P) protocol. WiFi P2P is a peer-to-peer connection technology that allows multiple WiFi devices to form a network without an access point (AP). This network can also be called a P2P Network or a P2P Group, where multiple WiFi devices can communicate with each other. The basic principle of the WiFi P2P protocol is that a Transmission Control Protocol (TCP) / Internet Protocol (IP) link can be directly established between two stations (STAs). One of the STAs can be considered a traditional AP, called the group owner (GO), while the other STA can be called the group client (GC). In other words, GC is similar to STA, and GO is similar to AP. Just as STA connects to AP, GC can also connect to GO. It should be understood that in a P2P Network or P2P Group, one GO can correspond to one GC, or it can correspond to multiple GCs. That is, the relationship between GO and GC can be one-to-one or one-to-many.
[0072] It should be understood that the WiFi P2P protocol is developed based on the 802.11 protocol framework and belongs to a centralized network communication structure. That is, WiFi P2P requires each terminal device to be configured with a role, such as GO or GC. The GO, as the central node, can communicate with any GC node connected to it, but GOs cannot communicate with each other, nor can GCs communicate with each other.
[0073] For easier understanding, please refer to Figure 1 This is a schematic diagram of a network architecture for a distributed system. Figure 1 It includes three terminal devices, namely terminal device 101, terminal device 102 and terminal device 103, which are located in a network. Figure 1 Taking terminal devices 101 and 102 as mobile phones, and terminal device 103 as a tablet as an example. Figure 1In the initial chain establishment process, after terminal devices 101, 102, and 103 establish their connections, terminal device 103 is the GO (Goal Controller), while terminal devices 101 and 102 are both GC (GC). Terminal device 103 can collaborate with terminal device 101 or with terminal device 102. For example, ... Figure 1 As shown, terminal devices 103 and 102 can perform screen mirroring services. If the required collaborative service exists between any two GCs in multiple interconnected settings, collaborative services are obviously impossible since GCs cannot communicate with each other. For example, as... Figure 1 As shown, information sharing needs to be achieved between terminal devices 101 and 102. However, since both terminal devices 101 and 102 are GCs (GCs), the connection between terminal devices 102 and 103 needs to be disconnected due to the roles they play. A new link needs to be established between terminal devices 101 and 102 so that terminal device 101 becomes a GO (Goal Controller), thus enabling information sharing with terminal device 102. Otherwise, information sharing between terminal devices 102 and 101 cannot be achieved. After the link is re-established between terminal devices 101 and 102, one terminal device acts as a GO, and the other acts as a GC, and the link between terminal devices 102 and 103 is disconnected. For example, Figure 1 Taking terminal device 101 as the GO and terminal device 102 as the GC as an example, the role of a device can change as the chain is established. For example, after the initial chain establishment, the role of terminal device 101 is GC, and after the chain is re-established, the role of terminal device 101 is GO.
[0074] As another example, multiple devices can also form a many-to-many connected system. For example, in some embodiments, a distributed system is established based on the Neighbor Awareness Networking (NAN) protocol. That is, a device discovers other devices in the same area via WiFi, selects one device as the master device from all devices in that area, and then the other devices are slave devices. Slave devices can synchronize their time with the master device. For example, the master device periodically sends signaling frames carrying time information. Each slave device receives the signaling frame and synchronizes its time with the master device according to the time information in the signaling frame, thus synchronizing the time of all devices within a network. For example, the master device can allocate discovery windows (DWs), and the master device and each slave device can broadcast their own information in the DW. Of course, any device can listen for information broadcast from other devices within the DW. Any device can discover other devices by detecting synchronization beacon frames sent by other devices before the DW time slot ends. It should be understood that synchronization beacon frames are sent by active devices. After discovering each other, the devices can establish connections with each other.
[0075] After multiple devices establish a connection, each device schedules air interface resources based on the smallest data transmission unit in the time domain (time slice) and frequency domain (channel), i.e., the available windows (AW). In other words, each device controls air interface transmission by scheduling AW configurations.
[0076] For example, in some embodiments, devices can also discover each other via Bluetooth or WiFi and establish connections with the discovered devices. Then, they negotiate the link information for establishing WiFi Direct communication through the established communication channel, thereby forming a distributed system. Since devices establish communication connections after discovery and then negotiate the link information for establishing WiFi Direct communication through the established communication channel, there is no need to assign specific roles to each device. Whether the distributed system is based on the NAN protocol to establish connections between devices, or on Bluetooth or WiFi to discover each other and establish connections with the discovered devices, the relationship between devices can be one-to-one, one-to-many, or many-to-many, and the roles of each device in the system are equal. This allows distributed services to collaborate between any devices without being limited by role issues. For example, the first device in the distributed system can project its screen onto the second device, and the first and third devices can share files, i.e., without role conflicts.
[0077] For example, see Figure 2 This is a schematic diagram of a distributed system. Figure 2 Taking a distributed system comprising five devices as an example, it should be understood that these devices are within the same network. These five devices are device 201, device 202, device 203, device 204, and device 205. Devices 201, 202, 203, 204, and 205 can perform multi-screen collaboration or information sharing. For example, device 201 can perform multi-screen collaboration or information sharing with device 202 or device 203; device 202 can perform multi-screen collaboration with device 204; and device 203 can share information with device 202. Figure 2 Taking device 201 as a mobile phone, device 202 as a portable computer, device 203 as a tablet computer, device 204 as a personal computer, and device 205 as a smart speaker as examples.
[0078] Taking device 201 as an example, device 201 can broadcast a discovery message via the Bluetooth communication channel. This discovery message is used to discover one or more devices, such as devices 201-205. Any device among devices 201-205, such as device 203, can send a response message to device 201 upon receiving the discovery message. Upon receiving the response message, device 201 can establish a Bluetooth connection with device 203. Similarly, other devices can also establish Bluetooth connections with device 201. After establishing Bluetooth connections with each device, device 201 can negotiate the link information for establishing WiFi Direct communication and establish WiFi Direct communication with each other based on this link information, thus forming a distributed system. Since communication connections are established after device discovery, and the link information for establishing WiFi Direct communication between devices is negotiated through the communication channel established between devices, there is no need to assign specific roles to each device.
[0079] Typically, multiple devices interconnect via Wireless Fidelity (WiFi). Because WiFi operates in unlicensed frequency bands, any device conforming to radio frequency specifications can transmit or receive data on this band. To reduce collisions between devices in the network, all devices are permitted to communicate using Carrier Sense Multiple Access with Collision Avoidance (CSMA / CA). This means that before transmitting data, each device can actively initiate a channel access process and then use CSMA / CA to monitor the channel status, determining if the channel is idle. Only when the channel is idle will it be used to transmit data. However, due to WiFi's use of unlicensed frequency bands and the CSMA channel contention mechanism, channel interference within the network is quite severe. This is especially pronounced in high-traffic environments such as offices, flagship stores, and exhibitions, leading to issues like device lag. In multi-device interconnected network topologies with numerous links, the probability of channel interference between multiple links is even higher when multiple services are running simultaneously, limiting the overall network throughput.
[0080] For example, in Figure 1 In the system shown, WiFi P2P services typically choose a channel that follows the GO (Go) protocol or selects a random channel when establishing a connection. This can lead to severe co-channel interference within the network, causing interference between multiple P2P services and between P2P services and other services.
[0081] For example, in Figure 2 In the system shown, if multiple devices establish a connection based on the NAN protocol, each device controls its air interface transmission by scheduling AW configuration. That is, any device uses a fixed channel (social channel) to send its own relevant information, such as time synchronization information. The social channel can be considered the frequency domain location where all devices in the near field interact to discover each other, used to discover other devices within the near field. Any device listens for information from other devices on the social channel, thereby discovering each other. The social channel can be considered a negotiated or fixed channel, such as ch6, ch36, ch44, or ch149. It should be understood that 6, 36, 44, and 149 are channel numbers.
[0082] Devices can construct a synchronization channel sequence around a timing sequence containing multiple availability windows (AWs) and multiple extension windows (EWs). AWs are fixed-length windows that allow devices to communicate within short, fixed-length time slots. EWs offer greater flexibility by extending the window length. Each device can advertise the available time slots for data communication, and the peer device matches the received time slots with its own AWs sequence. If a common channel exists within a specific AW, communication can occur during that AW. This synchronization mechanism ensures sequence alignment between devices. When a device sends user data to a peer device, it needs to negotiate and calculate a common AWs. During the common AWs, both devices switch to the same channel and only transmit frames within these AWs.
[0083] As can be seen, in a distributed system based on the NAN protocol, the allocation of channels and time slots for each link is negotiated independently by the devices at both ends of the link. Furthermore, the available channels are concentrated, leading to a higher probability of channel interference between multiple links when multiple services are running simultaneously. Because the entire network cannot coordinate scheduling to combat interference, the overall network throughput is limited.
[0084] In view of this, embodiments of this application provide a resource management method for a distributed system. This method involves acquiring the channel interference score and service type of each device in the system, and scheduling the allocated channels based on the channel capacity and interference situation. This allows more device links to operate on channels with less interference, reducing mutual interference between multiple links. If any device in the system detects channel interference affecting its service, it can request the remaining devices in the system to switch to an alternative channel to maximize anti-interference performance and system capacity.
[0085] The resource management method provided in this application can be applied to various distributed systems, such as... Figure 1 Distributed systems as shown, or such as Figure 2 The distributed system shown is illustrated. For ease of distinction, it can be referred to as follows in this article. Figure 1Distributed systems built on the WiFi P2P protocol are referred to as Type I distributed systems, while those built on the NAN protocol are referred to as Type II distributed systems. It should be noted that Type II distributed systems are relative to Type I distributed systems. In Type I distributed systems, the roles of devices are limited, with one-to-one or one-to-many relationships between devices. In Type II distributed systems, the roles of devices are equal, and relationships can be one-to-one, one-to-many, or many-to-many. This application does not limit the method for establishing Type II distributed systems; for example, it can be based on the NAN protocol or the method provided in this application. Specifically, it involves mutual discovery via Bluetooth or WiFi, establishing connections with discovered devices, negotiating link information for WiFi direct communication through the established communication channel, and then achieving WiFi direct communication between devices based on this link information, thereby forming a distributed system.
[0086] The technical solutions provided in this application can be applied to electronic devices, such as any device constituting distributed system one or distributed system two. The following describes electronic devices and embodiments for using such electronic devices. In some embodiments of this application, the electronic device can be a portable electronic device, such as a mobile phone, PAD, portable computer, wearable device with wireless communication capabilities (such as a smartwatch, smart glasses, smart bracelet, or smart helmet, etc.), or in-vehicle device, etc. Exemplary embodiments of portable electronic devices include, but are not limited to, devices equipped with… Alternatively, it may be a portable electronic device with another operating system. It should also be understood that in other embodiments of this application, the aforementioned electronic device may not be a portable device; for example, it may be a desktop computer, such as a PC, or a television set, etc.
[0087] For example, Figure 3 A schematic diagram of the structure of an electronic device 300 is given.
[0088] It should be understood that the illustrated electronic device 300 is merely an example, and the electronic device 300 may have more or fewer components than those shown in the figure, may combine two or more components, or may have different component configurations. The various components shown in the figure may be implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and / or application-specific integrated circuits.
[0089] like Figure 3As shown, the electronic device 300 may include a processor 310, an external memory interface 320, an internal memory 321, a universal serial bus (USB) interface 330, a charging management module 340, a power management module 341, a battery 342, an antenna 1, an antenna 2, a mobile communication module 350, a wireless communication module 360, an audio module 370, a speaker 370A, a receiver 370B, a microphone 370C, a headphone jack 370D, a sensor module 380, buttons 390, a motor 391, an indicator 392, a camera 393, a display screen 394, and a subscriber identification module (SIM) card interface 395, etc. The sensor module 380 may include a pressure sensor 380A, a gyroscope sensor 380B, a barometric pressure sensor 380C, a magnetic sensor 380D, an accelerometer sensor 380E, a distance sensor 380F, a proximity light sensor 380G, a fingerprint sensor 380H, a temperature sensor 380J, a touch sensor 380K, an ambient light sensor 380L, a bone conduction sensor 380M, etc.
[0090] The following is combined Figure 3 A detailed introduction to each component of electronic device 300 is provided.
[0091] Processor 310 may include one or more processing units, such as an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural network processing unit (NPU). Different processing units may be independent devices or integrated into one or more processors. The controller may serve as the central nervous system and command center of the electronic device 300. The controller can generate operation control signals based on instruction opcodes and timing signals to control instruction fetching and execution.
[0092] The processor 310 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 310 is a cache memory. This memory can store instructions or data that the processor 310 has just used or that are used repeatedly. If the processor 310 needs to use the instruction or data again, it can retrieve it directly from the memory, thereby avoiding repeated accesses, reducing the processor 310's waiting time, and thus improving system efficiency.
[0093] The processor 310 can run the information sharing methods provided in the embodiments of this application. For example, the embodiments of this application provide a Fast Collaborative Service, which can be a software module that runs on the processor 310. This software module can be understood as a computer program. For example, this software module can provide system-level capabilities. Taking the Android system as an example, from a business perspective, this software module can be placed in the system service (system_server) process, together with modules such as the activity manager service (AMS), package manager service (PMS), or window manager service in the system_server process to jointly build the platform's basic capabilities. Alternatively, from an implementation perspective, the Fast Collaborative Service can also be placed in other processes besides the system_server process. When the processor 310 integrates different devices, such as integrating a CPU and a GPU, the CPU and GPU can cooperate to execute the methods provided in the embodiments of this application. For example, in the methods provided in the embodiments of this application, some algorithms are executed by the CPU, and other algorithms are executed by the GPU to obtain faster processing efficiency.
[0094] In some embodiments, the processor 310 may include one or more interfaces. For example, the interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.
[0095] USB interface 330 is a USB standard compliant interface, specifically a Mini USB interface, Micro USB interface, USB Type-C interface, etc. USB interface 330 can be used to connect a charger to charge electronic device 300, and can also be used for data transfer between electronic device 300 and peripheral devices. Charging management module 340 receives charging input from the charger. Power management module 341 connects battery 342, charging management module 340, and processor 310. Power management module 341 receives input from battery 342 and / or charging management module 340, providing power to processor 310, internal memory 321, external memory, display screen 394, camera 393, and wireless communication module 360, etc.
[0096] The I2C interface is a bidirectional synchronous serial bus, including a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 310 may include multiple I2C buses. The processor 310 can couple to the touch sensor 380K, charger, flash, camera 393, etc., through different I2C bus interfaces. For example, the processor 310 can couple to the touch sensor 380K through the I2C interface, enabling the processor 310 and the touch sensor 380K to communicate through the I2C bus interface, thereby realizing the touch function of the electronic device 300.
[0097] The Mobile Industry Processor Interface (MIPI) can be used to connect the processor 310 to peripheral devices such as the display screen 394 and the camera 393. The MIPI interface includes a camera serial interface (CSI) and a display serial interface (DSI). In some embodiments, the processor 310 and the camera 393 communicate via the CSI interface to enable the electronic device 300 to perform its shooting function. The processor 310 and the display screen 394 communicate via the DSI interface to enable the electronic device 300 to perform its display function.
[0098] The GPIO interface can be configured via software. It can be configured as a control signal or a data signal. In some embodiments, the GPIO interface can be used to connect the processor 310 to a camera 393, a display screen 394, a wireless communication module 360, an audio module 370, a sensor module 380, etc. The GPIO interface can also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, etc.
[0099] The wireless communication function of electronic device 300 can be implemented through antenna 1, antenna 2, mobile communication module 350, wireless communication module 360, modem processor, and baseband processor. Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 300 can be used to cover one or more communication frequency bands. Different antennas can also be multiplexed to improve antenna utilization. For example, antenna 1 can be multiplexed as a diversity antenna for a wireless local area network. In some other embodiments, the antennas can be used in conjunction with tuning switches.
[0100] The mobile communication module 350 can provide solutions for wireless communication, including 2G / 3G / 4G / 5G, applied to the electronic device 300. The mobile communication module 350 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 350 can receive electromagnetic waves via antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to a modem processor for demodulation. The mobile communication module 350 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via antenna 1. In some embodiments, at least some functional modules of the mobile communication module 350 may be housed in the processor 310. In some embodiments, at least some functional modules of the mobile communication module 350 and at least some modules of the processor 310 may be housed in the same device.
[0101] The wireless communication module 360 can provide solutions for wireless communication applications on the electronic device 300, including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR) technologies. The wireless communication module 360 can be one or more devices integrating at least one communication processing module. The wireless communication module 360 receives electromagnetic waves via antenna 2, performs frequency modulation and filtering of the electromagnetic wave signal, and sends the processed signal to processor 310. The wireless communication module 360 can also receive signals to be transmitted from processor 310, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via antenna 2.
[0102] In some embodiments, antenna 1 of electronic device 300 is coupled to mobile communication module 350, and antenna 2 is coupled to wireless communication module 360, enabling electronic device 300 to communicate with networks and other devices via wireless communication technology. The wireless communication technology may include Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Time Division Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technologies, etc. The GNSS may include the Global Positioning System (GPS), the Global Navigation Satellite System (GLONASS), the BeiDou Navigation Satellite System (BDS), the Quasi-Zenith Satellite System (QZSS), and / or satellite-based augmentation systems (SBAS).
[0103] It is understood that the interface connection relationships between the modules illustrated in the embodiments of this application are merely illustrative and do not constitute a structural limitation on the electronic device 300. In other embodiments of this application, the electronic device 300 may also employ different interface connection methods or combinations of multiple interface connection methods as described in the above embodiments.
[0104] Electronic device 300 implements display functions through a GPU, a display screen 394, and an application processor. The GPU is a microprocessor for image processing, connecting the display screen 394 and the application processor. The GPU is used to perform mathematical and geometric calculations and for graphics rendering. Processor 310 may include one or more GPUs, which execute program instructions to generate or modify display information.
[0105] Display screen 394 is used to display images, videos, etc. Display screen 394 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a miniature LED, a microLED, a quantum dot light-emitting diode (QLED), etc.
[0106] Electronic device 300 can perform shooting functions, or in other words, image acquisition functions, through ISP, camera 393, video codec, GPU, display screen 394, and application processor.
[0107] The ISP (Image Signal Processor) is used to process data fed back from the camera 393. For example, when taking a picture, the shutter is opened, and light is transmitted through the lens to the camera's photosensitive element. The light signal is converted into an electrical signal, and the camera's photosensitive element transmits the electrical signal to the ISP for processing, transforming it into an image visible to the naked eye. The ISP can also perform algorithmic optimization of image noise, brightness, and skin tone. The ISP can also optimize parameters such as exposure and color temperature of the shooting scene. In some embodiments, the ISP can be set in the camera 393.
[0108] Camera 393 is used to capture still images or videos. An object is projected onto a photosensitive element by generating an optical image through the lens. The photosensitive element can be a charge-coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, which is then passed to an ISP for conversion into a digital image signal. The ISP outputs the digital image signal to a DSP for processing. The DSP converts the digital image signal into image signals in standard RGB, YUV, or other formats. In some embodiments, the electronic device 300 may include one or N cameras 393, where N is a positive integer greater than 1.
[0109] A digital signal processor (DSP) is used to process digital signals. Besides digital image signals, it can also process other digital signals. For example, when the electronic device 300 is selecting a frequency, the DSP is used to perform Fourier transforms on the frequency energy.
[0110] Video codecs are used to compress or decompress digital video. Electronic device 300 may support one or more video codecs. Thus, electronic device 300 can play or record video in various encoding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.
[0111] An NPU (Neural Processing Unit) is a computational processor for neural networks (NNs). By borrowing the structure of biological neural networks, such as the transmission patterns between neurons in the human brain, it can rapidly process input information and continuously learn on its own. NPUs can enable intelligent cognitive applications in electronic devices, such as image recognition, facial recognition, speech recognition, and text understanding.
[0112] Internal memory 321 can be used to store executable program code, including instructions. Internal memory 321 may include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function (such as sound playback, image playback, etc.). The data storage area may store data created during the use of electronic device 300 (such as audio data, phonebook, etc.). Furthermore, internal memory 321 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc. Processor 310 executes various functional applications and data processing of electronic device 300 by running instructions stored in internal memory 321 and / or instructions stored in memory located within the processor.
[0113] The external storage interface 320 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device. The external memory card communicates with the processor 310 through the external storage interface 320 to perform data storage functions. For example, images, videos, and other files can be saved on the external memory card.
[0114] Electronic device 300 can implement audio functions such as music playback and recording through audio module 370, speaker 370A, receiver 370B, microphone 370C, headphone jack 370D, and application processor.
[0115] Buttons 390 include a power button, volume buttons, etc. Buttons 390 can be mechanical buttons or touch buttons. Electronic device 300 can receive button inputs and generate key signal inputs related to user settings and function control. Motor 391 can generate vibration alerts. Motor 391 can be used for incoming call vibration alerts or for touch vibration feedback. For example, touch operations applied to different applications (such as taking photos, audio playback, etc.) can correspond to different vibration feedback effects. Touch vibration feedback effects can also be customized. Indicator 392 can be an indicator light, used to indicate charging status, battery level changes, or to indicate messages, missed calls, notifications, etc. SIM card interface 395 is used to connect a SIM card. The SIM card can be inserted into or removed from the SIM card interface 395 to achieve contact and separation with electronic device 300.
[0116] Understandable Figure 3 The components shown do not constitute a specific limitation on the electronic device 300. The mobile phone may also include more or fewer components than shown, or combine certain components, or separate certain components, or have different component arrangements. Furthermore, Figure 3 The combination / connection relationships between the components can also be adjusted and modified.
[0117] This application provides multiple devices, which can be the same device, such as electronic device 300; or, these multiple devices can be different devices, for example, some of these devices are electronic devices 300 and some are displays. This application does not limit the implementation of these multiple devices. For example, all of these devices can be electronic devices, or these multiple devices can be chips within electronic devices, or some of these devices are electronic devices and some are chips within electronic devices.
[0118] This application also provides a distributed system, which may include at least two of a plurality of devices, and may also include other devices. Any devices in the distributed system can perform multi-screen collaboration, information sharing, etc.
[0119] Please see Figure 4 This is a schematic diagram of a distributed system. Figure 4Taking a distributed system comprising five devices as an example, it should be understood that these five devices are within the same network. These five devices are device 401, device 402, device 403, device 404, and device 405. Devices 401, 402, 403, 404, and 405 can perform multi-screen collaboration or information sharing. For example, device 401 can perform multi-screen collaboration or information sharing with device 402 or device 403; device 402 can share information with device 404; and device 403 can share information with device 405. For ease of understanding, in the following description, we will use device 401 as a mobile phone, device 402 as a portable computer, device 403 as a tablet computer, device 404 as a personal computer, and device 405 as a smart speaker as examples. The structure of a mobile phone is as follows: Figure 3 The structures shown can include portable computers, tablets, personal computers, and smart speakers that may include... Figure 3 The structure shown has more or fewer components.
[0120] It should be understood that devices 401, 402, 403, 404, and 405 need to establish a connection before performing distributed services, such as multi-screen collaboration or information sharing. In other words, any device can connect to other possible devices before it needs to perform multi-screen collaboration or information sharing; that is, multiple devices can interconnect. In the following description, we will use... Figure 4 Multiple devices in the process discover each other via Bluetooth or WiFi and establish connections with the discovered devices; then, through the established communication channel, they negotiate the link information to establish WiFi direct communication between each other, and realize WiFi direct communication between devices based on the link information.
[0121] It should be understood that after multiple devices are networked, any device within the network can collaborate on distributed applications, which requires time synchronization between the devices in the distributed system. Therefore, after multiple devices establish WiFi Direct communication, time synchronization is necessary. Since the roles of each device in the distributed system established in this application embodiment are equal, before time synchronization, a device can be selected from the multiple devices in the distributed system as the master device. The time of the master device is used as the standard for synchronizing the time of the remaining devices. Relative to the master device, the remaining devices in the distributed system can be considered slave devices, and slave devices can synchronize according to the time of the master device.
[0122] In possible implementations, multiple devices in a distributed system can be prioritized, with the device having the highest priority becoming the master device. If the set of all devices in a distributed system is called a domain, then the device with the highest priority within that domain is the master device. This application does not limit the method of determining priority in its embodiments.
[0123] As an example, device priority can be determined based on one or more of the following: device type, device battery life, device hardware capabilities, the protocol version used by the device, the number of devices connected to the device, and the device's MAC address. Device type includes, for example, a monitor, PC, tablet, mobile phone, IoT device, smart speaker, or wearable device. Device battery life is categorized as remaining battery level, such as high, medium, low-medium, and low. It should be noted that this embodiment does not limit the number of remaining battery levels; each level can be predefined. For example, if the remaining battery is greater than or equal to 70% of the total battery capacity, the level is high; if the remaining battery is greater than or equal to 50% and less than 70%, the level is medium; if the remaining battery is greater than or equal to 30% and less than 50%, the level is low-medium; and if the remaining battery is less than 30%, the level is low. Device hardware capabilities include, for example, whether the device uses dual WiFi chips or a single WiFi chip. It should be noted that the types of devices, battery life, and hardware capabilities mentioned are merely illustrative examples, and the embodiments of this application do not limit the specific manifestations of the types of devices, battery life, and hardware capabilities.
[0124] Each device can report its own priority information, such as its own ranking priority (RP) value, which can be used to indicate the priority information of each device. If the devices discover each other via Bluetooth, the RP value can be carried in the first message. If the devices discover each other via WiFi, i.e., the first message is generated based on the WiFi protocol, the RP value can be carried in the synchronization beacon frames sent by each device. The RP value can occupy one field or multiple fields; this embodiment does not limit this. For example, the different contents indicated by the RP value can occupy different bits of the same field; or the different contents indicated by the RP value can occupy different fields.
[0125] For example, the RP value may include two parts: one part indicates the ranking level, and the other part indicates the device's media access control (MAC) address. The ranking level may include the device class, the device's protocol version number, and the number of devices connected to the device. The device class further includes the device type, the device's battery life, and the device's hardware capabilities.
[0126] For example, please see Figure 6This is a frame structure that carries the first part of the RP value. Specifically, the sorting level field includes three fields: a device level field, a protocol version number field, and a connection number field. It should be noted that the specific names of these three fields are not limited in this embodiment. The number of bits occupied by each field is not limited in this embodiment. For example, the definition of the device level field can be found in Table 1.
[0127] Table 1
[0128]
[0129]
[0130] In this embodiment, based on the RP values reported by each device, the priority of each device can be determined according to its priority information, such as device type, battery life, hardware capabilities, protocol version, number of connected devices, and MAC address priority. That is, device priority is first determined based on device type. If the priority of each device is consistent based on device type, the priority can be further determined based on battery life, and so on, until the priority of each device is determined. For example, the following steps can be performed sequentially: 1) Compare the types of each device, with the device of higher type being the master device. If all devices have the same type, proceed to step 2); 2) Compare the battery life of each device, with the device of higher battery life being the master device. If all devices have the same battery life, proceed to step 3); 3) Compare the hardware capabilities of each device, with the device of higher hardware capabilities being the master device. If all devices have the same hardware capabilities, proceed to step 4); 4) Compare the protocol versions of each device, with the device of higher version number being the master device. If all devices have the same version number, proceed to step 5); 5) Compare the number of devices connected to each device, with the device of higher number of connections being the master device. If all devices have the same number of connected devices, proceed to step 6); 6) Compare the MAC addresses of each device bit by bit, with the device of higher MAC address being the master device.
[0131] After a master device is selected in a distributed system, slave devices can synchronize based on the master device's time. For example, the master device can proactively inform each slave device of its time information. Each slave device then synchronizes its time based on the master device's time information. Alternatively, a slave device can proactively request time synchronization. Taking the slave device requesting time synchronization as the first slave device, it can proactively broadcast a time synchronization request message to request synchronization from devices within the same network that have already completed time synchronization. Upon receiving this time synchronization request message, the master device or other slave devices can send a response message to the first slave device. This response message can carry information for the slave device to synchronize its time. The slave device then synchronizes its time with the master device or other slave devices based on the information carried in the response message.
[0132] The technical solutions provided by the embodiments of this application are described below with reference to the accompanying drawings. Please refer to... Figure 5 This document illustrates the flow of a resource management method for a distributed system provided in an embodiment of this application. This method can be applied to a first type of distributed system, a second type of distributed system, or other possible distributed systems. In the following description, the method will be applied to... Figure 4 The network architecture shown is an example. It should be understood that this method involves multiple devices, such as... Figure 4 The various devices in the method. For ease of description, the following description uses an example involving a first device and multiple devices. The first device is the master device, and the multiple devices are slave devices.
[0133] S51. Each slave device initiates a full-channel scan according to the country code and receives a beacon frame from the master device. The beacon frame includes first radio resource management (RRM) information, which indicates the initial channel and initial bandwidth allocated to each slave device.
[0134] In this embodiment, the set of all devices in the near field that can discover each other is called a domain. All devices within a domain can form a distributed system. One device in the domain is the master device, and all other devices are called slave devices. Multiple devices within a domain can be arbitrarily interconnected; the set of interconnected devices is called a group or island (this article uses an island as an example). Typically, to reduce frequency hopping overhead, all devices within an island can operate on one channel or multiple channels. The master device in the domain allocates channels and bandwidth to each slave device and informs them. For example, the master device can broadcast a beacon frame on a common channel. This beacon frame includes a first RRM list, indicating the initial channel and initial bandwidth allocated to each slave device. The common channel can be a predefined channel; for example, the 5G common channel is channel Ch165 (20MHz bandwidth), and the 2.4G common channel is channel Ch13 (20MHz bandwidth). The common channel can also be a social channel; the following example uses a social channel. To avoid synchronization mechanism discrepancies, the master device can broadcast a beacon frame at 8ms on the common channel. After each device establishes a connection, a full-channel scan can be initiated based on the country code to determine which channels are available. Further, a link is established on its own channel and bandwidth according to the instructions of the first RRM information. It should be noted that the master device can also schedule spectrum resources with a minimum bandwidth of WiFi 6 OFDMA26 subcarriers (2.5MHz). It should also be noted that in this article, Ch refers to the channel.
[0135] For easier understanding, please refer to Figure 6 This illustrates one possible scenario for a distributed system. For example, Figure 6 Take an example involving eight devices. These eight devices are located within the same domain. Devices 1 and 2 are interconnected to form Island 1, devices 3, 4, and 5 are interconnected to form Island 2, and devices 6, 7, and 8 are interconnected to form Island 3. It should be noted that if devices within multiple islands need to interact for services, these islands will form a new island. For example, if device 1 in Island 1 and device 3 in Island 2 have services, then Island 1 and Island 2 will be merged into one island. The master device within the domain can allocate channels to each island. Assuming device 1 is the master device in the domain, the master device can allocate different channels to Island 1, Island 2, and Island 3. For example, the master device can schedule Island 1 to use channel 165 (Ch165) with a bandwidth of 20MHz, schedule Island 2 to use channel 48 (Ch48) with a bandwidth of 40MHz, and schedule Island 3 to use channel 157 (Ch157) with a bandwidth of 40MHz.
[0136] The master device can generate a first RRM list based on the channels and bandwidths allocated to each slave device. This first RRM list may include initial channel and initial bandwidth information allocated to each device within the domain, as well as device information within each island. For example, see Table 2, which illustrates one implementation of the first RRM information.
[0137] Table 2 First RRM Information
[0138]
[0139] It should be understood that in this paper, Ch represents the channel, and the country code is the specified available channel code, such as 44, 165, or 157 in Table 1. After multiple devices are interconnected to form a distributed system, the master device in the distributed system can generate RRM information as shown in Table 1 and broadcast a beacon frame carrying this first RRM information. The possible structures of the beacon frame will be described below and will not be discussed here.
[0140] S52. Each slave device establishes a link based on the channel and bandwidth indicated by the first RRM information.
[0141] Each slave device receives a beacon frame from the master device and can establish links with other devices based on the channel and bandwidth indicated by the first RRM information carried in the beacon frame, thereby enabling services to be performed on the established links. Using the example in Table 1, taking device 3 as an example, device 3 receives a beacon frame from device 1. From the beacon frame, it can be seen that device 3, along with devices 4 and 5, is located on island 2, and its allocated channel and bandwidth are Ch165 20M. Therefore, device 3 can establish a link with devices 4 and 5 on Ch165 20M.
[0142] It should be understood that after the initial link establishment and the master device allocates channels and bandwidth to each slave device, changes in interference conditions on the links of each slave device, as well as changes in the services carried on those links, may render the initially allocated channels unsuitable for the current service transmission. (Continue using...) Figure 6 For example, devices 3, 4 and 5 in island 2 all operate at Ch165 20M. Figure 6In the distributed system shown, as the three islands undergo changes in their respective services, and due to interference between islands, the initial allocation of Ch165 20M for island 2 may not be optimal. In this case, the master device can comprehensively consider the channel interference on each link of each device in the distributed system, as well as the capacity of each channel, to reschedule the channels allocated to each device. This ensures that multiple links operate on channels with less interference, avoiding mutual interference. This requires the master device to measure the channels, and each slave device to measure the channels, reporting the determined channel interference to the master device. In this embodiment, the channels to be measured for each island can be predefined, and each device within the island can cyclically measure the predefined channels. The island leader can broadcast to each device within the island which channels to be measured, providing greater flexibility.
[0143] Generally, the interference experienced by each channel varies randomly. Therefore, in this embodiment, an interference reporting timer can be set. Each slave device can start sending the channel interference information to the master device when the interference reporting timer expires. This allows the master device to obtain the interference information of each channel within the same time period, facilitating more accurate channel scheduling for each slave device. Furthermore, each device performs service transmission based on the initially established link and cyclically measures the predefined channels. For the master device, it needs to measure the channels used for service transmission, receive channel interference reports from each slave device, and reschedule the channels to allocate less interfered channels to each slave device. For the slave devices, it needs to measure the channels used for service transmission, report the measured channel interference to the master device, and receive scheduling from the master device.
[0144] For ease of management, embodiments of this application can define public information and service channels. The public channel is used for slave devices to report channel interference, and the master device receives channel interference information from the slave devices. Naturally, the master device sends RRM information to each slave device on the public channel. The service channel, relative to the public channel, can be used by each device for transmitting service data, measuring channel interference, etc. Of course, based on the master device's scheduling according to the RRM information, some slave devices may switch from one channel to another. Channel switching occurs on the service channel. In this way, the master device collects channel interference information from each slave device and sends its respective RRM information to each slave device without affecting the normal service operations of each device.
[0145] The master device can periodically collect channel interference information from each slave device, and the slave devices can also report their respective channel interference information to the master device within a preset time period. In this way, the channel interference information obtained by the master device from each slave device can characterize the interference situation of each channel within the same time period, facilitating the master device to more accurately schedule the channels allocated to each slave device. To this end, this embodiment of the application can set a channel switching timer. When the channel switching timer expires, the device switches to a common channel; otherwise, each device remains on a service channel.
[0146] S53. Determine whether to switch to the public channel.
[0147] If switching to a common channel, the master device executes S541a-S543a, and the slave device executes S541b-S544b; if not switching to a common channel, each device executes S551-S556.
[0148] It should be understood that on the common channel, the master and slave devices execute different procedures due to their different roles. For the master device, the main task is to collect channel interference information from each slave device and generate second RRM information based on this information to reschedule the channels, thereby allocating each slave device to a channel with less interference. For the slave devices, the main task is to report the channel interference information obtained from measuring the channel to the master device and to perform service transmission according to the master device's scheduling. However, on the service channel, the procedures remain the same regardless of the roles of the master and slave devices. The following sections detail the procedures for master and slave devices on the common channel, as well as the procedures for all devices on the service channel.
[0149] S541a The master device receives channel interference information from each slave device on a common channel.
[0150] Channel interference information can be used to indicate the degree of interference to a channel. For example, channel interference information can be a channel interference score. A higher interference score for a channel indicates less interference, higher throughput, and lower latency (this embodiment uses this as an example). Of course, in some embodiments, a lower interference score can also be defined as indicating less interference to the channel. For ease of description, this document uses a maximum interference score of 100 as an example. If a channel has an interference score of 100, then the channel is interference-free.
[0151] Each slave device can cyclically measure predefined channels or notify channels on the service channel to obtain one or more interference parameters for the measured channels, and determine the interference score for each channel based on the multiple interference parameters measured for each channel. Similarly, the master device also cyclically measures predefined channels on the service channel and determines the interference score for each channel based on the multiple interference parameters measured for each channel.
[0152] Interference parameters of a channel can be used to characterize the interference situation of the channel, such as received signal strength indicator (RSSI), signal-to-noise ratio (SNR), signal noise floor, or one or more other parameters that can characterize the channel interference situation. Each slave device can extract features from one or more interference parameters of the channel and determine the channel interference situation based on the extracted features. For example, a model of channel interference parameters and channel interference score can be established through a neural network, and the channel interference score can be determined based on the model. It should be noted that the specific method for establishing the model of channel interference parameters and channel interference score in this application embodiment is not limited. After each slave device extracts features from one or more interference parameters of the channel, it can input the extracted feature values into the model of channel interference parameters and channel interference score to determine the channel interference score.
[0153] For example, the channel interference scores determined by each slave device can be shown in Table 3. Table 3 uses 5 channels (Ch) and 2 bandwidths (BW) as an example.
[0154] Table 3
[0155]
[0156] It should be noted that "0" in Table 3 indicates that the channel and bandwidth were not measured and are not included in the calculation of channel interference score.
[0157] Considering that the values of channel interference parameters change randomly, the channel interference score calculated based on the current value of the channel interference parameters is instantaneous. Therefore, in some embodiments, the current instantaneous channel interference score and the previous channel interference score can be considered together to obtain a more reasonable channel interference score. For ease of description, the previous channel interference score can be referred to as the first channel interference score, the current instantaneous channel interference score as the second channel interference score, and the more reasonable channel interference score as the target channel interference score. For example, the target channel interference score = first weight × first channel interference score + second weight × second channel interference score. The embodiments of this application do not limit the specific values of the first weight and the second weight; for example, the first weight can be equal to 1 / 2, and the second weight can also be equal to 1 / 2.
[0158] After each slave device determines its channel interference score, it can generate channel interference information and send it to the master device. This allows the master device to obtain the interference situation for each channel within the system, thus prioritizing scheduling each slave device onto channels with less interference.
[0159] It should be understood that channel interference information is used to assist the master device in scheduling available channels for each slave device. This channel interference information may include a channel interference score, an interference duty cycle, or the current transmission rate of the channel. Alternatively, the channel interference information may include one or more of the channel interference score, interference duty cycle, and the current transmission rate of the channel; this embodiment of the application does not impose limitations on this. It should be noted that the current transmission rate of the channel can be a predefined rate. For example, the transmission rates of devices of different standards at different bandwidths can be measured in advance, and the transmission rates of devices of different standards at different bandwidths can be defined based on the measured transmission rates. In this case, the master device can know the current transmission rate of each channel according to the predefined rate, without requiring each slave device to report its own current channel transmission rate to the master device. Of course, each slave device can also calculate the current transmission rate of the channel based on the RSSI corresponding to the channel and report it to the master device.
[0160] The interference duty cycle is calculated as: (Total measurement channel time - Transmit time - Receive time - Channel idle time) / Total measurement channel time. For example, see Table 4, which illustrates one possible scenario for the channel's interference duty cycle.
[0161] Table 4
[0162]
[0163] To enable the master device to collect channel interference information from each slave device within the same time period, and to more accurately schedule the channels allocated to each slave device while minimizing interference between devices, this application embodiment can set an interference reporting timer. When the interference reporting timer expires, each slave device on a common channel sends channel interference information to the master device.
[0164] For example, each slave device competes to send its own channel interference information to the master device on a common channel. However, the duration of the common channel is limited. If there are many slave devices, it cannot be guaranteed that all slave devices can complete the reporting of channel interference information within the limited duration of the common channel. Therefore, in some embodiments, the timing of the interference reporting timer can be divided into multiple durations, each duration used for a portion of the slave devices to report their respective channel interference information. For example, with 20 slave devices, the timing of the interference reporting timer can be divided into a first duration and a second duration. The first duration is used for 10 slave devices to report their respective channel interference information, and the second duration is used for the remaining 10 slave devices to report their respective channel interference information. That is, when the first duration of the interference reporting timer expires, 10 slave devices report their respective channel interference information; when the second duration of the interference reporting timer expires, the remaining 10 slave devices report their respective channel interference information. This ensures that the interference information reported by each slave device is staggered as much as possible, guaranteeing transmission quality.
[0165] It should be noted that the embodiments of this application do not limit the specific implementation of the interference information reported by the slave devices. For example, in some embodiments, an island master can be selected for each island, and the other slave devices in the island can send their respective channel interference information to the island master on the service channel, and then the island master sends it to the master device on the common channel.
[0166] S542a: The master device generates second RRM information based on the channel interference information of the master device and the channel interference information of each slave device.
[0167] After receiving channel interference information from each slave device, the master device can generate second RRM information based on the channel interference information from both the master device and the slave devices. The second RRM information can be used to indicate the channels and bandwidth to be reallocated between the master device and each slave device.
[0168] Since each slave device competes to send its own channel interference information to the master device on the common channel, the master device can process the channel interference information received first in order to minimize latency. For possible implementations, please refer to [link to relevant documentation]. Figure 7 The detailed process steps of S542a are shown.
[0169] S701, The master device merges channel interference information from multiple slave devices.
[0170] As an example, the master device can prioritize merging the first two received channel interference messages to obtain merged channel interference information. Then, it will merge newly received channel interference messages with this merged information, continuing this process until all received channel interference messages have been merged. For instance, the master device might first receive first channel interference information from a first slave device and second channel interference information from a second slave device. The master device can merge the first and second channel interference messages to obtain first merged channel interference information. Next, the master device receives third channel interference information from a third slave device, and merges the first merged channel interference information with the third channel interference information to obtain second merged channel interference information. This process continues until the master device has merged all channel interference messages, obtaining the final channel interference information.
[0171] Merging channel interference information involves combining identical factors from different channel interference information sets. Taking channel interference information including channel interference scores as an example, merging different channel interference information sets means merging the channel interference scores for the same channel within those different sets of information. For example, the channel interference scores for the same channel in the first channel interference information set and the second channel interference information set can be merged, which means averaging the channel interference scores. It should be noted that if the channel interference score for a certain channel is 0, it means that the channel was not measured, so when the channel interference score is 0, it is directly merged without averaging. If the channel interference information includes interference duty cycle, then merging the interference duty cycle is the same as merging the channel interference score, which will not be elaborated here.
[0172] For easier understanding, please refer to Figure 8 This is a schematic diagram of the master device merging channel interference information from various slave devices. Figure 8 Take the channel interference score in the merged channel interference information as an example. Figure 8 Taking the example where the master device receives channel interference information from the first and second slave devices first, and then receives channel interference information from the third slave device.
[0173] As another example, the master device can merge the channel interference information received from each slave device at once. For instance, consider merging the channel interference scores of all channels included on all slave devices. For any channel, the master device can average the channel interference scores of each slave device for that channel. Of course, in some embodiments, considering the differences between channels, the weights of each channel can be combined when merging the channel interference information. This application does not limit the specific implementation method of merging channel interference information.
[0174] S702. The master device prioritizes each channel based on the channel interference information obtained after merging.
[0175] The master device can comprehensively consider the channel interference measured by each slave device to schedule appropriate channels for each slave device. In one possible implementation, the master device can prioritize the channels to be scheduled based on the merged channel interference information. For example, the master device can sort the channels from highest to lowest interference score to prioritize them. A higher interference score indicates less interference, and the channel has a higher scheduling priority. It should be understood that scheduling priority refers to being scheduled first. The master device can reschedule the channels according to the sorted channels. For example, the master device can generate new RRM information based on the final channel interference information. This new RRM information includes the island number of each slave device and the channel and bandwidth allocated to each island.
[0176] For example, please see Figure 9 , Figure 9 This is a schematic diagram of a network architecture for a distributed system. Figure 9 Taking a system comprising 11 devices, with device 5 being the main device, as an example, Figure 9 A solid line indicates that two devices are actually connected (communicating), while a dashed line indicates that two devices are not actually connected, but can receive beacon frames sent by the master device. Figure 9 The 11 devices can be divided into 4 islands. For ease of understanding, let's... Figure 9 The four islands are referred to as Island 1, Island 2, Island 3, and Island 4. Island 1 includes Equipment 1, Equipment 2, Equipment 3, and Equipment 5; Island 2 includes Equipment 6 and Equipment 7; Island 3 includes Equipment 8 and Equipment 9; and Island 4 includes Equipment 10, Equipment 11, and Equipment 12.
[0177] Device 5 prioritizes each channel (e.g., Ch36 20M, Ch36 40M, Ch44 40M, Ch48 80M, Ch149 40M, Ch157 40M, and Ch165 20M) based on channel interference information reported by Device 5 and other devices. Assuming the channels are sorted according to their channel interference scores, the resulting order is shown in Table 5.
[0178] Table 5
[0179]
[0180] In Table 5, the channels are sorted by priority, with higher-priority channels scheduled first. It should be noted that Table 5 also shows the alternative channels for each island. Channels not assigned after priority sorting are considered alternative channels. When any island experiences service disruptions or severe interference, that island can be switched to an alternative channel. Of course, switching alternative channels between different islands can also be based on priority. For example, Ch149 40M can be considered an alternative channel for island 1; Ch36 40M can be considered an alternative channel for island 2; and Ch48 80M can be considered a common alternative channel. It should be understood that the common alternative channel is different from the aforementioned common channel. The priority of the common alternative channel is lower than the priority of any island's alternative channel. For example, device 5 can notify all devices on the common channel that when devices 1, 2, 3, and 5 are on island 1 and service is congested, island 1 will be switched to its alternative channel, Ch149 40M, firstly. If service congestion persists after switching to the alternative channel, the common alternative channel can be used. Similarly, when devices 6 and 7 are on island 2 and service congestion occurs, island 2 will be switched to its alternative channel, Ch36 40M, firstly. If service congestion persists after switching to the alternative channel, the common alternative channel can be used. For islands 3 and 4, when congestion occurs, since there is no corresponding alternative channel, the device can switch to the common alternative channel, Ch48 80M. It should be noted that Table 5 uses the example of no alternative channels for islands 3 and 4. In some embodiments, alternative channels for islands 3 and 4 may exist, for example, if there are multiple channels.
[0181] It should be understood that the actual service requirements of devices on each island differ, which will affect channel scheduling; the number of devices on each island will also affect channel scheduling; and the difference in the remaining rate capacity of channels on each island will also affect channel scheduling. For example, a higher service priority is considered to be a larger data transmission volume, and the corresponding channel rate capacity is also larger. Therefore, channels with less interference will be allocated to high-priority islands first. Of course, if the remaining capacity of a certain channel is insufficient to meet the service transmission needs of a certain island, then even if the channel is ranked high (that is, even if the channel has less interference), the channel will not be allocated to that island to reduce the impact of the channel on the services of each island and ensure the normal operation of services on each island. To this end, in addition to prioritizing each channel according to the channel interference score, the embodiments of this application can also prioritize each channel by combining the service priority of each island and / or the remaining rate capacity of the channel. Alternatively, the total rate capacity of each channel can also be used to prioritize each channel.
[0182] This application embodiment allows for predefined priorities for various services. As an example, please refer to Table 6, which illustrates service priorities. It should be noted that Table 6 is merely an example. If a device has multiple services simultaneously, the priority of these services is the highest priority among the individual priorities of each service.
[0183] Table 6
[0184]
[0185] The total rate capacity of the channel can be calculated based on the physical layer rate and interference. For example, the total rate capacity of the channel can be obtained by multiplying the rate estimated by RSSI by (1 - interference duty cycle). The remaining rate capacity of the channel can be estimated based on the service type or provided by the application layer. For example, for a 1-to-1 1080P 60fps screen mirroring service, the application layer can inform the physical layer that the rate capacity overhead of this service requires, for example, 84Mbps. It should be noted that there is a possible scenario where there is a connection between devices, but no service link, also known as a keep-alive scenario. In this application embodiment, the rate capacity overhead of the keep-alive scenario can be predefined as 2Mbps (used as an example in this document), or other possible values.
[0186] S703, the master device determines whether the priority of the services on the first island and the remaining rate capacity of the first channel to be allocated to the first island meet the preset conditions, wherein the first channel is the channel to be allocated to the first island.
[0187] The master device can prioritize channels according to their priority, allocating high-priority channels to each island in descending order of service priority. However, the remaining rate capacity of the channels allocated to a particular island (e.g., the first island) may be insufficient to support the services on the first island. To ensure that the channels allocated to each island can support the services on each island, after allocating channels to each island, the master device can determine whether the service priority of each island and the remaining rate capacity of the channels allocated to each island meet preset conditions. For ease of description, only the first island is used as an example here. It should be understood that for any island other than the first island, such as the second island, the master device can determine whether the service priority of the second island and the remaining rate capacity of the second channel meet preset conditions. Here, the second channel is the channel to be allocated to the second island.
[0188] S704. If the preset conditions are not met, the priority of the first channel will be reduced by one level, and the master device will re-sort the priorities of each channel.
[0189] The pre-set conditions could be that the service priority on the first island is high, and the remaining capacity of the first channel is sufficient to meet the service demand of the current island. To minimize interference, if the service priority on the first island is high and the remaining capacity of the first channel is sufficient to meet the service demand of the first island, then a channel to be scheduled can be allocated to the first island. If the service priority on the first island is not high, or the remaining capacity of the first channel is insufficient to meet the current service demand, then a channel with higher interference can be allocated to minimize the impact on the service of the first island. For example, a channel with the next lower priority can be allocated first.
[0190] This application embodiment updates Table 4 based on the service priority of each island and the number of devices within each island. This prioritizes allocating less-interference channels for services with high throughput and low latency requirements, allocates more-interference channels for services with low throughput and low latency requirements, and so on, allocating even more-interference channels for services with low throughput and high latency. This application embodiment can also update Table 4 based on the rate capacity overhead required by the services within each island. When the rate capacity is sufficient, nodes on the same island are allocated the same frequency and channel to save frequency domain resource overhead. It should be understood that after allocating a channel to an island, the remaining rate capacity of that channel should be reduced by the rate capacity overhead required by the services on that island.
[0191] For easier understanding, please refer to Figure 10 , Figure 10 It shows Figure 9 The types of services on each island and the speed requirements of services on each island. For example... Figure 10As shown, the service between device 1 and device 2 in island 1 is a 4K 60fps screen mirroring service, requiring a channel support rate greater than or equal to, for example, 251Mbps; the service between device 5 and device 1 in island 1 is not a service but a keep-alive scenario, requiring a channel support rate greater than or equal to, for example, 2Mbps; the service between device 5 and device 3 in island 1 is a 1K 60fps screen mirroring service, requiring a channel support rate greater than or equal to, for example, 2Mbps; the service between device 5 and device 3 in island 1 is a 1K 60fps screen mirroring service, requiring a channel support rate greater than or equal to, for example, 84Mbps. Therefore, the required channel support rate for all devices in island 1 is greater than or equal to 251Mbps + 2Mbps + 84Mbps, which is 337Mbps. Similarly, the service between device 6 and device 7 in island 2 is a 4K 30fps screen mirroring service, requiring a channel support rate greater than or equal to, for example, 107Mbps. Therefore, the required channel support rate for all devices in island 2 is greater than or equal to 107Mbps. The service between devices 8 and 9 in Island 3 is a 4K 60fps screen mirroring service, requiring a channel support rate greater than or equal to, for example, 251Mbps. Therefore, the service requirements for all devices in Island 3 require a channel support rate greater than or equal to 251Mbps. The service between devices 10 and 11 in Island 4 is not a service but is for keep-alive scenarios, requiring a channel support rate greater than or equal to, for example, 2Mbps. The service between devices 11 and 12 in Island 4 is a 4K 30fps screen mirroring service, requiring a channel support rate greater than or equal to 95Mbps. Therefore, the service requirements for all devices in Island 4 require a channel support rate greater than or equal to 2Mbps + 95Mbps, which is 97Mbps. Figure 10 The priorities of each island in the middle, from high to low, are: island 1, island 3, island 2, and island 4. Among them, island 1 and island 3 have the same service priority, and island 2 and island 4 have the same service priority. The service requirements of each island and the channel support rate, from high to low, are: island 1, island 3, island 2, and island 4.
[0192] Assuming the priority order of each channel is as shown in Table 6, the master device can allocate Ch44 40M to island 1, Ch165 40M to island 2, Ch157 40M to island 3, and Ch36 20M to island 4 in sequence according to Table 6.
[0193] In some embodiments, the master device can allocate channels to each island by combining the channel priority order and the service priority of each island. Since the service priority of island 3 is the same as that of island 1, and both are higher than the service priorities of island 2 and island 4, and the service priorities of island 2 and island 4 are the same, the priority order of each channel can be adjusted. For example, the adjusted channel priority order is Ch44 40M, Ch157 40M, Ch165 20M, Ch36 20M, Ch149 40M, Ch36 40M, and Ch48 80M. That is, Ch44 40M can be preferentially allocated to island 1, Ch165 20M to island 3, Ch157 40M to island 2, Ch36 20M to island 4, Ch149 40M as a backup channel for island 1, Ch36 40M as a backup channel for island 2, and Ch48 80M as a common backup channel. According to service priority, the channel priority order is Ch44 40M, Ch157 40M, Ch165 20M, Ch36 20M, Ch149 40M, Ch36 40M, and Ch48 80M.
[0194] Alternatively, the master device can also allocate channels to each island by combining the channel priority order, the service priority of each island, the total rate capacity of the channel, and the remaining rate capacity of the channel.
[0195] For example, please refer to Table 7, which is a schematic table showing the total rate capacity and remaining rate capacity of each channel in the system.
[0196] Table 7
[0197] Island Channel and bandwidth Total capacity / Mbps Remaining capacity / Mbps 1 Ch44 40M 350 13 2 Ch165 20M 150 43 3 Ch157 40M 270 19 4 Ch36 20M 110 13 5 Ch149 40M 200 200 6 Ch36 40M 180 180 7 Ch48 80M 300 300
[0198] As shown in Table 7, the total rate capacity of available channels, sorted from largest to smallest, is Ch44 40M, Ch157 40M, Ch165 20M, and Ch36 20M. The total rate capacity of alternative channels, sorted from largest to smallest, is Ch48 40M, Ch149 40M, and Ch36 40M. The remaining rate capacity of available channels, sorted from largest to smallest, is Ch165 20M, Ch157 40M, Ch36 20M, and Ch44 40M. Figure 10In the above, the service requirements of each device in Island 1 require a channel support rate greater than or equal to 337 Mbps. The service requirements of each device in Island 2 require a channel support rate greater than or equal to 107 Mbps. The service requirements of each device in Island 3 require a channel support rate greater than or equal to 251 Mbps. The service requirements of each device in Island 4 require a channel support rate greater than or equal to 97 Mbps. Since the service requirements of each device in Island 3 are greater than those of each device in Island 2, the channel priority is adjusted according to the total channel rate capacity and the remaining channel rate capacity. Specifically, "Ch44 40M, Ch157 40M, Ch165 20M, Ch36 20M, Ch149 40M, Ch36 40M, Ch48 80M" is adjusted to Ch44 40M, Ch165 20M, Ch157 40M, Ch36 20M, Ch149 40M, Ch36 40M, Ch48 80M. Therefore, Ch44 40M can be allocated to Island 1, Ch165 20M to Island 2, Ch157 40M to Island 3, and Ch36 20M to Island 4 in that order. Since the total rate capacity of Ch149 40M is greater than that of Ch36 40M, Ch149 40M can be used as a backup channel for Island 1, and Ch36 40M as a backup channel for Island 2. Ch48 80M is used as a common backup channel.
[0199] S705. If the preset conditions are met, then determine whether the first island is allocated the first channel for the first time.
[0200] S706. If the first island is allocated the first channel for the first time, then the first channel is allocated to the first island according to the priority of each channel, and the rate capacity overhead of the first island's services is deducted from the remaining rate capacity of the first channel.
[0201] It should be understood that if the first island is allocated a channel for the first time, the master device can allocate the first channel to the first island. Considering that the first channel may be allocated to other islands later, or that the first channel may be released after the services on the first island are completed, it can be reassigned to other islands. However, before the first channel is allocated to another island, it is necessary to determine whether the remaining rate capacity of the first channel meets the rate capacity requirements of the other islands. Therefore, the master device needs to maintain the remaining rate capacity of the first channel. That is, when the first channel is allocated to the first island, the master device can update the remaining rate capacity of the first channel, which means deducting the rate capacity overhead of the services on the first island from the remaining rate capacity of the first island. It should be noted that allocating the first channel to the first island can also be understood as updating the priority of the first channel for the master device, that is, adjusting the priority of the first channel upwards, for example, by raising the priority of the first channel by one level.
[0202] S707. If the first island is not assigned the first channel for the first time, then determine whether the interference difference between the first channel and the current channel of the first island is greater than or equal to a preset threshold.
[0203] S708. If the interference difference between the first channel and the current channel of the first island is greater than or equal to a preset threshold, the first channel is allocated to the first island, and the rate capacity overhead of the first island's services is deducted from the remaining rate capacity of the first channel.
[0204] S709. If the interference difference between the first channel and the current channel of the first island is less than a preset threshold, then the current channel of the first island is not changed.
[0205] If the first island is not being assigned a channel for the first time, meaning it is currently assigned a channel, then even if the master device discovers a channel with less interference than the first island's current channel (e.g., channel 1), considering the small interference difference between channel 1 and the first island's current channel, changing the first island's channel from its current channel to channel 1 will have little impact on the first island's services. To prevent unnecessary channel changes, if the interference difference between channel 1 and the first island's current channel is less than a preset threshold, the first island's current channel can remain unchanged. If the interference difference between channel 1 and the first island's current channel is greater than or equal to the preset threshold, then channel 1 can be assigned to the first island, and the rate capacity overhead of the first island's services will be deducted from the remaining rate capacity of channel 1. In other words, the first island is placed on a channel with less interference to minimize interference between devices or services. In a possible implementation, the interference difference between two channels can be the channel interference score difference between the two channels. It should be noted that assigning channel 1 to the first island can also be understood as updating the priority of channel 1 for the master device, that is, adjusting the priority of channel 1 upwards, for example, by raising the priority of channel 1 by one level. Not changing the channel of the first island can also be understood as keeping the priority of the first channel unchanged.
[0206] The master device can generate second RRM information based on Table 6 to schedule appropriate channels for each slave device, minimizing interference between islands and between services within an island. As an example, please refer to Table 8, which illustrates the second RRM information. Table 8 is for illustrative purposes only. It should be noted that the master device does not need to inform each slave device of the total and remaining rate capacity of each channel. That is, the second RRM information may not include the total and remaining rate capacity of each channel.
[0207] Table 8
[0208]
[0209] S543a: The master device broadcasts the second RRM information on the common channel, and correspondingly, each slave device receives the second RRM information on the common channel.
[0210] The second RRM information can be carried in the beacon frame, which the master device broadcasts on the common channel. Each slave device receiving the beacon frame from the master device can then determine the channel switching order. Possible beacon frame structures will be described below and will not be discussed here. It should be understood that the following usage will be retained. Figure 10 For example, the channel switching sequence of each device is as follows: Figure 11 As shown.
[0211] S541a-S543a mainly introduces the process of the master device on the common channel. The process of the slave device on the common channel is described below.
[0212] S541b: Each slave device receives and saves the second RRM information from the master device.
[0213] S542b: Each slave device determines whether channel measurement has been completed and whether the interference reporting timer has expired.
[0214] S543b: Each slave device confirms that it has completed channel measurement and sends channel interference information to the master device when the interference reporting timer expires. If a slave device has not completed channel measurement, or the interference reporting timer has not expired, then the slave device continues to determine whether the channel measurement has been completed and whether the interference reporting timer has expired.
[0215] Since the processes of each slave device are the same, for ease of description, the following description uses the first slave device as an example to describe the processes of each slave device on the common channel. It should be understood that the first slave device can determine whether channel measurement has been completed on the common channel. If channel measurement is completed, it can send the measurement results, i.e., channel interference information, to the master device. To enable the master device to determine the interference situation of each slave device on each channel within the same time period, this embodiment can uniformly set an interference reporting timer. Each slave device can report the generated channel interference information for each channel to the master device when the interference reporting timer expires. The generation of channel interference information can be referred to the relevant content of S541a above, and will not be repeated here. The channel interference information can be carried in an action frame. The first slave device sends this action frame to the master device, thereby informing the master device of the channel interference information. The structure of the action frame will be described below, and will not be described here.
[0216] S544b: Each slave device determines whether it needs to change the current channel based on the second RRM information.
[0217] Taking the first slave device as an example, before the interference reporting timer expires, the first slave device can receive and save the second RRM information from the master device. This allows the first slave device to switch channels based on the second RRM information, minimizing interference between the first slave device and other devices. If the first slave device needs to switch channels, it switches to the new service channel and continues service transmission on the new channel. If it does not need to switch channels, it continues service transmission on the current service channel.
[0218] The foregoing embodiments mainly introduced the process of master and slave devices on a common channel. The following describes the process of master and slave devices on a service channel. It should be understood that there is no distinction between master and slave devices on the service channel, that is, the perspectives of each device in S551-S557 are equal.
[0219] S551. Each device continues service transmission on the current channel.
[0220] If each slave device determines that it does not need to change the channel based on the second RRM information, then each slave device switches to the current channel during the channel switching time slot to continue service transmission.
[0221] S552, each device determines whether the service is idle or the scanning cycle has expired.
[0222] S553 When the service is idle or the scanning period expires, each device switches to the next channel and measures the next channel to generate channel interference information for that channel.
[0223] The scanning cycle refers to the channel measurement cycle. If each device determines that the service is idle, it can switch to the next channel to measure it and generate channel interference information based on the measurement results. Alternatively, if each device determines that the scanning cycle has expired, meaning the current channel measurement is complete, it can also switch to the next channel to measure it and generate channel interference information based on the measurement results. For example, each device can cyclically measure predefined channels; or, the master device can notify each slave device which channels to measure, providing greater flexibility; or, the island master within each island can separately notify other devices within the island which channels to measure, to avoid slave devices missing measured channels due to not receiving notifications from the master device. Each device can then send the channel interference information to the master device via a common channel. Of course, if each device determines that the service is not idle, it means the device is currently performing service transmission. In this case, to minimize service latency, each device can continue service transmission. Conversely, if the scanning cycle has not expired but the current channel measurement is complete, the device can switch to the next channel for measurement. In other words, one scanning cycle can measure one channel or multiple channels.
[0224] In this embodiment, each device performs channel measurements on the currently used channels or other alternative channels within the service channel, and informs the master device of the obtained channel interference information. The master device can prioritize the information based on the channel interference reported by each channel, with channels experiencing less interference having higher priority. Based on the priority of each channel, the master device can allocate channels with less interference to each device first. Compared to the first type of distributed system, where each link follows the GO channel or randomly selects a channel, this embodiment ensures that each device's communication operates on channels with less interference, minimizing interference between devices and services. Compared to the second type of distributed system, where the channel and time slot allocation for each link is negotiated by the devices at both ends of the link, this embodiment enables network-wide coordinated scheduling to combat interference, thereby improving the overall network throughput.
[0225] For example, in an office setting, multiple devices in the near field coordinate a 2K 60fps screen projection service. If the first type of distributed system is used, where devices follow the GO channel, the interference duty cycle between channels is greater than or equal to 50%. However, the solution of this application embodiment centrally manages the channels of each device to ensure that each device switches to a channel with less interference in real time. This can ensure that the interference duty cycle between channels is less than or equal to 10%, avoiding stuttering in the 2K 60fps screen projection service. Or, compared to the second type of distributed system, where the channel and time slot allocation for each link is negotiated by the devices at both ends of the link, the solution of this application embodiment can still reduce the interference duty cycle between channels, avoid service stuttering, and increase the number of service links, thus improving the overall network throughput, as shown in Table 9. Table 9 shows the experimental comparison results of the number of links between the solution provided by this application embodiment and the solution provided by the prior art.
[0226] Table 9
[0227] 5G 20M 5G 40M 5G 80M The solution provided in the embodiments of this application 1-way screen mirroring 3-way screen mirroring 6-way screen mirroring Solutions provided by existing technologies Unable to cast screen 1-way screen mirroring 3-way screen mirroring
[0228] In one possible scenario, various devices may experience service interruptions, significant latency, or channel congestion due to interference during operation. In such cases, to ensure normal service operation, the system can switch to an alternative channel or another channel with less interference.
[0229] In some embodiments, if any device determines that the channel switching conditions are met, such as service interruption, service delay, or channel congestion due to interference, the device may notify other devices on the island where it is located to switch to the alternative channel together.
[0230] S554. Each device determines whether the channel switching conditions are met.
[0231] S555. If the first slave device determines that the channel switching conditions are met, the first slave device sends a notification frame to other devices in the island where it is located. The notification frame is used to notify the other devices to switch to the alternative channel.
[0232] Each device can send notification frames to other devices within the island, or it can broadcast notification frames within the island; this embodiment of the application does not impose any limitations. The possible structures and implementations of the notification frames will be described below and will not be discussed here.
[0233] S556. The other devices switch channels and continue service transmission on the switched channels.
[0234] Since the master device broadcasts the second RRM information indicating the alternative channels and their priorities, other devices that receive the notification frame can switch to the higher-priority channel based on the alternative channels indicated in the second RRM information and their priorities.
[0235] In this embodiment of the application, when any device determines that the channel switching conditions are met, it notifies other devices on the island to switch to a channel with less interference in order to ensure the normal operation of services as much as possible.
[0236] Sections S554-S556 describe the process of any device actively notifying other devices within an island to perform a channel switch. As an alternative, the master device forces each slave device to switch its current channel. This avoids some slave devices potentially switching to a channel on another island due to not receiving the second RRM information. For example, consider a first island and a second island. The first slave device on the first island does not receive a beacon frame carrying the second RRM information from the master device. The second slave device on the first island determines that the channel switch condition is met and sends a notification frame to each slave device on the first island. Because the first slave device on the first island cannot obtain the second RRM information, it may use the already stored RRM information, potentially causing the first and second islands to switch to the same channel, resulting in mutual interference. The master device, however, can maintain the second RRM information, so forcing each slave device to switch its current channel avoids abnormal switching between different islands to the same channel, reducing inter-link interference. Furthermore, it also prevents a device from being unable to switch to the same channel as other devices on the island due to not receiving notification frames from other devices. The master device can force this device to switch to the same channel as other devices on the island.
[0237] It should be understood that the master device forces each slave device to switch its current channel only after determining that the channel switching conditions are met. For example, in one possible scenario, the master device discovers, through the connection information of each device in the system, that two islands have switched to the same channel, or that there is a channel with less interference. The master device can then send a notification frame for channel switching to each device in one of the two islands. This notification frame can carry information about the channel that each device in that island is to switch to.
[0238] In another possible scenario, the master device discovers, through the connection information of various devices within the system, that different devices on the same island are not on the same channel. For example, the channel of the first island is the first channel, and the master device discovers that the first slave device on the first island is on the first channel, while the second slave device on the first island is not on the first channel. In this case, the master device can send a notification frame for channel switching to the second slave device. This notification frame can carry relevant information about the first channel.
[0239] The following describes the possible structures and specific implementations of various frames involved in the embodiments of this application, such as a beacon frame used by the master device to broadcast RRM information; another example is a dynamic frame used by the slave device to report channel interference information, i.e., an action frame; yet another example is a notification frame used for channel switching, which can also be called a channel switching frame, and this channel switching frame can also be an action frame.
[0240] Action frames used to report channel interference information from the device, and action frames used for channel switching, can be custom frames. To reuse action frames, the action frame may include a field to carry an identifier of the action frame type, distinguishing the purpose of the action frame.
[0241] As an example, please see Figure 12 This is a schematic diagram of an action frame used by a device to report channel interference information. The format of this action frame can be referenced from the Vendor Specific IE, carrying RRM information and the proprietary IE within the action frame. For example, this action frame may include multiple fields, such as a Frame Control field, a Duration field, and fields for carrying island and individual device information within the island, such as a master device address field (address1 field), a slave device address field (address2 field), an island identifier field (BSSID field), a sequence control field, a frame body field, and a frame check sequence (FCS), etc. It should be noted that... Figure 12This is merely an example; the PNF may include more or fewer fields, each occupying one or more bits, and this application embodiment does not impose any limitations on this. Specifically, the Frame Control field may occupy multiple bits and is used to carry information such as the protocol version and frame subtype. The Duration field may occupy multiple bits and is used to carry the channel occupancy time. The BSSID field may occupy multiple bits and is used to carry information about the island where the slave device is located. The sequence control field may occupy multiple bits and is used to carry the sequence number of the transmitted packet. The frame body field may occupy multiple bits and is used to carry channel interference information of the slave device.
[0242] The frame body field may include multiple fields, such as a code field, an organizationally unique identifier (OUI) field, an OUI subtype field, an action type field, a length type value (TLV) type field, a channel country code field, and a channel interference information field. The code field can be filled in according to the category code of the action frame; for example, it can be determined as 127 according to the 802.11 protocol, indicating a vendor-specific action. The OUI field can be predefined; for example, the OUI field can be used to carry "0x00-E0-FC" to indicate that the action is a private frame. The OUI type field is used to identify the type of OUI, such as a private frame related to the action frame provided in this application embodiment. The OUI subtype field is used to identify the action frame type; for example, the action frame type can be "0x88". The TLV type field can be "4". The channel country code field is used to identify the country code of each channel. The channel interference information field is used to carry channel interference information for each channel, such as channel interference score and interference duty cycle. Figure 12 As shown, the interference information field can be used to carry channel interference scores and interference duty cycles for Ch36 20M, Ch36 40M, Ch36 80M, and Ch165 20M. It should be noted that the definitions of fields other than the channel interference information field that the action frame may include can be found in the 802.11 standard, and will not be repeated here.
[0243] Please see Figure 13 This is a schematic diagram of the structure of an action frame used for channel switching. The format of this action frame is similar to... Figure 12 For reference Figure 12 Related content. Figure 12The difference lies in the fact that, compared to action frames used to report channel interference information from the device, action frames used for channel switching can include fewer fields in their frame body fields, such as code, OUI, OUI Type (e.g., carrying a Feature ID), TLV type, TLVlength, information fields for carrying the channel to be switched to, such as Chnumber for carrying the channel number, BW for carrying the channel bandwidth, and Change CHTime for carrying the channel switching time.
[0244] Please see Figure 14 This is a schematic diagram of a beacon frame structure. A beacon frame can carry RRM information to be sent by the master device, such as the score of each channel, the bandwidth of each channel, the number of devices in each island, the number of islands allocated to each channel, and the MAC addresses of the devices included in each island. Figure 14 As shown, CH1 Number represents the channel number with the highest score; BW occupies 2 bits, representing the bandwidth corresponding to the score; Team Number occupies 6 bits, representing the number of teams allocated to this island's channels and bandwidth; Score represents the score of this channel; Rate Capacity represents the remaining rate capacity; Team1STA Number represents the number of nodes in the first allocated team; MAC xx represents the MAC address of the node in Team1, with xx being the sequence number of the node in the team; CH2 Number represents the channel number with the second highest score; BW represents the bandwidth corresponding to the score, and so on. If the device has not yet established a link, or the device has not yet received link establishment information, then the Team Number is set to 0, meaning it does not carry the number of teams allocated to this island's channels and bandwidth, but only carries the channel score ranking information.
[0245] Based on the above embodiments, this application also provides an electronic device, such as a mobile phone, a tablet, a portable computer, or a smart speaker. Figure 15 As shown, the electronic device may include: a display screen 1501; one or more processors 1502; one or more memories 1503 for storing one or more programs 1504; the above devices may be connected via one or more communication buses 1505. The display screen 1501 may be used to display the content of a file in the electronic device; or the display screen 1501 may also be used to display the desktop of the electronic device; or the display screen 1501 may be used to display an image, etc.
[0246] When one or more programs 1504 stored in memory 1503 are executed by one or more processors 1502, the electronic device can be used to perform various steps in the various embodiments, such as performing... Figure 5 or Figure 7 The steps in the illustrated embodiment or other corresponding embodiments are shown. Of course, in some embodiments, the electronic device may also include a transceiver for communicating with other devices. It should be noted that the processor 1502 may be a processing module / processing unit, and the transceiver may be a transceiver module / communication interface, etc.
[0247] In some embodiments, the electronic device is used to implement the behavioral functions of the master device in the foregoing embodiments. The transceiver can then be used to receive channel scoring information from various slave devices, each channel scoring information indicating the degree of interference measured by the corresponding device for each channel; the processor can be used to generate first RRM information based on the received channel scoring information and the master device's channel scoring information, the first RRM information indicating the priority ranking of each channel, wherein a higher channel priority indicates a lower degree of interference; the transceiver is also used to send the first RRM information to each slave device.
[0248] As an optional implementation, the processor is further configured to measure each channel to obtain the channel score information of the master device before generating the first RRM information based on the received channel score information and the master device's channel score information.
[0249] As an optional implementation, the processor is specifically used for:
[0250] By merging channel interference information from multiple slave devices, target channel interference information is obtained, which includes the channel interference score and / or interference duty cycle of each channel.
[0251] First RRM information is generated based on target channel interference information.
[0252] As an optional implementation, the processor is specifically used to update the first RRM information based on one or more of the following factors: the channel interference score of each channel, the interference duty cycle of each channel, the service priority of the island corresponding to each channel, the remaining rate capacity of each channel, the total rate capacity of each channel, and the number of devices included in each island.
[0253] As an optional implementation, the processor is further configured to: determine, based on the service priority of the first island, that the remaining rate capacity of the first channel to be allocated to the first island does not meet the service requirements of the first island, reduce the priority of the first channel by one level, and update the first RRM information to the second RRM information.
[0254] As an optional implementation, the processor is further configured to determine that the master device meets the channel switching conditions; the transceiver is further configured to send a first notification frame to other devices within the island where the master device is located, the first notification frame being used to notify the other devices to switch to the alternative channel. The channel switching conditions include one or more of the following: service interruption, service latency exceeding a second preset threshold, or the second channel currently used by the master device being busy.
[0255] As an optional implementation, the processor is further configured to determine that the second slave device and the third slave device included in the second island are operating on multiple channels; the transceiver is further configured to send a first notification frame to the third slave device, the first notification frame being used to instruct the third slave device to switch to the channel where the second slave device is operating.
[0256] As an optional implementation, the processor is further configured to determine that the third island and the fourth island are operating on the third channel; the transceiver is further configured to send a second notification frame to the fourth island, the second notification frame being used to instruct the fourth island to switch from the third channel to the fourth channel.
[0257] In other embodiments, the electronic device is used to implement the behavioral functions of the first slave device in the aforementioned embodiments. The transceiver is used to send channel scoring information to the master device and receive first RRM information from the master device; the processor is used to switch from the first channel to a second channel based on the first RRM information when it determines that the interference level of the currently operating first channel is greater than a first preset threshold. The channel scoring information indicates the degree of interference measured by the first slave device for each channel; the higher the channel priority, the lower the interference level of the channel; the interference level of the first channel is greater than the interference level of the second channel.
[0258] As an optional implementation, the transceiver is specifically used for:
[0259] Upon the expiration of the first duration of the interference reporting timer, channel score information is sent to the master device. The interference reporting timer comprises multiple durations, each used for a portion of the slave devices to report their respective channel interference information.
[0260] As an optional implementation, the difference between the interference level of the first channel and the interference level of the second channel is greater than or equal to a second preset threshold.
[0261] As an optional implementation, the processor is further configured to determine that the first slave device meets the channel switching conditions; the transceiver is configured to send a first notification frame to other devices within the island where the first slave device is located, the first notification frame being used to notify the other devices to switch to the alternative channel. The channel switching conditions include one or more of the following: service interruption, service latency exceeding a second preset threshold, or the second channel being busy.
[0262] As an optional implementation, the transceiver is also used for:
[0263] A second notification frame is received from the master device, which instructs the first slave device to switch to the channel in which the second slave device operates. The first and second slave devices belong to the same island, but operate on different channels.
[0264] As an optional implementation, the transceiver is also used for:
[0265] A third notification frame is received from the master device, instructing the first slave device to switch from the fourth channel to the fifth channel. The fourth channel is a channel operated by multiple islands, and the first slave device belongs to one of these islands.
[0266] It should be noted that the division of units in this embodiment is illustrative and represents only one logical functional division. In actual implementation, other division methods may be used. The functional units in this embodiment can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. For example, in the above embodiment, the first acquisition unit and the second acquisition unit can be the same unit or different units. The integrated unit can be implemented in hardware, as a software functional unit, or a combination of hardware and software functional units.
[0267] As used in the above embodiments, depending on the context, the term "when..." can be interpreted as meaning "if...", "after...", "in response to determining...", or "in response to detecting...". Similarly, depending on the context, the phrase "when determining..." or "if (the stated condition or event) is interpreted as meaning "if determining...", "in response to determining...", "when (the stated condition or event) is detected", or "in response to detecting (the stated condition or event)".
[0268] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a program product. The program product includes one or more computer instructions. When the program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive), etc.
[0269] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.
Claims
1. A resource management method, characterized in that, Applied to a domain including a master device and multiple slave devices, wherein multiple interconnected devices within the domain form an island, and all devices within the domain form a distributed system, the method includes: The master device receives channel scoring information from each of the slave devices, wherein each channel scoring information is used to indicate the degree of interference of each channel measured by the corresponding slave device; the channel includes a traffic channel, on which the master device and the slave devices have equal roles; The master device generates first radio resource management (RRM) information based on the received channel scoring information and the master device's channel scoring information. The first RRM information is used to indicate the priority order of each channel, and is used by each device in the domain to determine whether the current channel needs to be changed. The higher the priority of the channel, the lower the interference level of the channel. The master device sends the first RRM information to each slave device.
2. The method as described in claim 1, characterized in that, The master device generates first RRM information based on the received channel scoring information and the master device's channel scoring information, including: The master device merges the channel interference information from the multiple slave devices to obtain target channel interference information, which includes the channel interference score and / or interference duty cycle of each channel. The first RRM information is generated based on the target channel interference information.
3. The method as described in claim 2, characterized in that, The method further includes: The master device updates the first RRM information based on one or more of the following factors: The channel interference score for each channel, the interference duty cycle for each channel, the service priority of the island corresponding to each channel, the remaining rate capacity of each channel, the total rate capacity of each channel, and the number of devices included in each island.
4. The method as described in claim 2 or 3, characterized in that, The method further includes: The master device determines, based on the service priority of the first island, that the remaining rate capacity of the first channel to be allocated on the first island does not meet the service requirements of the first island, reduces the priority of the first channel by one level, and updates the first RRM information to the second RRM information.
5. The method as described in claim 3, characterized in that, The method further includes: Before the master device generates the first RRM information based on the received channel scoring information and the master device's channel scoring information, the master device measures each channel to obtain the master device's channel scoring information.
6. The method according to any one of claims 1-3, characterized in that, The method further includes: If the master device determines that the master device meets the channel switching conditions, the channel switching conditions include one or more of the following: service interruption, service latency exceeding a second preset threshold, or the second channel currently being used by the master device being busy; The master device sends a first notification frame to other devices on the island where the master device is located. The first notification frame is used to notify the other devices to switch to the alternative channel.
7. The method according to any one of claims 1-3, characterized in that, The method further includes: If the master device determines that the second slave device and the third slave device included in the second island are operating on multiple channels, the master device sends a first notification frame to the third slave device. The first notification frame is used to instruct the third slave device to switch to the channel where the second slave device is operating.
8. The method according to any one of claims 1-3, characterized in that, The method further includes: If the master device determines that the third island and the fourth island are operating on the third channel, the master device sends a second notification frame to the fourth island, the second notification frame being used to instruct the fourth island to switch from the third channel to the fourth channel.
9. A resource management method, characterized in that, Applied to a domain including a master device and multiple slave devices, wherein the interconnected devices within the domain form an island, and all devices within the domain form a distributed system, wherein the multiple slave devices include a first slave device, the method includes: The first slave device sends channel scoring information to the master device. The channel scoring information is used to indicate the degree of interference of each channel measured by the first slave device. The channels include traffic channels. On the traffic channels, the roles of the master device and the slave device are equal. The first slave device receives first radio resource management (RRM) information from the master device. The first RRM information is used to indicate the priority order of each channel, and is used by each device in the domain to determine whether the current channel needs to be changed. The higher the priority of the channel, the lower the interference level of the channel. The first slave device, upon determining that the interference level of the currently operating first channel is greater than a first preset threshold, switches from the first channel to the second channel based on the first RRM information, wherein the interference level of the first channel is greater than the interference level of the second channel.
10. The method as described in claim 9, characterized in that, The first slave device sends channel scoring information to the master device, including: When the first slave device's interference reporting timer expires for a first duration, it sends the channel scoring information to the master device. The interference reporting timer includes multiple durations, each duration being used for some slave devices to report their respective channel interference information.
11. The method as described in claim 9 or 10, characterized in that, The difference between the interference level of the first channel and the interference level of the second channel is greater than or equal to a second preset threshold.
12. The method according to any one of claims 9-11, characterized in that, The method further includes: The first slave device determines that the first slave device meets the channel switching conditions, the channel switching conditions including one or more of the following: service interruption, service latency exceeding a second preset threshold, and the second channel being busy; The first slave device sends a first notification frame to other devices on the island where the first slave device is located. The first notification frame is used to notify the other devices to switch to the alternative channel.
13. The method according to any one of claims 9-11, characterized in that, The method further includes: The first slave device receives a second notification frame from the master device. The second notification frame is used to instruct the first slave device to switch to the channel in which the second slave device operates. The first slave device and the second slave device belong to the same island, and the first slave device and the second slave device operate on different channels.
14. The method according to any one of claims 9-11, characterized in that, The method further includes: The first slave device receives a third notification frame from the master device, the third notification frame being used to instruct the first slave device to switch from the fourth channel to the fifth channel, wherein the fourth channel is a channel in which multiple islands operate, and the first slave device belongs to one of the multiple islands.
15. An electronic device, characterized in that, The electronic device is any one of a plurality of electronic devices in a distributed system, the distributed system further comprising a second electronic device and a third electronic device. The electronic device includes a memory and at least one processing module coupled to the memory; the memory is used to store instructions, and the at least one processing module is used to execute the instructions; wherein, when the at least one processing module executes the instructions, the electronic device performs the method as described in any one of claims 1-8.
16. An electronic device, characterized in that, The electronic device is any one of a plurality of electronic devices in a distributed system, the distributed system further comprising a second electronic device and a third electronic device. The electronic device includes a memory and at least one processing module coupled to the memory; the memory is used to store instructions, and the at least one processing module is used to execute the instructions; wherein, when the at least one processing module executes the instructions, the electronic device performs the method as described in any one of claims 9-14.
17. A distributed system, characterized in that, Includes the electronic device as claimed in claim 15, and a plurality of electronic devices as claimed in claim 16.
18. A chip, characterized in that, The chip includes a processing module and an interface, the interface being used to communicate with the processing module and to receive information from other devices; the processing module is used to perform the method as described in any one of claims 1-14.
19. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions that, when invoked by an electronic device, cause the electronic device to perform the method as described in any one of claims 1-14.
Citation Information
Patent Citations
Adjustable window made of prismatic panes for daylight illumination of dark rooms
CH14940A
color distribution device on printing machines
CH15740A
new pendant for watch winders
CH16520A
Method of performing scheduling for d2d multicast communication in wireless communication system and apparatus therefor
US20160192326A1